From: Dennis Braun Date: Wed, 4 May 2022 15:32:09 +0000 (+0200) Subject: Update mcl-audio-buffer in d/missing-sources X-Git-Tag: archive/raspbian/0.22.0-1+rpi1~1^2~31 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=3c319e44e1ff5406df3b2c02a2478d7dd2e3af36;p=giada.git Update mcl-audio-buffer in d/missing-sources --- diff --git a/debian/missing-sources/mcl-audio-buffer/audioBuffer.cpp b/debian/missing-sources/mcl-audio-buffer/audioBuffer.cpp index 84a7df8..1edc2ab 100644 --- a/debian/missing-sources/mcl-audio-buffer/audioBuffer.cpp +++ b/debian/missing-sources/mcl-audio-buffer/audioBuffer.cpp @@ -268,6 +268,32 @@ void AudioBuffer::copy(const AudioBuffer& o) /* -------------------------------------------------------------------------- */ +void AudioBuffer::forEachFrame(std::function f) +{ + for (int i = 0; i < countFrames(); i++) + f((*this)[i], i); +} + +/* -------------------------------------------------------------------------- */ + +void AudioBuffer::forEachChannel(int frame, std::function f) +{ + assert(frame < m_size); + + for (int i = 0; i < countChannels(); i++) + f((*this)[frame][i], i); +} + +/* -------------------------------------------------------------------------- */ + +void AudioBuffer::forEachSample(std::function f) +{ + for (int i = 0; i < countSamples(); i++) + f(m_data[i], i); +} + +/* -------------------------------------------------------------------------- */ + template void AudioBuffer::copyData(const AudioBuffer&, int, int, int, float, Pan); template void AudioBuffer::copyData(const AudioBuffer&, int, int, int, float, Pan); -} // namespace mcl \ No newline at end of file +} // namespace mcl diff --git a/debian/missing-sources/mcl-audio-buffer/audioBuffer.hpp b/debian/missing-sources/mcl-audio-buffer/audioBuffer.hpp index 9b3107f..d77cde0 100644 --- a/debian/missing-sources/mcl-audio-buffer/audioBuffer.hpp +++ b/debian/missing-sources/mcl-audio-buffer/audioBuffer.hpp @@ -28,6 +28,7 @@ #define MONOCASUAL_AUDIO_BUFFER_H #include +#include namespace mcl { @@ -136,6 +137,21 @@ public: void applyGain(float g); + /* forEachFrame + Applies a function to each frame in the audio buffer. */ + + void forEachFrame(std::function); + + /* forEachChannel + Applies a function to each channel in the given frame. */ + + void forEachChannel(int frame, std::function); + + /* forEachSample + Applies a function to each sample in the audio buffer. */ + + void forEachSample(std::function); + private: enum class Operation { @@ -160,4 +176,4 @@ private: }; } // namespace mcl -#endif \ No newline at end of file +#endif