Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008 #ifndef __SP_AUDIO_SOUNDDEVICE_XAUDIO2_H__
00009 #define __SP_AUDIO_SOUNDDEVICE_XAUDIO2_H__
00010
00011
00012 #include "Base/spStandard.hpp"
00013
00014 #if defined(SP_COMPILE_WITH_XAUDIO2)
00015
00016
00017 #include "SoundSystem/spSoundDevice.hpp"
00018 #include "SoundSystem/XAudio2/spXAudio2Sound.hpp"
00019
00020
00021 namespace sp
00022 {
00023 namespace audio
00024 {
00025
00026
00027 class SP_EXPORT XAudio2SoundDevice : public SoundDevice
00028 {
00029
00030 public:
00031
00032 XAudio2SoundDevice();
00033 ~XAudio2SoundDevice();
00034
00035
00036
00037 io::stringc getInterface() const;
00038
00039 Sound* createSound();
00040
00041 private:
00042
00043 friend class XAudio2Sound;
00044
00045
00046
00047
00048
00049
00050
00051 template <class T> static inline void releaseObject(T* &Object)
00052 {
00053 if (Object)
00054 {
00055 Object->Release();
00056 Object = 0;
00057 }
00058 }
00059
00060
00061
00062 IXAudio2* Device_;
00063 IXAudio2MasteringVoice* MasterVoice_;
00064
00065 };
00066
00067
00068 }
00069
00070 }
00071
00072
00073 #endif
00074
00075 #endif
00076
00077
00078
00079