/**************************************************************************** * * sbtest.h * * Copyright (c) 1991 Microsoft Corporation. All Rights Reserved. * ***************************************************************************/ #include "options.h" #include "record.h" #include "riff.h" #include "stdio.h" #define dbgOut wpfOut(hPrintfWnd, ach) extern char ach[256]; /**************************************************************************** * * defines * ***************************************************************************/ #define MAXFILENAME 256 // string resource ids #define IDS_APPNAME 1 // menu ids #define IDM_ABOUT 101 #define IDM_EXIT 102 #define IDM_PLAYWAVE 201 #define IDM_SNDPLAYSOUND 202 #define IDM_LOOPOFF 211 #define IDM_LOOP2 212 #define IDM_LOOP100 213 #define IDM_LOOPBREAK 214 #define IDM_RESET 221 #define IDM_POSITION 222 #define IDM_PAUSE 223 #define IDM_RESUME 224 #define IDM_VOLUME 225 #define IDM_AUX_VOLUME 226 #define IDM_RECORD 231 #define IDM_D0 301 #define IDM_D1 302 #define IDM_D2 303 #define IDM_D3 304 #define IDM_D4 305 #define IDM_D5 306 #define IDM_D6 307 #define IDM_D7 308 #define IDM_D8 309 #define IDM_D9 310 #define IDM_D10 311 #define IDM_D11 312 #define IDM_D12 313 #define IDM_D13 314 #define IDM_D14 315 #define IDM_D15 316 #define LASTPORT 15 #define IDM_D0 301 #define IDM_D1 302 #define IDM_D2 303 #define IDM_D3 304 #define IDM_D4 305 #define IDM_D5 306 #define IDM_D6 307 #define IDM_D7 308 #define IDM_D8 309 #define IDM_D9 310 #define IDM_D10 311 #define IDM_D11 312 #define IDM_D12 313 #define IDM_D13 314 #define IDM_D14 315 #define IDM_D15 316 #define LASTPORT 15 #define IDM_C0 321 #define IDM_C1 322 #define IDM_C2 323 #define IDM_C3 324 #define IDM_C4 325 #define IDM_C5 326 #define IDM_C6 327 #define IDM_C7 328 #define IDM_C8 329 #define IDM_C9 330 #define IDM_C10 331 #define IDM_C11 332 #define IDM_C12 333 #define IDM_C13 334 #define IDM_C14 335 #define IDM_C15 336 #define IDM_INSTRUMENT 341 #define IDM_KEYBOARD 342 #define IDM_I0 401 #define IDM_I1 402 #define IDM_I2 403 #define IDM_I3 404 #define IDM_I4 405 #define IDM_I5 406 #define IDM_I6 407 #define IDM_I7 408 #define IDM_I8 409 #define IDM_I9 410 #define IDM_I10 411 #define IDM_I11 412 #define IDM_I12 413 #define IDM_I13 414 #define IDM_I14 415 #define IDM_I15 416 #define IDM_STARTMIDIIN 417 #define IDM_STOPMIDIIN 418 #define IDM_GETINFO 501 #define IDM_DUMPNOTES 601 #define IDM_DUMPPATCH 602 #define IDM_RIP 603 #define IDM_WAVEOPTIONS 701 #define IDM_MIDIOPTIONS 702 #define IDM_PROFSTART 801 #define IDM_PROFSTOP 802 // miscellaneous defines #define MAXPLAYERS 100 #define NOTEVELOCITY 80 #define DEBUG_PATCH 1 #define DEBUG_NOTE 2 #define ISBITSET(f,b) ((f) & (b)) #define SETBIT(f,b) ((f)|=(b)) #define RESETBIT(f,b) ((f)&=(~b)) /**************************************************************************** * * typedefs * ***************************************************************************/ typedef union shortmsg_tag { BYTE b[4]; DWORD dw; } SHORTMSG; typedef struct playitem_tag { LPWAVEHDR lpHdr; LPSTR lpData; HANDLE hMem; HANDLE hData; BOOL bResource; } PLAYITEM; /**************************************************************************** * * extern declarations * ***************************************************************************/ // about.c extern void About(HWND hWnd); extern int FAR PASCAL AboutDlgProc(HWND, unsigned, UINT, LONG); // callback.c extern void FAR PASCAL SBMidiInCallback(HMIDIIN hMidiIn, UINT wMsg, DWORD dwInstance, DWORD dwParam1, DWORD dwParam2); // init.c extern HANDLE hAccTable; extern int gInstBase; extern HWND hMainWnd; extern BOOL InitFirstInstance(HANDLE hInstance); extern BOOL InitEveryInstance(HANDLE hInstance, int cmdShow); extern void InitMenus(HWND hWnd); extern int sbtestError(LPSTR msg); // inst.c extern HWND hInstWnd; extern BYTE bInstrument; extern void CreateInstrument(HWND hWnd); extern long FAR PASCAL InstWndProc(HWND, unsigned, UINT, LONG); // keyb.c extern HWND hKeyWnd; extern void CreateKeyboard(HWND hParent); extern long FAR PASCAL KeyWndProc(HWND, unsigned, UINT, LONG); // options.c extern void WaveOptions(HWND hWnd); extern int FAR PASCAL WaveOptionsDlgProc(HWND, unsigned, UINT, LONG); extern void MidiOptions(HWND hWnd); extern int FAR PASCAL MidiOptionsDlgProc(HWND, unsigned, UINT, LONG); // playfile.c extern HWAVEOUT hWaveOut; extern int iWaveOut; extern void PlayFile(LPSTR fname); // pos.c extern HWND hPosWnd; extern void CreatePosition(HWND hParent); extern long FAR PASCAL PosWndProc(HWND, unsigned, UINT, LONG); extern void ShowPos(void); // record.c extern HWAVEIN hWaveIn; extern void Record(HWND hWnd); extern int FAR PASCAL RecordDlgProc(HWND, unsigned, UINT, LONG); // sbtest.c extern HMIDIOUT hMidiOut; extern HANDLE ghInst; extern char szAppName[]; extern HWND hPrintfWnd; extern int fDebug; extern BYTE bChannel; extern UINT wLoops; extern void GetInfo(void); extern int PASCAL WinMain(HANDLE, HANDLE, LPSTR, int); extern long FAR PASCAL MainWndProc(HWND, unsigned, UINT, LONG); extern LPSTR lpRecordBuf; extern DWORD dwBlockSize; extern DWORD dwRecorded; extern DWORD dwDataSize;