SpaceCadetPinball/SpaceCadetPinball/Sound.h

29 lines
984 B
C
Raw Normal View History

2020-11-06 14:56:32 +01:00
#pragma once
2021-01-23 17:28:29 +01:00
#include "WaveMix.h"
2020-11-06 14:56:32 +01:00
class Sound
2020-11-07 16:41:14 +01:00
{
public:
2021-01-23 17:28:29 +01:00
static int Init(HINSTANCE hInstance, int voices, void (* someFuncPtr)(int, MIXWAVE*, int));
static void Enable(int channelFrom, int channelTo, int enableFlag);
static void Idle();
2020-12-02 18:12:34 +01:00
static void Activate();
static void Deactivate();
static void Close();
static void PlaySound(MIXWAVE* wavePtr, int minChannel, int maxChannel, unsigned int dwFlags, int16_t loops);
2021-01-23 17:28:29 +01:00
static MIXWAVE* LoadWaveFile(LPCSTR lpName);
static void FreeSound(MIXWAVE* wave);
static void Flush(int channelFrom, int channelTo);
static void NullCallback(int a1, MIXWAVE* a2, int a3);
static LRESULT __stdcall SoundCallBackWndProc(HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam);
private:
static int num_channels;
static HWND wavemix_window;
static HANDLE pMem;
static unsigned int enabled_flag;
static int channel_time[8];
static MIXWAVE* channel_wavePtr[8];
static void (* callback_ptr)(int, MIXWAVE*, int);
static HMODULE HInstance;
2020-11-06 14:56:32 +01:00
};