#define ID_MMINK          2000

#define AUDIOCTL_PLAY      365
#define AUDIOCTL_REC       366
#define AUDIOCTL_STOP      367
#define AUDIOCTL_VOL       368
#define AUDIOCTL_INFO      369
#define AUDIOCTL_DUR       370
#define AUDIOCTL_ELAP      371
#define AUDIOCTL_SCRL      373
#define AUDIO              372
#define AUDIOCTL_INFO_BOX   99

#define IDM_VOICE           10          /* Menu items */
#define IDM_ANNOT           11
#define IDM_EXIT            12

#define IDB_MMINK           14
#define IDD_AUDIO           15          /* AUDIO dialog */
#define CLIENTCX           600
#define CLIENTCY           440
#define CXAUDIOBUT          60
#define CYAUDIOBUT          40
#define ANWINSIZE          220

#define  IDLE_MODE           0
#define  PLAYING_MODE        1
#define  RECORDING_MODE      2

#define  WM_ACTIVEAUDIO      WM_USER+1
#define  UPPERA              0x41
#define  VIRTUAL_ID          100

HAB             hab;
HWND            hwndFrame, hwndClient, hwndAudio, hwndMenu, hwndInk;
BOOL            fAudioActive = FALSE,
                fFinish = FALSE,
                fAudioAvail = FALSE;
MMTIME          CurrMMTime;


MRESULT EXPENTRY AudioDlgProc (HWND, ULONG, MPARAM, MPARAM);
MRESULT EXPENTRY ClientWinProc (HWND, ULONG, MPARAM, MPARAM);
VOID SetText(HWND, PSZ, PSZ, PSZ, ULONG, ULONG, BOOL);

extern HWND APIENTRY InitTimedInk(HWND, MMTIME *);
extern BOOL APIENTRY RecordTimedInk(HWND);
extern BOOL APIENTRY PlayTimedInk(HWND);
extern BOOL APIENTRY StopTimedInk(HWND);
extern BOOL APIENTRY EraseTimedInk(HWND);
extern BOOL APIENTRY PurgeTimedInk(HWND);
extern BOOL APIENTRY InkTimedInk(HWND, MMTIME);
extern BOOL APIENTRY DestroyTimedInk(HWND);

extern LONG APIENTRY mmsrvSetVolume(USHORT);
extern LONG APIENTRY mmsrvAcquire(VOID);
extern LONG APIENTRY mmsrvRelease(VOID);
extern LONG APIENTRY mmsrvStop(VOID);
extern LONG APIENTRY mmsrvClose(VOID);
extern LONG APIENTRY mmsrvOpen(HWND);
extern LONG APIENTRY mmsrvPlay(HWND);
extern LONG APIENTRY mmsrvRecord(HWND);
