aboutsummaryrefslogtreecommitdiff
path: root/src/DSP/CombFilter.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/DSP/CombFilter.cpp')
-rw-r--r--src/DSP/CombFilter.cpp37
1 files changed, 21 insertions, 16 deletions
diff --git a/src/DSP/CombFilter.cpp b/src/DSP/CombFilter.cpp
index 3d11f2f..dc4de96 100644
--- a/src/DSP/CombFilter.cpp
+++ b/src/DSP/CombFilter.cpp
@@ -1,22 +1,27 @@
#include "CombFilter.h"
-void CombFilter::prepare(double sampleRate, int samplesPerBlock, int delayInSamples, float gain) {
- int maxDelayTimeMs = 500;
- int maxDelaySamples = static_cast<int>(sampleRate * maxDelayTimeMs / 1000.0);
+void
+CombFilter::prepare(double sampleRate, int samplesPerBlock, int delayInSamples, float gain)
+{
+ int maxDelayTimeMs = 500;
+ int maxDelaySamples = static_cast<int>(sampleRate * maxDelayTimeMs / 1000.0);
- delayBuffer.resize(maxDelaySamples, 0.0f);
- std::fill(delayBuffer.begin(), delayBuffer.end(), 0.0f);
- delayBufferWritePos = 0;
- this->delayInSamples_ = delayInSamples;
- this->gain = gain;
+ delayBuffer.resize(maxDelaySamples, 0.0f);
+ std::fill(delayBuffer.begin(), delayBuffer.end(), 0.0f);
+ delayBufferWritePos = 0;
+ this->delayInSamples_ = delayInSamples;
+ this->gain = gain;
}
-void CombFilter::process(float* sample) {
- int delayBufferLength = (int)delayBuffer.size();
- int delayReadPos = (delayBufferWritePos - delayInSamples_ + delayBufferLength) % delayBufferLength;
- float delayedSample = delayBuffer[delayReadPos];
- float yn = *sample + gain * delayedSample;
- delayBuffer[delayBufferWritePos] = yn;
- delayBufferWritePos = (delayBufferWritePos + 1) % delayBufferLength;
- *sample = delayedSample;
+void
+CombFilter::process(float* sample)
+{
+ int delayBufferLength = (int)delayBuffer.size();
+ int delayReadPos
+ = (delayBufferWritePos - delayInSamples_ + delayBufferLength) % delayBufferLength;
+ float delayedSample = delayBuffer[delayReadPos];
+ float yn = *sample + gain * delayedSample;
+ delayBuffer[delayBufferWritePos] = yn;
+ delayBufferWritePos = (delayBufferWritePos + 1) % delayBufferLength;
+ *sample = delayedSample;
}