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

#include <juce_IIRFilter.h>

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.

Referenced by IIRFilterBase(), and IIRFilterBase().

◆ 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.

Referenced by getCoefficients().

◆ 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.

Referenced by IIRFilterBase().

◆ 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.

Referenced by IIRFilterBase().

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: