diff --git a/modules/juce_dsp/processors/juce_StateVariableFilter.h b/modules/juce_dsp/processors/juce_StateVariableFilter.h index 279c2d0471..a719ac58dc 100644 --- a/modules/juce_dsp/processors/juce_StateVariableFilter.h +++ b/modules/juce_dsp/processors/juce_StateVariableFilter.h @@ -148,6 +148,7 @@ namespace StateVariableFilter void processBlock (const SampleType* input, SampleType* output, size_t n) noexcept { auto state = *parameters; + for (size_t i = 0 ; i < n; ++i) output[i] = processLoop (input[i], state); @@ -187,6 +188,10 @@ namespace StateVariableFilter void setCutOffFrequency (double sampleRate, NumericType frequency, NumericType resonance = static_cast (1.0 / std::sqrt (2.0))) noexcept { + jassert (sampleRate > 0); + jassert (resonance > NumericType (0)); + jassert (frequency > NumericType (0) && frequency <= NumericType (sampleRate * 0.5)); + g = static_cast (std::tan (MathConstants::pi * frequency / sampleRate)); R2 = static_cast (1.0 / resonance); h = static_cast (1.0 / (1.0 + R2 * g + g * g));