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);
|
2020-11-29 16:50:49 +01:00
|
|
|
static void Idle();
|
2020-12-02 18:12:34 +01:00
|
|
|
static void Activate();
|
|
|
|
static void Deactivate();
|
|
|
|
static void Close();
|
2021-02-16 17:03:45 +01:00
|
|
|
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
|
|
|
};
|