@@ -36,14 +36,16 @@ namespace Pedalboard {
3636
3737/* *
3838 * A wrapper class that converts audio channel counts on-the-fly.
39- * Wraps any AbstractReadableAudioFile (ReadableAudioFile, ResampledReadableAudioFile, etc.)
39+ * Wraps any AbstractReadableAudioFile (ReadableAudioFile,
40+ * ResampledReadableAudioFile, etc.)
4041 */
4142class ChannelConvertedReadableAudioFile
4243 : public AbstractReadableAudioFile,
4344 public std::enable_shared_from_this<ChannelConvertedReadableAudioFile> {
4445public:
4546 ChannelConvertedReadableAudioFile (
46- std::shared_ptr<AbstractReadableAudioFile> audioFile, int targetNumChannels)
47+ std::shared_ptr<AbstractReadableAudioFile> audioFile,
48+ int targetNumChannels)
4749 : wrappedFile(audioFile), targetNumChannels(targetNumChannels) {
4850 if (targetNumChannels < 1 ) {
4951 throw std::domain_error (" Target number of channels must be at least 1." );
@@ -80,9 +82,7 @@ class ChannelConvertedReadableAudioFile
8082 return wrappedFile->getLengthInSamples ();
8183 }
8284
83- double getDuration () const override {
84- return wrappedFile->getDuration ();
85- }
85+ double getDuration () const override { return wrappedFile->getDuration (); }
8686
8787 long getNumChannels () const override { return targetNumChannels; }
8888
@@ -98,7 +98,8 @@ class ChannelConvertedReadableAudioFile
9898 return wrappedFile->getFileDatatype ();
9999 }
100100
101- py::array_t <float > read (std::variant<double , long long > numSamplesVariant) override {
101+ py::array_t <float >
102+ read (std::variant<double , long long > numSamplesVariant) override {
102103 long long numSamples = parseNumSamples (numSamplesVariant);
103104 if (numSamples == 0 )
104105 throw std::domain_error (
@@ -152,10 +153,12 @@ class ChannelConvertedReadableAudioFile
152153 return juce::AudioBuffer<float >(targetNumChannels, 0 );
153154 }
154155
155- // Create output buffer and copy data while we still have access to the array
156+ // Create output buffer and copy data while we still have access to the
157+ // array
156158 outputBuffer.setSize (targetNumChannels, actualSamplesRead);
157159 float *sourcePtr = static_cast <float *>(sourceInfo.ptr );
158- copyChannelData (outputBuffer, sourcePtr, sourceNumChannels, actualSamplesRead);
160+ copyChannelData (outputBuffer, sourcePtr, sourceNumChannels,
161+ actualSamplesRead);
159162 }
160163
161164 return outputBuffer;
@@ -210,9 +213,7 @@ class ChannelConvertedReadableAudioFile
210213 wrappedFile->seekInternal (targetPosition);
211214 }
212215
213- long long tell () const override {
214- return wrappedFile->tell ();
215- }
216+ long long tell () const override { return wrappedFile->tell (); }
216217
217218 void close () override {
218219 py::gil_scoped_release release;
@@ -234,9 +235,7 @@ class ChannelConvertedReadableAudioFile
234235 return _isClosed;
235236 }
236237
237- bool isSeekable () const override {
238- return wrappedFile->isSeekable ();
239- }
238+ bool isSeekable () const override { return wrappedFile->isSeekable (); }
240239
241240 std::optional<std::string> getFilename () const override {
242241 return wrappedFile->getFilename ();
@@ -273,7 +272,8 @@ class ChannelConvertedReadableAudioFile
273272inline py::class_<ChannelConvertedReadableAudioFile, AbstractReadableAudioFile,
274273 std::shared_ptr<ChannelConvertedReadableAudioFile>>
275274declare_readable_audio_file_with_channel_conversion (py::module &m) {
276- return py::class_<ChannelConvertedReadableAudioFile, AbstractReadableAudioFile,
275+ return py::class_<ChannelConvertedReadableAudioFile,
276+ AbstractReadableAudioFile,
277277 std::shared_ptr<ChannelConvertedReadableAudioFile>>(
278278 m, " ChannelConvertedReadableAudioFile" ,
279279 R"(
@@ -319,18 +319,20 @@ inline void init_readable_audio_file_with_channel_conversion(
319319 // Note: Most methods are inherited from AbstractReadableAudioFile.
320320 // We only define class-specific methods here.
321321 pyChannelConvertedReadableAudioFile
322- .def (py::init ([](std::shared_ptr<AbstractReadableAudioFile> audioFile,
323- int targetNumChannels)
324- -> ChannelConvertedReadableAudioFile * {
325- // This definition is only here to provide nice docstrings.
326- throw std::runtime_error (
327- " Internal error: __init__ should never be called, as this "
328- " class implements __new__." );
329- }),
330- py::arg (" audio_file" ), py::arg (" num_channels" ))
322+ .def (
323+ py::init (
324+ [](std::shared_ptr<AbstractReadableAudioFile> audioFile,
325+ int targetNumChannels) -> ChannelConvertedReadableAudioFile * {
326+ // This definition is only here to provide nice docstrings.
327+ throw std::runtime_error (
328+ " Internal error: __init__ should never be called, as this "
329+ " class implements __new__." );
330+ }),
331+ py::arg (" audio_file" ), py::arg (" num_channels" ))
331332 .def_static (
332333 " __new__" ,
333- [](const py::object *, std::shared_ptr<AbstractReadableAudioFile> audioFile,
334+ [](const py::object *,
335+ std::shared_ptr<AbstractReadableAudioFile> audioFile,
334336 int targetNumChannels) {
335337 return std::make_shared<ChannelConvertedReadableAudioFile>(
336338 audioFile, targetNumChannels);
@@ -390,8 +392,7 @@ inline void init_abstract_readable_audio_file_methods(
390392 if (file->getNumChannels () == 1 )
391393 return file;
392394
393- return std::make_shared<ChannelConvertedReadableAudioFile>(
394- file, 1 );
395+ return std::make_shared<ChannelConvertedReadableAudioFile>(file, 1 );
395396 },
396397 " Return a :class:`ChannelConvertedReadableAudioFile` that will "
397398 " automatically convert this audio file to mono (1 channel).\n\n If "
@@ -406,8 +407,7 @@ inline void init_abstract_readable_audio_file_methods(
406407 if (file->getNumChannels () == 2 )
407408 return file;
408409
409- return std::make_shared<ChannelConvertedReadableAudioFile>(
410- file, 2 );
410+ return std::make_shared<ChannelConvertedReadableAudioFile>(file, 2 );
411411 },
412412 " Return a :class:`ChannelConvertedReadableAudioFile` that will "
413413 " automatically convert this audio file to stereo (2 "
0 commit comments