summaryrefslogtreecommitdiff
path: root/include/SFML/Audio/.svn/text-base/SoundRecorder.hpp.svn-base
diff options
context:
space:
mode:
authorChristoph Egger <Christoph.Egger@gmx.de>2008-11-01 18:41:44 +0100
committerChristoph Egger <Christoph.Egger@gmx.de>2008-11-01 18:41:44 +0100
commit58905d98572ab7078eda45bbb50fd1cbf900e7d2 (patch)
treee6731fb6ac94377b0dc2f5634f764506e1adf8e4 /include/SFML/Audio/.svn/text-base/SoundRecorder.hpp.svn-base
parent9035708f4c5f7a78d8fb810e87e183fd61fd3350 (diff)
* Removing .svn entries got in by accident
* Do repacking
Diffstat (limited to 'include/SFML/Audio/.svn/text-base/SoundRecorder.hpp.svn-base')
-rw-r--r--include/SFML/Audio/.svn/text-base/SoundRecorder.hpp.svn-base148
1 files changed, 0 insertions, 148 deletions
diff --git a/include/SFML/Audio/.svn/text-base/SoundRecorder.hpp.svn-base b/include/SFML/Audio/.svn/text-base/SoundRecorder.hpp.svn-base
deleted file mode 100644
index 9f4767e..0000000
--- a/include/SFML/Audio/.svn/text-base/SoundRecorder.hpp.svn-base
+++ /dev/null
@@ -1,148 +0,0 @@
-////////////////////////////////////////////////////////////
-//
-// SFML - Simple and Fast Multimedia Library
-// Copyright (C) 2007-2008 Laurent Gomila (laurent.gom@gmail.com)
-//
-// This software is provided 'as-is', without any express or implied warranty.
-// In no event will the authors be held liable for any damages arising from the use of this software.
-//
-// Permission is granted to anyone to use this software for any purpose,
-// including commercial applications, and to alter it and redistribute it freely,
-// subject to the following restrictions:
-//
-// 1. The origin of this software must not be misrepresented;
-// you must not claim that you wrote the original software.
-// If you use this software in a product, an acknowledgment
-// in the product documentation would be appreciated but is not required.
-//
-// 2. Altered source versions must be plainly marked as such,
-// and must not be misrepresented as being the original software.
-//
-// 3. This notice may not be removed or altered from any source distribution.
-//
-////////////////////////////////////////////////////////////
-
-#ifndef SFML_SOUNDRECORDER_HPP
-#define SFML_SOUNDRECORDER_HPP
-
-////////////////////////////////////////////////////////////
-// Headers
-////////////////////////////////////////////////////////////
-#include <SFML/System/Thread.hpp>
-#include <vector>
-
-
-namespace sf
-{
-////////////////////////////////////////////////////////////
-/// SoundRecorder is an interface for capturing sound data,
-/// it is meant to be used as a base class
-////////////////////////////////////////////////////////////
-class SFML_API SoundRecorder : private Thread
-{
-public :
-
- typedef bool (*FuncType)(const Int16*, std::size_t, void*);
-
- ////////////////////////////////////////////////////////////
- /// Construct the sound recorder with a callback function
- /// for processing captured samples
- ///
- /// \param Callback : Callback for processing captured samples
- /// \param UserData : Data to pass to the callback function (NULL by default)
- ///
- ////////////////////////////////////////////////////////////
- SoundRecorder(FuncType Callback, void* UserData = NULL);
-
- ////////////////////////////////////////////////////////////
- /// Virtual destructor
- ///
- ////////////////////////////////////////////////////////////
- virtual ~SoundRecorder();
-
- ////////////////////////////////////////////////////////////
- /// Start the capture.
- /// Warning : only one capture can happen at the same time
- ///
- /// \param SampleRate : Sound frequency (the more samples, the higher the quality)
- /// (44100 by default = CD quality)
- ///
- ////////////////////////////////////////////////////////////
- void Start(unsigned int SampleRate = 44100);
-
- ////////////////////////////////////////////////////////////
- /// Stop the capture
- ///
- ////////////////////////////////////////////////////////////
- void Stop();
-
- ////////////////////////////////////////////////////////////
- /// Get the sample rate
- ///
- /// \return Frequency, in samples per second
- ///
- ////////////////////////////////////////////////////////////
- unsigned int GetSampleRate() const;
-
- ////////////////////////////////////////////////////////////
- /// Tell if the system supports sound capture.
- /// If not, this class won't be usable
- ///
- /// \return True if audio capture is supported
- ///
- ////////////////////////////////////////////////////////////
- static bool CanCapture();
-
-protected :
-
- ////////////////////////////////////////////////////////////
- /// Default constructor
- ///
- ////////////////////////////////////////////////////////////
- SoundRecorder();
-
-private :
-
- ////////////////////////////////////////////////////////////
- /// Process a new chunk of recorded samples
- ///
- /// \param Samples : Pointer to the new chunk of recorded samples
- /// \param SamplesCount : Number of samples pointed by Samples
- ///
- /// \return False to stop recording audio data, true to continue
- ///
- ////////////////////////////////////////////////////////////
- virtual bool ProcessSamples(const Int16* Samples, std::size_t SamplesCount);
-
- ////////////////////////////////////////////////////////////
- /// /see Thread::Run
- ///
- ////////////////////////////////////////////////////////////
- virtual void Run();
-
- ////////////////////////////////////////////////////////////
- /// Get the available captured samples and process them
- ///
- ////////////////////////////////////////////////////////////
- void ProcessCapturedSamples();
-
- ////////////////////////////////////////////////////////////
- /// Clean up the recorder internal resources
- ///
- ////////////////////////////////////////////////////////////
- void CleanUp();
-
- ////////////////////////////////////////////////////////////
- // Member data
- ////////////////////////////////////////////////////////////
- FuncType myCallback; ///< Callback for processing captured samples
- void* myUserData; ///< User data to pass to the processing callback
- std::vector<Int16> mySamples; ///< Buffer to store captured samples
- unsigned int mySampleRate; ///< Sample rate
- bool myIsCapturing; ///< Capturing state
-};
-
-} // namespace sf
-
-
-#endif // SFML_SOUNDRECORDER_HPP