00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00024
00025 #ifndef SFML_SOUND_HPP
00026 #define SFML_SOUND_HPP
00027
00029
00031 #include <cstdlib>
00032 #include <SFML/Audio/AudioResource.hpp>
00033
00034
00035 namespace sf
00036 {
00037 class SoundBuffer;
00038
00043 class SFML_API Sound : public AudioResource
00044 {
00045 public :
00046
00050 enum Status
00051 {
00052 Stopped,
00053 Paused,
00054 Playing
00055 };
00056
00061 Sound();
00062
00075 Sound(const SoundBuffer& Buffer, bool Loop = false, float Pitch = 1.f, float Volume = 100.f, float X = 0.f, float Y = 0.f, float Z = 0.f);
00076
00083 Sound(const Sound& Copy);
00084
00089 ~Sound();
00090
00095 void Play();
00096
00101 void Pause();
00102
00107 void Stop();
00108
00115 void SetBuffer(const SoundBuffer& Buffer);
00116
00124 void SetLoop(bool Loop);
00125
00133 void SetPitch(float Pitch);
00134
00142 void SetVolume(float Volume);
00143
00153 void SetPosition(float X, float Y, float Z);
00154
00161 const SoundBuffer* GetBuffer() const;
00162
00169 bool GetLoop() const;
00170
00177 float GetPitch() const;
00178
00185 float GetVolume() const;
00186
00195 void GetPosition(float& X, float& Y, float& Z) const;
00196
00203 Status GetStatus() const;
00204
00211 float GetPlayingOffset() const;
00212
00221 Sound& operator =(const Sound& Other);
00222
00223 private :
00224
00225 friend class SoundStream;
00226
00228
00230 unsigned int mySource;
00231 const SoundBuffer* myBuffer;
00232 };
00233
00234 }
00235
00236
00237 #endif // SFML_SOUND_HPP