Skip to content

Commit fb9fb94

Browse files
committed
Add missing sfSoundBufferRecorder functions inherited from sf::SoundRecorder
Backport of 34febc2
1 parent 58b6342 commit fb9fb94

File tree

2 files changed

+46
-0
lines changed

2 files changed

+46
-0
lines changed

include/SFML/Audio/SoundBufferRecorder.h

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -129,5 +129,37 @@ CSFML_AUDIO_API sfBool sfSoundBufferRecorder_setDevice(sfSoundBufferRecorder* so
129129
////////////////////////////////////////////////////////////
130130
CSFML_AUDIO_API const char* sfSoundBufferRecorder_getDevice(sfSoundBufferRecorder* soundBufferRecorder);
131131

132+
////////////////////////////////////////////////////////////
133+
/// \brief Set the channel count of the audio capture device
134+
///
135+
/// This method allows you to specify the number of channels
136+
/// used for recording. Currently only 16-bit mono and
137+
/// 16-bit stereo are supported.
138+
///
139+
/// \param soundBufferRecorder Sound buffer recorder object
140+
/// \param channelCount Number of channels. Currently only
141+
/// mono (1) and stereo (2) are supported.
142+
///
143+
/// \see sfSoundBufferRecorder_getChannelCount
144+
///
145+
////////////////////////////////////////////////////////////
146+
CSFML_AUDIO_API void sfSoundBufferRecorder_setChannelCount(sfSoundBufferRecorder* soundBufferRecorder,
147+
unsigned int channelCount);
148+
149+
////////////////////////////////////////////////////////////
150+
/// \brief Get the number of channels used by this recorder
151+
///
152+
/// Currently only mono and stereo are supported, so the
153+
/// value is either 1 (for mono) or 2 (for stereo).
154+
///
155+
/// \param soundBufferRecorder Sound buffer recorder object
156+
///
157+
/// \return Number of channels
158+
///
159+
/// \see sfSoundBufferRecorder_setChannelCount
160+
///
161+
////////////////////////////////////////////////////////////
162+
CSFML_AUDIO_API unsigned int sfSoundBufferRecorder_getChannelCount(const sfSoundBufferRecorder* soundBufferRecorder);
163+
132164

133165
#endif // SFML_SOUNDBUFFERRECORDER_H

src/SFML/Audio/SoundBufferRecorder.cpp

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -90,3 +90,17 @@ const char* sfSoundBufferRecorder_getDevice(sfSoundBufferRecorder* soundBufferRe
9090

9191
return soundBufferRecorder->DeviceName.c_str();
9292
}
93+
94+
95+
////////////////////////////////////////////////////////////
96+
void sfSoundBufferRecorder_setChannelCount(sfSoundBufferRecorder* soundBufferRecorder, unsigned int channelCount)
97+
{
98+
CSFML_CALL(soundBufferRecorder, setChannelCount(channelCount));
99+
}
100+
101+
102+
////////////////////////////////////////////////////////////
103+
unsigned int sfSoundBufferRecorder_getChannelCount(const sfSoundBufferRecorder* soundBufferRecorder)
104+
{
105+
CSFML_CALL_RETURN(soundBufferRecorder, getChannelCount(), 0);
106+
}

0 commit comments

Comments
 (0)