Go to the documentation of this file.00001
00019
00020 struct IXAudio2SourceVoice;
00021 struct tWAVEFORMATEX;
00022 typedef tWAVEFORMATEX WAVEFORMATEX;
00023
00024 namespace Ovgl
00025 {
00026 extern "C"
00027 {
00028 class Instance;
00029 class AudioBuffer;
00030 class AudioInstance;
00031 class AudioVoice;
00032 class Emitter;
00033
00034 class __declspec(dllexport) AudioBuffer
00035 {
00036 public:
00037 Instance* Inst;
00038 std::vector<char> data;
00039 WAVEFORMATEX* format;
00040 IXAudio2* xaudio;
00041 AudioInstance* CreateAudioInstance( Emitter* emitter );
00042 };
00043
00044 class __declspec(dllexport) AudioInstance
00045 {
00046 public:
00047 Emitter* emitter;
00048 std::vector<AudioVoice*> voices;
00049 bool paused;
00050 void Play( bool loop );
00051 void Stop();
00052 void Pause();
00053 void Set();
00054 };
00055
00056 class __declspec(dllexport) AudioVoice
00057 {
00058 public:
00059 AudioInstance* instance;
00060 IXAudio2SourceVoice* voice;
00061 };
00062 }
00063 }