diff options
author | Piotr Dziwinski <piotrdz@gmail.com> | 2013-05-26 19:34:05 +0200 |
---|---|---|
committer | Piotr Dziwinski <piotrdz@gmail.com> | 2013-05-27 10:19:16 +0200 |
commit | 950a3474d561c48b70a13fb638f169b7e8b34d60 (patch) | |
tree | c284b167190cc44d59684b3ab517648eaa5b65d6 /src/sound/oalsound/channel.h | |
parent | 8765d58b02c9afd00186bae4a0045dff32f7d102 (diff) | |
download | colobot-950a3474d561c48b70a13fb638f169b7e8b34d60.tar.gz colobot-950a3474d561c48b70a13fb638f169b7e8b34d60.tar.bz2 colobot-950a3474d561c48b70a13fb638f169b7e8b34d60.zip |
Refactored sound code
* fixed formatting and naming to be uniform with rest of code
* moved default implementation of CSound to cpp module
Diffstat (limited to 'src/sound/oalsound/channel.h')
-rw-r--r-- | src/sound/oalsound/channel.h | 152 |
1 files changed, 78 insertions, 74 deletions
diff --git a/src/sound/oalsound/channel.h b/src/sound/oalsound/channel.h index c0b0436..a04b509 100644 --- a/src/sound/oalsound/channel.h +++ b/src/sound/oalsound/channel.h @@ -14,10 +14,18 @@ // * You should have received a copy of the GNU General Public License // * along with this program. If not, see http://www.gnu.org/licenses/. -// channel.h +/** + * \file channel.h + * \brief OpenAL channel + */ #pragma once +#include "sound/sound.h" + +#include "sound/oalsound/buffer.h" +#include "sound/oalsound/check.h" + #include <string> #include <deque> #include <cassert> @@ -25,11 +33,6 @@ #include <AL/al.h> #include <AL/alc.h> -#include "sound/sound.h" - -#include "buffer.h" -#include "check.h" - struct SoundOper { float finalAmplitude; @@ -42,72 +45,73 @@ struct SoundOper class Channel { - public: - Channel(); - ~Channel(); - - bool Play(); - bool Stop(); - - bool SetPan(Math::Vector); - void SetPosition(Math::Vector); - Math::Vector GetPosition(); - - bool SetFrequency(float); - float GetFrequency(); - - float GetCurrentTime(); - void SetCurrentTime(float); - float GetDuration(); - - bool SetVolume(float); - float GetVolume(); - void SetVolumeAtrib(float); - float GetVolumeAtrib(); - - bool IsPlaying(); - bool IsReady(); - bool IsLoaded(); - - bool SetBuffer(Buffer *); - bool FreeBuffer(); - - bool HasEnvelope(); - SoundOper& GetEnvelope(); - void PopEnvelope(); - - int GetPriority(); - void SetPriority(int); - - void SetStartAmplitude(float); - void SetStartFrequency(float); - void SetChangeFrequency(float); - - float GetStartAmplitude(); - float GetStartFrequency(); - float GetChangeFrequency(); - float GetInitFrequency(); - - void AddOper(SoundOper); - void ResetOper(); - Sound GetSoundType(); - void SetLoop(bool); - void Mute(bool); - bool IsMuted(); - - private: - Buffer *mBuffer; - ALuint mSource; - - int mPriority; - float mStartAmplitude; - float mStartFrequency; - float mChangeFrequency; - float mInitFrequency; - float mVolume; - std::deque<SoundOper> mOper; - bool mReady; - bool mLoop; - bool mMute; - Math::Vector mPosition; +public: + Channel(); + ~Channel(); + + bool Play(); + bool Stop(); + + bool SetPan(Math::Vector); + void SetPosition(Math::Vector); + Math::Vector GetPosition(); + + bool SetFrequency(float); + float GetFrequency(); + + float GetCurrentTime(); + void SetCurrentTime(float); + float GetDuration(); + + bool SetVolume(float); + float GetVolume(); + void SetVolumeAtrib(float); + float GetVolumeAtrib(); + + bool IsPlaying(); + bool IsReady(); + bool IsLoaded(); + + bool SetBuffer(Buffer *); + bool FreeBuffer(); + + bool HasEnvelope(); + SoundOper& GetEnvelope(); + void PopEnvelope(); + + int GetPriority(); + void SetPriority(int); + + void SetStartAmplitude(float); + void SetStartFrequency(float); + void SetChangeFrequency(float); + + float GetStartAmplitude(); + float GetStartFrequency(); + float GetChangeFrequency(); + float GetInitFrequency(); + + void AddOper(SoundOper); + void ResetOper(); + Sound GetSoundType(); + void SetLoop(bool); + void Mute(bool); + bool IsMuted(); + +private: + Buffer *m_buffer; + ALuint m_source; + + int m_priority; + float m_startAmplitude; + float m_startFrequency; + float m_changeFrequency; + float m_initFrequency; + float m_volume; + std::deque<SoundOper> m_oper; + bool m_ready; + bool m_loop; + bool m_mute; + Math::Vector m_position; }; + |