From ff2dd2d0218cea258446af2c781298192404aa68 Mon Sep 17 00:00:00 2001 From: Christoph Egger Date: Tue, 20 May 2008 13:58:13 +0200 Subject: Imported Upstream version 1.2 --- doc/html/SoundStream_8hpp-source.htm | 127 +++++++++++++++++++++++++++++++++++ 1 file changed, 127 insertions(+) create mode 100755 doc/html/SoundStream_8hpp-source.htm (limited to 'doc/html/SoundStream_8hpp-source.htm') diff --git a/doc/html/SoundStream_8hpp-source.htm b/doc/html/SoundStream_8hpp-source.htm new file mode 100755 index 0000000..6279c18 --- /dev/null +++ b/doc/html/SoundStream_8hpp-source.htm @@ -0,0 +1,127 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + +
+ +
+

SoundStream.hpp

00001 
+00002 //
+00003 // SFML - Simple and Fast Multimedia Library
+00004 // Copyright (C) 2007 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_SOUNDSTREAM_HPP
+00026 #define SFML_SOUNDSTREAM_HPP
+00027 
+00029 // Headers
+00031 #include <SFML/Audio/Sound.hpp>
+00032 #include <SFML/System/Thread.hpp>
+00033 #include <cstdlib>
+00034 
+00035 
+00036 namespace sf
+00037 {
+00044 class SFML_API SoundStream : private Thread, private Sound
+00045 {
+00046 public :
+00047 
+00048     using Sound::Status;
+00049     using Sound::Stopped;
+00050     using Sound::Paused;
+00051     using Sound::Playing;
+00052     using Sound::Pause;
+00053     using Sound::SetPitch;
+00054     using Sound::SetVolume;
+00055     using Sound::SetPosition;
+00056     using Sound::GetPitch;
+00057     using Sound::GetVolume;
+00058     using Sound::GetPosition;
+00059 
+00063     struct Chunk
+00064     {
+00065         const Int16* Samples;   
+00066         std::size_t  NbSamples; 
+00067     };
+00068 
+00073     virtual ~SoundStream();
+00074 
+00079     void Play();
+00080 
+00085     void Stop();
+00086 
+00093     unsigned int GetChannelsCount() const;
+00094 
+00101     unsigned int GetSampleRate() const;
+00102 
+00109     Status GetStatus() const;
+00110 
+00111 protected :
+00112 
+00117     SoundStream();
+00118 
+00126     void Initialize(unsigned int ChannelsCount, unsigned int SampleRate);
+00127 
+00128 private :
+00129 
+00134     virtual void Run();
+00135 
+00142     virtual bool OnStart();
+00143 
+00152     virtual bool OnGetData(Chunk& Data) = 0;
+00153 
+00158     void CleanUp();
+00159 
+00160     enum {BuffersCount = 2};
+00161 
+00163     // Member data
+00165     bool          myIsStreaming;           
+00166     unsigned int  myBuffers[BuffersCount]; 
+00167     unsigned int  myChannelsCount;         
+00168     unsigned int  mySampleRate;            
+00169     unsigned long myFormat;                
+00170 };
+00171 
+00172 } // namespace sf
+00173 
+00174 
+00175 #endif // SFML_SOUNDSTREAM_HPP
+
+ + + + -- cgit v1.2.3