diff --git a/libraries/audio/src/AudioFilterBank.cpp b/libraries/audio/src/AudioFilterBank.cpp index a7b969540a..6599b29a01 100644 --- a/libraries/audio/src/AudioFilterBank.cpp +++ b/libraries/audio/src/AudioFilterBank.cpp @@ -9,9 +9,12 @@ // See the accompanying file LICENSE or http://www.apache.org/licenses/LICENSE-2.0.html // +#include #include #include #include "AudioRingBuffer.h" +#include "AudioFormat.h" +#include "AudioBuffer.h" #include "AudioFilter.h" #include "AudioFilterBank.h" diff --git a/libraries/audio/src/AudioFilterBank.h b/libraries/audio/src/AudioFilterBank.h index c523736a57..2ea29cb3a9 100644 --- a/libraries/audio/src/AudioFilterBank.h +++ b/libraries/audio/src/AudioFilterBank.h @@ -64,7 +64,7 @@ public: // // public interface // - void initialize(const float sampleRate, const int frameCount) { + void initialize(const float sampleRate, const int frameCount = 0) { finalize(); for (int i = 0; i < _channelCount; ++i) { @@ -141,6 +141,17 @@ public: } } + void render(AudioBufferFloat32& frameBuffer) { + + float32_t** samples = frameBuffer.getFrameData(); + for (uint16_t j = 0; j < frameBuffer.getChannelCount(); ++j) { + for (int i = 0; i < _filterCount; ++i) { + _filters[i][j].render( samples[j], samples[j], frameBuffer.getFrameCount() ); + } + } + + } + void reset() { for (int i = 0; i < _filterCount; ++i) { for (int j = 0; j < _channelCount; ++j) {