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_SOUNDSOURCE_HPP
00026 #define SFML_SOUNDSOURCE_HPP
00027
00029
00031 #include <SFML/Config.hpp>
00032 #include <SFML/System/Vector3.hpp>
00033
00034
00035 namespace sf
00036 {
00041 class SFML_API SoundSource
00042 {
00043 public :
00044
00049 enum Status
00050 {
00051 Stopped,
00052 Paused,
00053 Playing
00054 };
00055
00062 SoundSource(const SoundSource& copy);
00063
00068 virtual ~SoundSource();
00069
00084 void SetPitch(float pitch);
00085
00097 void SetVolume(float volume);
00098
00113 void SetPosition(float x, float y, float z);
00114
00127 void SetPosition(const Vector3f& position);
00128
00143 void SetRelativeToListener(bool relative);
00144
00160 void SetMinDistance(float distance);
00161
00179 void SetAttenuation(float attenuation);
00180
00189 float GetPitch() const;
00190
00199 float GetVolume() const;
00200
00209 Vector3f GetPosition() const;
00210
00220 bool IsRelativeToListener() const;
00221
00230 float GetMinDistance() const;
00231
00240 float GetAttenuation() const;
00241
00242 protected :
00243
00250 SoundSource();
00251
00258 Status GetStatus() const;
00259
00261
00263 unsigned int mySource;
00264 };
00265
00266 }
00267
00268
00269 #endif // SFML_SOUNDSOURCE_HPP
00270
00271