An IIR filter that can perform low, high, or band-pass filtering on an audio signal. More...
Public Member Functions | |
IIRFilterBase () noexcept | |
Creates a filter. | |
IIRFilterBase (const IIRFilterBase &) noexcept | |
Creates a copy of another filter. | |
void | makeInactive () noexcept |
Clears the filter so that any incoming data passes through unchanged. | |
void | setCoefficients (const IIRCoefficients &newCoefficients) noexcept |
Applies a set of coefficients to this filter. | |
IIRCoefficients | getCoefficients () const noexcept |
Returns the coefficients that this filter is using. | |
void | reset () noexcept |
Resets the filter's processing pipeline, ready to start a new stream of data. | |
void | processSamples (float *samples, int numSamples) noexcept |
Performs the filter operation on the given set of samples. | |
float | processSingleSampleRaw (float sample) noexcept |
Processes a single sample, without any locking or checking. | |
Protected Member Functions | |
IIRFilter & | operator= (const IIRFilter &)=delete |
Protected Attributes | |
Mutex | processLock |
IIRCoefficients | coefficients |
float | v1 = 0 |
float | v2 = 0 |
bool | active = false |
An IIR filter that can perform low, high, or band-pass filtering on an audio signal.
|
noexcept |
Creates a filter.
Initially the filter is inactive, so will have no effect on samples that you process with it. Use the setCoefficients() method to turn it into the type of filter needed.
|
noexcept |
Creates a copy of another filter.
|
noexcept |
Clears the filter so that any incoming data passes through unchanged.
|
noexcept |
Applies a set of coefficients to this filter.
|
noexcept |
Returns the coefficients that this filter is using.
|
noexcept |
Resets the filter's processing pipeline, ready to start a new stream of data.
Note that this clears the processing state, but the type of filter and its coefficients aren't changed. To put a filter into an inactive state, use the makeInactive() method.
|
noexcept |
Performs the filter operation on the given set of samples.
|
noexcept |
Processes a single sample, without any locking or checking.
Use this if you need fast processing of a single value, but be aware that this isn't thread-safe in the way that processSamples() is.
|
protecteddelete |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |