OpenShot Audio Library | OpenShotAudio 0.4.0
Loading...
Searching...
No Matches
juce::IIRFilterBase< Mutex > Class Template Reference

#include <juce_IIRFilter.h>

Collaboration diagram for juce::IIRFilterBase< Mutex >:
[legend]

Public Member Functions

 IIRFilterBase () noexcept
 
 IIRFilterBase (const IIRFilterBase &) noexcept
 
void makeInactive () noexcept
 
void setCoefficients (const IIRCoefficients &newCoefficients) noexcept
 
IIRCoefficients getCoefficients () const noexcept
 
void reset () noexcept
 
void processSamples (float *samples, int numSamples) noexcept
 
float processSingleSampleRaw (float sample) noexcept
 

Protected Member Functions

IIRFilteroperator= (const IIRFilter &)=delete
 

Protected Attributes

Mutex processLock
 
IIRCoefficients coefficients
 
float v1 = 0
 
float v2 = 0
 
bool active = false
 

Detailed Description

template<typename Mutex>
class juce::IIRFilterBase< Mutex >

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

See also
IIRCoefficient, IIRFilterAudioSource

Definition at line 157 of file juce_audio_basics/utilities/juce_IIRFilter.h.

Constructor & Destructor Documentation

◆ IIRFilterBase() [1/2]

template<typename Mutex >
juce::IIRFilterBase< Mutex >::IIRFilterBase ( )
defaultnoexcept

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.

◆ IIRFilterBase() [2/2]

template<typename Mutex >
juce::IIRFilterBase< Mutex >::IIRFilterBase ( const IIRFilterBase< Mutex > & other)
noexcept

Creates a copy of another filter.

Definition at line 267 of file juce_audio_basics/utilities/juce_IIRFilter.cpp.

Member Function Documentation

◆ getCoefficients()

template<typename Mutex >
IIRCoefficients juce::IIRFilterBase< Mutex >::getCoefficients ( ) const
inlinenoexcept

Returns the coefficients that this filter is using.

Definition at line 180 of file juce_audio_basics/utilities/juce_IIRFilter.h.

◆ makeInactive()

template<typename Mutex >
void juce::IIRFilterBase< Mutex >::makeInactive ( )
noexcept

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

Definition at line 275 of file juce_audio_basics/utilities/juce_IIRFilter.cpp.

◆ processSamples()

template<typename Mutex >
void juce::IIRFilterBase< Mutex >::processSamples ( float * samples,
int numSamples )
noexcept

Performs the filter operation on the given set of samples.

Definition at line 311 of file juce_audio_basics/utilities/juce_IIRFilter.cpp.

◆ processSingleSampleRaw()

template<typename Mutex >
float juce::IIRFilterBase< Mutex >::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.

Definition at line 298 of file juce_audio_basics/utilities/juce_IIRFilter.cpp.

◆ reset()

template<typename Mutex >
void juce::IIRFilterBase< Mutex >::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.

Definition at line 291 of file juce_audio_basics/utilities/juce_IIRFilter.cpp.

◆ setCoefficients()

template<typename Mutex >
void juce::IIRFilterBase< Mutex >::setCoefficients ( const IIRCoefficients & newCoefficients)
noexcept

Applies a set of coefficients to this filter.

Definition at line 282 of file juce_audio_basics/utilities/juce_IIRFilter.cpp.

Member Data Documentation

◆ active

template<typename Mutex >
bool juce::IIRFilterBase< Mutex >::active = false
protected

◆ coefficients

template<typename Mutex >
IIRCoefficients juce::IIRFilterBase< Mutex >::coefficients
protected

◆ processLock

template<typename Mutex >
Mutex juce::IIRFilterBase< Mutex >::processLock
protected

◆ v1

template<typename Mutex >
float juce::IIRFilterBase< Mutex >::v1 = 0
protected

◆ v2

template<typename Mutex >
float juce::IIRFilterBase< Mutex >::v2 = 0
protected

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