2015-01-11 03:46:10 +04:00
|
|
|
#pragma once
|
2016-04-25 13:49:12 +03:00
|
|
|
|
|
|
|
|
#ifdef _WIN32
|
2015-01-11 03:46:10 +04:00
|
|
|
|
|
|
|
|
#include "Emu/Audio/AudioThread.h"
|
2015-11-16 18:04:49 +03:00
|
|
|
|
2016-04-25 13:49:12 +03:00
|
|
|
#include "3rdparty/XAudio2_7/XAudio2.h"
|
2015-01-11 03:46:10 +04:00
|
|
|
|
|
|
|
|
class XAudio2Thread : public AudioThread
|
|
|
|
|
{
|
|
|
|
|
IXAudio2* m_xaudio2_instance;
|
|
|
|
|
IXAudio2MasteringVoice* m_master_voice;
|
|
|
|
|
IXAudio2SourceVoice* m_source_voice;
|
|
|
|
|
|
|
|
|
|
public:
|
2015-06-02 02:28:04 +03:00
|
|
|
XAudio2Thread();
|
2016-02-02 00:51:35 +03:00
|
|
|
virtual ~XAudio2Thread() override;
|
2015-01-11 03:46:10 +04:00
|
|
|
|
2016-02-02 00:51:35 +03:00
|
|
|
virtual void Play() override;
|
|
|
|
|
virtual void Open(const void* src, int size) override;
|
|
|
|
|
virtual void Close() override;
|
|
|
|
|
virtual void Stop() override;
|
|
|
|
|
virtual void AddData(const void* src, int size) override;
|
2015-01-11 03:46:10 +04:00
|
|
|
};
|
2016-04-25 13:49:12 +03:00
|
|
|
|
2015-11-16 18:04:49 +03:00
|
|
|
#endif
|