From 87d69530a0ab2f70feadf9a862711263b6325290 Mon Sep 17 00:00:00 2001 From: Zachariah Brown Date: Fri, 5 Sep 2014 14:52:22 -0400 Subject: [PATCH] Updated CSFML to support sf::SoundRecorder::setProcessingInterval(...) --- include/SFML/Audio/SoundRecorder.h | 20 ++++++++++++++++++++ src/SFML/Audio/SoundRecorder.cpp | 7 +++++++ src/SFML/Audio/SoundRecorderStruct.h | 5 +++++ 3 files changed, 32 insertions(+) diff --git a/include/SFML/Audio/SoundRecorder.h b/include/SFML/Audio/SoundRecorder.h index 6395574..df7334e 100644 --- a/include/SFML/Audio/SoundRecorder.h +++ b/include/SFML/Audio/SoundRecorder.h @@ -30,6 +30,7 @@ //////////////////////////////////////////////////////////// #include #include +#include #include @@ -112,5 +113,24 @@ CSFML_AUDIO_API unsigned int sfSoundRecorder_getSampleRate(const sfSoundRecorder //////////////////////////////////////////////////////////// CSFML_AUDIO_API sfBool sfSoundRecorder_isAvailable(void); +//////////////////////////////////////////////////////////// +/// \brief Set the processing interval +/// +/// The processing interval controls the period +/// between calls to the onProcessSamples function. You may +/// want to use a small interval if you want to process the +/// recorded data in real time, for example. +/// +/// Note: this is only a hint, the actual period may vary. +/// So don't rely on this parameter to implement precise timing. +/// +/// The default processing interval is 100 ms. +/// +/// \param soundRecorder Sound recorder object +/// \param interval Processing interval +/// +//////////////////////////////////////////////////////////// +CSFML_AUDIO_API void sfSoundRecorder_setProcessingInterval(sfSoundRecorder* soundRecorder, sfTime interval); + #endif // SFML_SOUNDRECORDER_H diff --git a/src/SFML/Audio/SoundRecorder.cpp b/src/SFML/Audio/SoundRecorder.cpp index 3a197d7..70c6ca4 100644 --- a/src/SFML/Audio/SoundRecorder.cpp +++ b/src/SFML/Audio/SoundRecorder.cpp @@ -73,3 +73,10 @@ sfBool sfSoundRecorder_isAvailable(void) { return sf::SoundRecorder::isAvailable() ? sfTrue : sfFalse; } + + +//////////////////////////////////////////////////////////// +void sfSoundRecorder_setProcessingInterval(sfSoundRecorder* soundRecorder, sfTime interval) +{ + CSFML_CALL(soundRecorder, setProcessingInterval(interval)); +} diff --git a/src/SFML/Audio/SoundRecorderStruct.h b/src/SFML/Audio/SoundRecorderStruct.h index 4063089..760ac02 100644 --- a/src/SFML/Audio/SoundRecorderStruct.h +++ b/src/SFML/Audio/SoundRecorderStruct.h @@ -51,6 +51,11 @@ public : { } + void setProcessingInterval(sfTime interval) + { + sf::SoundRecorder::setProcessingInterval(sf::microseconds(interval.microseconds)); + } + private : virtual bool onStart()