From 3c319e44e1ff5406df3b2c02a2478d7dd2e3af36 Mon Sep 17 00:00:00 2001 From: Dennis Braun Date: Wed, 4 May 2022 17:32:09 +0200 Subject: [PATCH] Update mcl-audio-buffer in d/missing-sources --- .../mcl-audio-buffer/audioBuffer.cpp | 28 ++++++++++++++++++- .../mcl-audio-buffer/audioBuffer.hpp | 18 +++++++++++- 2 files changed, 44 insertions(+), 2 deletions(-) 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 -- 2.30.2