IIRFilter Class Reference
juce_audio_basics » utilities

An IIR filter that can perform low, high, or band-pass filtering on an audio signal. More...

## Public Member Functions

| IIRFilter () noexcept
| Creates a filter. More...
| IIRFilter (const IIRFilter &) noexcept
| Creates a copy of another filter. More...
| ~IIRFilter () noexcept
| Destructor. More...
void | makeInactive () noexcept
| Clears the filter so that any incoming data passes through unchanged. More...
void | setCoefficients (const IIRCoefficients &newCoefficients) noexcept
| Applies a set of coefficients to this filter. More...
IIRCoefficients | getCoefficients () const noexcept
| Returns the coefficients that this filter is using. More...
void | reset () noexcept
| Resets the filter's processing pipeline, ready to start a new stream of data. More...
void | processSamples (float *samples, int numSamples) noexcept
| Performs the filter operation on the given set of samples. More...
float | processSingleSampleRaw (float sample) noexcept
| Processes a single sample, without any locking or checking. More...

## Protected Member Functions

IIRFilter & | operator= (const IIRFilter &)=delete

## Protected Attributes

SpinLock | processLock
IIRCoefficients | coefficients
float | v1 = 0
float | v2 = 0
bool | active = false

## Detailed Description

An IIR filter that can perform low, high, or band-pass filtering on an audio signal.

See also
  IIRCoefficient, IIRFilterAudioSource

## Constructor & Destructor Documentation

## IIRFilter() [1/2]

IIRFilter::IIRFilter | ( |  | ) |

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.

## IIRFilter() [2/2]

IIRFilter::IIRFilter | ( | const IIRFilter & |  | ) |

noexcept

Creates a copy of another filter.

## ~IIRFilter()

IIRFilter::~IIRFilter | ( |  | ) |

noexcept

Destructor.

## Member Function Documentation

## makeInactive()

void IIRFilter::makeInactive | ( |  | ) |

noexcept

Clears the filter so that any incoming data passes through unchanged.

## setCoefficients()

void IIRFilter::setCoefficients | ( | const IIRCoefficients & | newCoefficients | ) |

noexcept

Applies a set of coefficients to this filter.

## getCoefficients()

IIRCoefficients IIRFilter::getCoefficients | ( |  | ) | const

noexcept

Returns the coefficients that this filter is using.

## reset()

void IIRFilter::reset | ( |  | ) |

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.

## processSamples()

void IIRFilter::processSamples | ( | float * | samples,
|  | int | numSamples
| ) |  |

noexcept

Performs the filter operation on the given set of samples.

## processSingleSampleRaw()

float IIRFilter::processSingleSampleRaw | ( | float | sample | ) |

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.

## operator=()

IIRFilter& IIRFilter::operator= | ( | const IIRFilter & |  | ) |

protected delete

## Member Data Documentation

## processLock

SpinLock IIRFilter::processLock

protected

## coefficients

IIRCoefficients IIRFilter::coefficients

protected

## v1

float IIRFilter::v1 = 0

protected

## v2

float IIRFilter::v2 = 0

protected

## active

bool IIRFilter::active = false

protected

The documentation for this class was generated from the following file:

- juce_audio_basics/utilities/juce_IIRFilter.h