aboutsummaryrefslogtreecommitdiff
path: root/src/DSP/CombFilter.cpp
diff options
context:
space:
mode:
authorDominik Kaiser2025-09-28 17:02:46 +0200
committerDominik Kaiser2025-09-28 17:02:46 +0200
commit59ac3b92d6a7dc7ba29791121be7bcc2dc50aead (patch)
tree495bd0ae56aa477103c95c1f39bbca9f0912366f /src/DSP/CombFilter.cpp
parent2d47e0846cfb5c68c5ce9db8b46a8d662842c709 (diff)
downloadSchroederReverb-59ac3b92d6a7dc7ba29791121be7bcc2dc50aead.tar.gz
SchroederReverb-59ac3b92d6a7dc7ba29791121be7bcc2dc50aead.zip
Fixed combfilter
I mistakenly tested with an old version and somehow mistook the all-pass filter for actual reverb...
Diffstat (limited to 'src/DSP/CombFilter.cpp')
-rw-r--r--src/DSP/CombFilter.cpp4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/DSP/CombFilter.cpp b/src/DSP/CombFilter.cpp
index b7cfa5b..3d11f2f 100644
--- a/src/DSP/CombFilter.cpp
+++ b/src/DSP/CombFilter.cpp
@@ -1,7 +1,7 @@
#include "CombFilter.h"
void CombFilter::prepare(double sampleRate, int samplesPerBlock, int delayInSamples, float gain) {
- int maxDelayTimeMs = 100;
+ int maxDelayTimeMs = 500;
int maxDelaySamples = static_cast<int>(sampleRate * maxDelayTimeMs / 1000.0);
delayBuffer.resize(maxDelaySamples, 0.0f);
@@ -17,6 +17,6 @@ void CombFilter::process(float* sample) {
float delayedSample = delayBuffer[delayReadPos];
float yn = *sample + gain * delayedSample;
delayBuffer[delayBufferWritePos] = yn;
- *sample = yn;
delayBufferWritePos = (delayBufferWritePos + 1) % delayBufferLength;
+ *sample = delayedSample;
}