From 950a3474d561c48b70a13fb638f169b7e8b34d60 Mon Sep 17 00:00:00 2001 From: Piotr Dziwinski Date: Sun, 26 May 2013 19:34:05 +0200 Subject: Refactored sound code * fixed formatting and naming to be uniform with rest of code * moved default implementation of CSound to cpp module --- src/sound/oalsound/alsound.h | 146 ++++++++++++++++++++++--------------------- 1 file changed, 75 insertions(+), 71 deletions(-) (limited to 'src/sound/oalsound/alsound.h') diff --git a/src/sound/oalsound/alsound.h b/src/sound/oalsound/alsound.h index b8afd4d..ad32204 100644 --- a/src/sound/oalsound/alsound.h +++ b/src/sound/oalsound/alsound.h @@ -15,86 +15,90 @@ // * You should have received a copy of the GNU General Public License // * along with this program. If not, see http://www.gnu.org/licenses/. -// alsound.h +/** + * \file alsound.h + * \brief OpenAL implementation of sound system + */ #pragma once +#include "common/logger.h" +#include "sound/sound.h" + +#include "sound/oalsound/buffer.h" +#include "sound/oalsound/channel.h" +#include "sound/oalsound/check.h" + #include #include #include -#include "common/logger.h" -#include "sound/sound.h" - -#include "buffer.h" -#include "channel.h" -#include "check.h" - class ALSound : public CSoundInterface { - public: - ALSound(); - ~ALSound(); - - bool Create(bool b3D); - bool Cache(Sound, std::string); - bool CacheMusic(std::string); - - bool GetEnable(); - - void SetSound3D(bool bMode); - bool GetSound3D(); - bool GetSound3DCap(); - - void SetAudioVolume(int volume); - int GetAudioVolume(); - void SetMusicVolume(int volume); - int GetMusicVolume(); - - void SetListener(Math::Vector eye, Math::Vector lookat); - void FrameMove(float rTime); - - int Play(Sound sound, float amplitude=1.0f, float frequency=1.0f, bool bLoop = false); - int Play(Sound sound, Math::Vector pos, float amplitude=1.0f, float frequency=1.0f, bool bLoop = false); - bool FlushEnvelope(int channel); - bool AddEnvelope(int channel, float amplitude, float frequency, float time, SoundNext oper); - bool Position(int channel, Math::Vector pos); - bool Frequency(int channel, float frequency); - bool Stop(int channel); - bool StopAll(); - bool MuteAll(bool bMute); - - bool PlayMusic(int rank, bool bRepeat); - bool PlayMusic(std::string filename, bool bRepeat); - bool RestartMusic(); - void SuspendMusic(); - void StopMusic(); - bool IsPlayingMusic(); - - // plugin interface - std::string PluginName(); - int PluginVersion(); - void InstallPlugin(); - bool UninstallPlugin(std::string &); - - private: - void CleanUp(); - int GetPriority(Sound); - bool SearchFreeBuffer(Sound sound, int &channel, bool &bAlreadyLoaded); - void ComputeVolumePan2D(int channel, Math::Vector &pos); - - bool mEnabled; - bool m3D; - float mAudioVolume; - float mMusicVolume; - ALCdevice* mDevice; - ALCcontext* mContext; - std::map mSounds; - std::map mMusic; - std::map mChannels; - Channel *mCurrentMusic; - Math::Vector mEye; - Math::Vector mLookat; +public: + ALSound(); + ~ALSound(); + + bool Create(bool b3D); + bool Cache(Sound, std::string); + bool CacheMusic(std::string); + + bool GetEnable(); + + void SetSound3D(bool bMode); + bool GetSound3D(); + bool GetSound3DCap(); + + void SetAudioVolume(int volume); + int GetAudioVolume(); + void SetMusicVolume(int volume); + int GetMusicVolume(); + + void SetListener(Math::Vector eye, Math::Vector lookat); + void FrameMove(float rTime); + + int Play(Sound sound, float amplitude=1.0f, float frequency=1.0f, bool bLoop = false); + int Play(Sound sound, Math::Vector pos, float amplitude=1.0f, float frequency=1.0f, bool bLoop = false); + bool FlushEnvelope(int channel); + bool AddEnvelope(int channel, float amplitude, float frequency, float time, SoundNext oper); + bool Position(int channel, Math::Vector pos); + bool Frequency(int channel, float frequency); + bool Stop(int channel); + bool StopAll(); + bool MuteAll(bool bMute); + + bool PlayMusic(int rank, bool bRepeat); + bool PlayMusic(std::string filename, bool bRepeat); + bool RestartMusic(); + void SuspendMusic(); + void StopMusic(); + bool IsPlayingMusic(); + + // plugin interface + std::string PluginName(); + int PluginVersion(); + void InstallPlugin(); + bool UninstallPlugin(std::string &); + +private: + void CleanUp(); + int GetPriority(Sound); + bool SearchFreeBuffer(Sound sound, int &channel, bool &bAlreadyLoaded); + void ComputeVolumePan2D(int channel, Math::Vector &pos); + + bool m_enabled; + bool m_3D; + float m_audioVolume; + float m_musicVolume; + ALCdevice* m_device; + ALCcontext* m_context; + std::map m_sounds; + std::map m_music; + std::map m_channels; + Channel *m_currentMusic; + Math::Vector m_eye; + Math::Vector m_lookat; }; + -- cgit v1.2.3-1-g7c22