30 jassert (inputSource !=
nullptr);
32 for (
int i = 2; --i >= 0;)
41 for (
int i = iirFilters.
size(); --i >= 0;)
47 for (
int i = iirFilters.
size(); --i >= 0;)
56 for (
int i = iirFilters.
size(); --i >= 0;)
62 input->releaseResources();
69 const int numChannels =
bufferToFill.buffer->getNumChannels();
71 while (numChannels > iirFilters.
size())
74 for (
int i = 0; i < numChannels; ++i)
Holds a resizable array of primitive or copy-by-value objects.
ElementType getUnchecked(int index) const
Returns one of the elements in the array, without checking the index passed in.
int size() const noexcept
Returns the current number of elements in the array.
void add(const ElementType &newElement)
Appends a new element at the end of the array.
Base class for objects that can produce a continuous stream of audio.
A set of coefficients for use in an IIRFilter object.
void makeInactive()
Calls IIRFilter::makeInactive() on all the filters being used internally.
void prepareToPlay(int samplesPerBlockExpected, double sampleRate) override
Tells the source to prepare for playing.
void setCoefficients(const IIRCoefficients &newCoefficients)
Changes the filter to use the same parameters as the one being passed in.
IIRFilterAudioSource(AudioSource *inputSource, bool deleteInputWhenDeleted)
Creates a IIRFilterAudioSource for a given input source.
void releaseResources() override
Allows the source to release anything it no longer needs after playback has stopped.
~IIRFilterAudioSource() override
Destructor.
void getNextAudioBlock(const AudioSourceChannelInfo &) override
Called repeatedly to fetch subsequent blocks of audio data.
An IIR filter that can perform low, high, or band-pass filtering on an audio signal.
Used by AudioSource::getNextAudioBlock().