Etterna 0.74.4
Loading...
Searching...
No Matches
RageSoundDriver_WaveOut.h
1#ifndef RAGE_SOUND_WAVEOUT_H
2#define RAGE_SOUND_WAVEOUT_H
3
4#include "RageSoundDriver.h"
5#include "RageUtil/Misc/RageThreads.h"
6#include <windows.h>
7#include <mmsystem.h>
8
10{
11 public:
14 std::string Init();
15
16 int64_t GetPosition() const;
17 float GetPlayLatency() const;
18 int GetSampleRate() const { return m_iSampleRate; }
19
20 private:
21 static int MixerThread_start(void* p);
22 void MixerThread();
23 RageThread MixingThread;
24 bool GetData();
25 void SetupDecodingThread();
26
27 HWAVEOUT m_hWaveOut;
28 HANDLE m_hSoundEvent;
29 WAVEHDR m_aBuffers[8];
30 int m_iSampleRate;
31 bool m_bShutdown;
32 int m_iLastCursorPos;
33};
34
35#endif
Definition RageSoundDriver_WaveOut.h:10
Definition RageSoundDriver.h:15
Thread, mutex, semaphore, and event classes.
Definition RageThreads.h:155