27 const bool deleteInputWhenDeleted)
28 : input (inputSource, deleteInputWhenDeleted)
30 jassert (inputSource !=
nullptr);
32 for (
int i = 2; --i >= 0;)
41 for (
int i = iirFilters.size(); --i >= 0;)
42 iirFilters.getUnchecked(i)->setCoefficients (newCoefficients);
47 for (
int i = iirFilters.size(); --i >= 0;)
48 iirFilters.getUnchecked(i)->makeInactive();
54 input->prepareToPlay (samplesPerBlockExpected, sampleRate);
56 for (
int i = iirFilters.size(); --i >= 0;)
57 iirFilters.getUnchecked(i)->reset();
62 input->releaseResources();
67 input->getNextAudioBlock (bufferToFill);
71 while (numChannels > iirFilters.size())
72 iirFilters.add (
new IIRFilter (*iirFilters.getUnchecked (0)));
74 for (
int i = 0; i < numChannels; ++i)
75 iirFilters.getUnchecked(i)
IIRFilterAudioSource(AudioSource *inputSource, bool deleteInputWhenDeleted)
void setCoefficients(const IIRCoefficients &newCoefficients)
int getNumChannels() const noexcept
void getNextAudioBlock(const AudioSourceChannelInfo &) override
void prepareToPlay(int samplesPerBlockExpected, double sampleRate) override
void releaseResources() override
AudioBuffer< float > * buffer
~IIRFilterAudioSource() override
Type * getWritePointer(int channelNumber) noexcept