00001 /* 00002 * WinMM sound device header 00003 * 00004 * This file is part of the "SoftPixel Engine" (Copyright (c) 2008 by Lukas Hermanns) 00005 * See "SoftPixelEngine.hpp" for license information. 00006 */ 00007 00008 #ifndef __SP_AUDIO_SOUNDDEVICE_WINMM_H__ 00009 #define __SP_AUDIO_SOUNDDEVICE_WINMM_H__ 00010 00011 00012 #include "Base/spStandard.hpp" 00013 00014 #if defined(SP_COMPILE_WITH_WINMM) 00015 00016 00017 #include "SoundSystem/spSoundDevice.hpp" 00018 #include "SoundSystem/WinMM/spWinMMSound.hpp" 00019 00020 00021 namespace sp 00022 { 00023 namespace audio 00024 { 00025 00026 00027 class SP_EXPORT WinMMSoundDevice : public SoundDevice 00028 { 00029 00030 public: 00031 00032 WinMMSoundDevice(); 00033 ~WinMMSoundDevice(); 00034 00035 /* Functions */ 00036 00037 io::stringc getInterface() const; 00038 00039 Sound* createSound(); 00040 00041 private: 00042 00043 friend class WinMMSound; 00044 00045 /* Functions */ 00046 00047 static std::string sendMessageMCI(const io::stringc &Message); 00048 static void sendMessageMCI(const io::stringc &Message, c8* Buffer, u32 Length); 00049 00050 }; 00051 00052 00053 } // /namespace audio 00054 00055 } // /namespace sp 00056 00057 00058 #endif 00059 00060 #endif 00061 00062 00063 00064 // ================================================================================