/* Dialog Box ID's */
#include "menu.h"
#include "dialog.h"

/*********************************************************************/
/* Global Function Prototypes                                        */
/*********************************************************************/

/* main.c */
int NEAR PASCAL WinMain(HANDLE, HANDLE, LPSTR, int);
long FAR PASCAL WinProc(HWND, unsigned, WORD, LONG);
void            WinMenuCommand(HWND, int);
int             GoDialogBox(HANDLE, LPSTR, HWND, FARPROC);
BOOL FAR PASCAL About(HWND, unsigned, WORD, LONG);

/* init.c */
BOOL            InitApplication(HANDLE);
BOOL            InitInstance(HANDLE, int);

/* edit.c */
long            EditProc(HWND, unsigned, WORD, LONG);
void            EditMenuCommand(HWND, int);
void            EditPutString(char *);

/* fpaste.c */
void            PasteMenuCommand(HWND, int);
BOOL FAR PASCAL DlgCountVoiceNotes(HWND, unsigned, WORD, LONG);
BOOL FAR PASCAL DlgSetSoundNoise(HWND, unsigned, WORD, LONG);
BOOL FAR PASCAL DlgSetVoiceAccent(HWND, unsigned, WORD, LONG);
BOOL FAR PASCAL DlgSetVoiceEnvelope(HWND, unsigned, WORD, LONG);
BOOL FAR PASCAL DlgSetVoiceNote(HWND, unsigned, WORD, LONG);
BOOL FAR PASCAL DlgSetVoiceSound(HWND, unsigned, WORD, LONG);
BOOL FAR PASCAL DlgSetVoiceQueueSize(HWND, unsigned, WORD, LONG);
BOOL FAR PASCAL DlgSetVoiceThreshold(HWND, unsigned, WORD, LONG);
BOOL FAR PASCAL DlgWaitSoundState(HWND, unsigned, WORD, LONG);

/* play.c */
void            Play(void);
BOOL            PlayNoteConvert(char *, int *);

/* file.c */
void            FileNew(HWND hWnd);
void            FileOpen(HWND hWnd);
void            FileSave(HWND hWnd);
void            FileSaveAs(HWND hWnd);
BOOL            FileQuerySave(HWND Hdlg);

/*********************************************************************/
/* Global data and structures                                        */
/*********************************************************************/

#define MAXFILESIZE 32000

extern HANDLE  hAccelTable;
extern HANDLE  hInst;
extern HWND    hWindow;
extern HMENU   hMenu;
extern HWND    hEditWindow;
extern HANDLE  hHourGlass;
extern HANDLE  hNote;
extern HANDLE  hText;
extern HANDLE  hData, hClipData;
extern LPSTR   lpData, lpClipData;

extern char    WindowName[];
extern char    ClassName[];
extern char    HelpFileName[80];

typedef struct {
  int open;
  int numvoices;
  int source;
  int voice;
  int tempo;
  int volume;
  int mode;
  int pitch;
  int value;
  int length;
  int cdots;
  int shape;
  int repeat;
  long lfreq;
  int frequency;
  int fraction;
  int duration;
  int qsize;
  int tcount;
  int waitstate;
} SndDef;

/*********************************************************************/
/* Control IDs                                                       */
/*********************************************************************/

#define     IDC_FILENAME         0x400
#define     IDC_EDIT             0x401
#define     IDC_FILES            0x402
#define     IDC_PATH             0x403
#define     IDC_LISTBOX          0x404

