diff --git a/modules/juce_audio_basics/sources/juce_IIRFilterAudioSource.cpp b/modules/juce_audio_basics/sources/juce_IIRFilterAudioSource.cpp index 4ee66f572c..712a24b9d3 100644 --- a/modules/juce_audio_basics/sources/juce_IIRFilterAudioSource.cpp +++ b/modules/juce_audio_basics/sources/juce_IIRFilterAudioSource.cpp @@ -41,6 +41,12 @@ void IIRFilterAudioSource::setCoefficients (const IIRCoefficients& newCoefficien iirFilters.getUnchecked(i)->setCoefficients (newCoefficients); } +void IIRFilterAudioSource::makeInactive() +{ + for (int i = iirFilters.size(); --i >= 0;) + iirFilters.getUnchecked(i)->makeInactive(); +} + //============================================================================== void IIRFilterAudioSource::prepareToPlay (int samplesPerBlockExpected, double sampleRate) { diff --git a/modules/juce_audio_basics/sources/juce_IIRFilterAudioSource.h b/modules/juce_audio_basics/sources/juce_IIRFilterAudioSource.h index 90796f395d..04a8bf2b3a 100644 --- a/modules/juce_audio_basics/sources/juce_IIRFilterAudioSource.h +++ b/modules/juce_audio_basics/sources/juce_IIRFilterAudioSource.h @@ -53,6 +53,9 @@ public: /** Changes the filter to use the same parameters as the one being passed in. */ void setCoefficients (const IIRCoefficients& newCoefficients); + /** Calls IIRFilter::makeInactive() on all the filters being used internally. */ + void makeInactive(); + //============================================================================== void prepareToPlay (int samplesPerBlockExpected, double sampleRate); void releaseResources();