windows-nt/Source/XPSP1/NT/multimedia/media/test/sbtest/sbtest.h
2020-09-26 16:20:57 +08:00

240 lines
6.2 KiB
C

/****************************************************************************
*
* 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;