diff options
| author | Dominik Kaiser | 2025-10-06 16:30:31 +0200 |
|---|---|---|
| committer | Dominik Kaiser | 2025-10-06 16:31:36 +0200 |
| commit | 5795493239b56a3b8a6d93b8861c1f7259f92896 (patch) | |
| tree | 0683476fc86347ff26a6c6dd512566e89443c326 /src/DSP/CombFilter.cpp | |
| parent | 1861458f4fa4647379d372858222d6481beaa015 (diff) | |
| download | SchroederReverb-5795493239b56a3b8a6d93b8861c1f7259f92896.tar.gz SchroederReverb-5795493239b56a3b8a6d93b8861c1f7259f92896.zip | |
Cleanup
Diffstat (limited to 'src/DSP/CombFilter.cpp')
| -rw-r--r-- | src/DSP/CombFilter.cpp | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/src/DSP/CombFilter.cpp b/src/DSP/CombFilter.cpp index dc4de96..8390675 100644 --- a/src/DSP/CombFilter.cpp +++ b/src/DSP/CombFilter.cpp @@ -9,19 +9,20 @@ CombFilter::prepare(double sampleRate, int samplesPerBlock, int delayInSamples, delayBuffer.resize(maxDelaySamples, 0.0f); std::fill(delayBuffer.begin(), delayBuffer.end(), 0.0f); delayBufferWritePos = 0; - this->delayInSamples_ = delayInSamples; + this->delayInSamples = delayInSamples; this->gain = gain; } void -CombFilter::process(float* sample) +CombFilter::process(float& sample) { int delayBufferLength = (int)delayBuffer.size(); int delayReadPos - = (delayBufferWritePos - delayInSamples_ + delayBufferLength) % delayBufferLength; + = (delayBufferWritePos - delayInSamples + delayBufferLength) % delayBufferLength; float delayedSample = delayBuffer[delayReadPos]; - float yn = *sample + gain * delayedSample; - delayBuffer[delayBufferWritePos] = yn; + + delayBuffer[delayBufferWritePos] = sample + gain * delayedSample; + sample = delayedSample; + delayBufferWritePos = (delayBufferWritePos + 1) % delayBufferLength; - *sample = delayedSample; } |
