SFML - Simple and Fast Multimedia Library
Main Page
Namespaces
Classes
Files
File List
Sound.hpp00001
00002 //
00003 // SFML - Simple and Fast Multimedia Library
00004 // Copyright (C) 2007-2009 Laurent Gomila (laurent.gom@gmail.com)
00005 //
00006 // This software is provided 'as-is', without any express or implied warranty.
00007 // In no event will the authors be held liable for any damages arising from the use of this software.
00008 //
00009 // Permission is granted to anyone to use this software for any purpose,
00010 // including commercial applications, and to alter it and redistribute it freely,
00011 // subject to the following restrictions:
00012 //
00013 // 1. The origin of this software must not be misrepresented;
00014 // you must not claim that you wrote the original software.
00015 // If you use this software in a product, an acknowledgment
00016 // in the product documentation would be appreciated but is not required.
00017 //
00018 // 2. Altered source versions must be plainly marked as such,
00019 // and must not be misrepresented as being the original software.
00020 //
00021 // 3. This notice may not be removed or altered from any source distribution.
00022 //
00024
00025 #ifndef SFML_SOUND_HPP
00026 #define SFML_SOUND_HPP
00027
00029 // Headers
00031 #include <SFML/System/Resource.hpp>
00032 #include <SFML/System/Vector3.hpp>
00033 #include <SFML/Audio/AudioResource.hpp>
00034 #include <cstdlib>
00035
00036
00037 namespace sf
00038 {
00039 class SoundBuffer;
00040
00045 class SFML_API Sound : public AudioResource
00046 {
00047 public :
00048
00052 enum Status
00053 {
00054 Stopped,
00055 Paused,
00056 Playing
00057 };
00058
00063 Sound();
00064
00075 explicit Sound(const SoundBuffer& Buffer, bool Loop = false, float Pitch = 1.f, float Volume = 100.f, const Vector3f& Position = Vector3f(0, 0, 0));
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
00151 void SetPosition(float X, float Y, float Z);
00152
00160 void SetPosition(const Vector3f& Position);
00161
00170 void SetRelativeToListener(bool Relative);
00171
00180 void SetMinDistance(float MinDistance);
00181
00190 void SetAttenuation(float Attenuation);
00191
00198 void SetPlayingOffset(float TimeOffset);
00199
00206 const SoundBuffer* GetBuffer() const;
00207
00214 bool GetLoop() const;
00215
00222 float GetPitch() const;
00223
00230 float GetVolume() const;
00231
00238 Vector3f GetPosition() const;
00239
00247 bool IsRelativeToListener() const;
00248
00255 float GetMinDistance() const;
00256
00263 float GetAttenuation() const;
00264
00271 Status GetStatus() const;
00272
00279 float GetPlayingOffset() const;
00280
00289 Sound& operator =(const Sound& Other);
00290
00298 void ResetBuffer();
00299
00300 private :
00301
00302 friend class SoundStream;
00303
00305 // Member data
00307 unsigned int mySource;
00308 ResourcePtr<SoundBuffer> myBuffer;
00309 };
00310
00311 } // namespace sf
00312
00313
00314 #endif // SFML_SOUND_HPP
:: Copyright © 2007-2008 Laurent Gomila, all rights reserved ::
Documentation generated by doxygen 1.5.2 ::
Wyszukiwarka
Podobne podstrony:
Arial 8hpp sourceSleep 8hpp sourceWin32 2Thread 8hpp sourceMutex 8hpp sourceFontLoader 8hpp sourceColor 8hpp sourceIPAddress 8hpp sourceSoundFileDefault 8hpp sourceNetwork 8hpp sourceSoundStream 8hpp sourceSelector 8hpp sourceVideoModeSupport 8hpp sourceMatrix3 8hpp sourceRandomizer 8hpp sourceContext 8hpp sourceUnicode 8hpp sourceImageLoader 8hpp sourceWindowImplWin32 8hpp sourceSocketUDP 8hpp sourcewięcej podobnych podstron