mirror of
https://github.com/k4zmu2a/SpaceCadetPinball.git
synced 2024-09-28 17:59:28 +02:00
45 lines
1.1 KiB
C
45 lines
1.1 KiB
C
|
#pragma once
|
||
|
|
||
|
/* flag values for play params */
|
||
|
#define WMIX_QUEUEWAVE 0x00
|
||
|
#define WMIX_CLEARQUEUE 0x01
|
||
|
#define WMIX_USELRUCHANNEL 0x02
|
||
|
#define WMIX_HIPRIORITY 0x04
|
||
|
#define WMIX_WAIT 0x08
|
||
|
|
||
|
#define MAXCHANNELS 16
|
||
|
|
||
|
struct MIXWAVE
|
||
|
{
|
||
|
PCMWAVEFORMAT pcm;
|
||
|
WAVEHDR wh;
|
||
|
char szWaveFilename[16];
|
||
|
short Unknown0;
|
||
|
};
|
||
|
|
||
|
struct MIXPLAYPARAMS
|
||
|
{
|
||
|
WORD wSize;
|
||
|
HANDLE hMixSession;
|
||
|
int iChannel;
|
||
|
MIXWAVE* lpMixWave;
|
||
|
HWND hWndNotify;
|
||
|
DWORD dwFlags;
|
||
|
WORD wLoops;
|
||
|
};
|
||
|
|
||
|
class WaveMix
|
||
|
{
|
||
|
public:
|
||
|
static HANDLE Init();
|
||
|
static int CloseSession(HANDLE hMixSession);
|
||
|
static int OpenChannel(HANDLE hMixSession, int iChannel, unsigned int dwFlags);
|
||
|
static int CloseChannel(HANDLE hMixSession, int iChannel, unsigned int dwFlags);
|
||
|
static int FlushChannel(HANDLE hMixSession, int iChannel, unsigned int dwFlags);
|
||
|
static MIXWAVE* OpenWave(HANDLE hMixSession, LPCSTR szWaveFilename, HINSTANCE hInst, unsigned int dwFlags);
|
||
|
static int FreeWave(HANDLE hMixSession, MIXWAVE* lpMixWave);
|
||
|
static int Activate(HANDLE hMixSession, bool fActivate);
|
||
|
static void Pump();
|
||
|
static int Play(MIXPLAYPARAMS* lpMixPlayParams);
|
||
|
};
|