From 8cfd39f2456b558f40b9f75f66b63d6ae4087d94 Mon Sep 17 00:00:00 2001 From: Jens Ahrensfeld Date: Sun, 9 Nov 2025 22:32:20 +0100 Subject: [PATCH] [Reverb] - num diffusion steps is template param - Contructor: use initializer list for delays per diffusion step - added param for feedback delay min and max --- reverb/reverb.hpp | 11 ++++++----- tests/test_mix.cpp | 2 +- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/reverb/reverb.hpp b/reverb/reverb.hpp index ffc666b..90173c2 100644 --- a/reverb/reverb.hpp +++ b/reverb/reverb.hpp @@ -4,6 +4,7 @@ #include #include #include +#include template class Delay @@ -109,18 +110,18 @@ class Diffusor } }; -template +template class Reverb { - std::array, 3> m_diffusors; + std::vector> m_diffusors; Delay m_feedbackDly; T fb_dly_out[numCh]; T fb_gain; public: - Reverb(uint maxDelay) - : m_diffusors({maxDelay, maxDelay, maxDelay}) - , m_feedbackDly(9600, 4800) + Reverb(std::initializer_list> maxDelay, uint fb_dly_min, uint fb_dly_max) + : m_diffusors(maxDelay) + , m_feedbackDly(fb_dly_max, fb_dly_min) , fb_gain(0) { for (int c=0; c < numCh; c++) diff --git a/tests/test_mix.cpp b/tests/test_mix.cpp index 3ac0e9d..a0ac5fe 100644 --- a/tests/test_mix.cpp +++ b/tests/test_mix.cpp @@ -136,7 +136,7 @@ void test_reverb() std::cout << "----------------------------------------------" << std::endl; std::cout << "test_reverb()" << std::endl; - Reverb rev(32); + Reverb rev({32}, 1, 2); float data_in[10] = {1, 2, 3, 4, 5, 6, 7,8, 9, 10}; float data_out[10] = {0, 0, 0, 0, 0, 0, 0,0, 0, 0};