00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00024 #ifndef __ze_zsound_h__
00025 #define __ze_zsound_h__
00026
00027 #include "ZE_ZEngine.h"
00028
00029 #ifdef USE_SDL_MIXER
00030
00031 namespace ZE
00032 {
00033
00039 class ZSound
00040 {
00041 protected:
00043 ZEngine* rEngine;
00045 Mix_Chunk* rSound;
00047 int rChannelID;
00048
00049 public:
00051 static const int LoopInfinite;
00052
00054
00056
00062 ZSound();
00063
00070 ZSound(string filename);
00071
00077 virtual ~ZSound();
00078
00085 void Open(string filename);
00086
00092 void Release();
00093
00095
00097
00106 void Play(int loopNum=0, int fadeTime=0);
00107
00113 void Pause() const;
00114
00120 void Unpause() const;
00121
00128 void Stop(int fadeTime=0) const;
00129
00136 void SetVolume(int volume);
00137
00139
00141
00148 bool IsLoaded() const;
00149
00156 bool IsPlaying() const;
00157
00164 bool IsPaused() const;
00165
00172 int Volume() const;
00173 };
00174
00175
00176 }
00177
00178 #endif //USE_SDL_MIXER
00179
00180 #endif //__ze_zsound_h__