00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00020 #ifndef __ze_zsound_h__
00021 #define __ze_zsound_h__
00022
00023 #include "ZE_ZEngine.h"
00024
00025 #ifdef USE_SDL_MIXER
00026
00027 namespace ZE
00028 {
00029
00035 class ZSound
00036 {
00037 protected:
00039 ZEngine* rEngine;
00041 Mix_Chunk* rSound;
00043 int rChannelID;
00044
00045 public:
00047 static const int LoopInfinite;
00048
00050
00052
00058 ZSound();
00059
00066 ZSound(std::string filename);
00067
00073 virtual ~ZSound();
00074
00081 void Open(std::string filename);
00082
00090 void OpenFromZip(std::string zipname, std::string filename);
00091
00097 void Release();
00098
00100
00102
00111 void Play(int loopNum=0, int fadeTime=0);
00112
00118 void Pause() const;
00119
00125 void Unpause() const;
00126
00133 void Stop(int fadeTime=0) const;
00134
00141 void SetVolume(int volume);
00142
00144
00146
00153 bool IsLoaded() const;
00154
00161 bool IsPlaying() const;
00162
00169 bool IsPaused() const;
00170
00177 int Volume() const;
00178 };
00179
00180
00181 }
00182
00183 #endif //USE_SDL_MIXER
00184
00185 #endif //__ze_zsound_h__