Loading...
Searching...
No Matches
dsp::StateVariableFilter::Parameters< NumericType > Struct Template Reference

Structure used for the state variable filter parameters. More...

#include <juce_StateVariableFilter.h>

Inheritance diagram for dsp::StateVariableFilter::Parameters< NumericType >:

Public Types

using Type = StateVariableFilterType
 
using Ptr = ReferenceCountedObjectPtr<Parameters>
 The Coefficients structure is ref-counted, so this is a handy type that can be used as a pointer to one.
 
- Public Types inherited from dsp::ProcessorState
using Ptr = ReferenceCountedObjectPtr<ProcessorState>
 The ProcessorState structure is ref-counted, so this is a handy type that can be used as a pointer to one.
 

Public Member Functions

void setCutOffFrequency (double sampleRate, NumericType frequency, NumericType resonance=static_cast< NumericType >(1.0/MathConstants< double >::sqrt2)) noexcept
 Sets the cutoff frequency and resonance of the IIR filter.
 
 Parameters ()=default
 
 Parameters (const Parameters &o)
 
Parametersoperator= (const Parameters &o) noexcept
 
- Public Member Functions inherited from ReferenceCountedObject
void incReferenceCount () noexcept
 Increments the object's reference count.
 
void decReferenceCount () noexcept
 Decreases the object's reference count.
 
bool decReferenceCountWithoutDeleting () noexcept
 Decreases the object's reference count.
 
int getReferenceCount () const noexcept
 Returns the object's current reference count.
 

Public Attributes

Type type = Type::lowPass
 The type of the IIR filter.
 
NumericType g = static_cast<NumericType> (std::tan (MathConstants<double>::pi * 200.0 / 44100.0))
 
NumericType R2 = static_cast<NumericType> (MathConstants<double>::sqrt2)
 
NumericType h = static_cast<NumericType> (1.0 / (1.0 + R2 * g + g * g))
 

Additional Inherited Members

- Protected Member Functions inherited from ReferenceCountedObject
 ReferenceCountedObject ()=default
 Creates the reference-counted object (with an initial ref count of zero).
 
 ReferenceCountedObject (const ReferenceCountedObject &) noexcept
 Copying from another object does not affect this one's reference-count.
 
 ReferenceCountedObject (ReferenceCountedObject &&) noexcept
 Copying from another object does not affect this one's reference-count.
 
ReferenceCountedObjectoperator= (const ReferenceCountedObject &) noexcept
 Copying from another object does not affect this one's reference-count.
 
ReferenceCountedObjectoperator= (ReferenceCountedObject &&) noexcept
 Copying from another object does not affect this one's reference-count.
 
virtual ~ReferenceCountedObject ()
 Destructor.
 
void resetReferenceCount () noexcept
 Resets the reference count to zero without deleting the object.
 

Detailed Description

template<typename NumericType>
struct dsp::StateVariableFilter::Parameters< NumericType >

Structure used for the state variable filter parameters.

Member Typedef Documentation

◆ Type

template<typename NumericType >
using dsp::StateVariableFilter::Parameters< NumericType >::Type = StateVariableFilterType

◆ Ptr

template<typename NumericType >
using dsp::StateVariableFilter::Parameters< NumericType >::Ptr = ReferenceCountedObjectPtr<Parameters>

The Coefficients structure is ref-counted, so this is a handy type that can be used as a pointer to one.

Constructor & Destructor Documentation

◆ Parameters() [1/2]

template<typename NumericType >
dsp::StateVariableFilter::Parameters< NumericType >::Parameters ( )
default

◆ Parameters() [2/2]

template<typename NumericType >
dsp::StateVariableFilter::Parameters< NumericType >::Parameters ( const Parameters< NumericType > & o)

Member Function Documentation

◆ setCutOffFrequency()

template<typename NumericType >
void dsp::StateVariableFilter::Parameters< NumericType >::setCutOffFrequency ( double sampleRate,
NumericType frequency,
NumericType resonance = static_cast<NumericType> (1.0 / MathConstants<double>::sqrt2) )
noexcept

Sets the cutoff frequency and resonance of the IIR filter.

Note: The bandwidth of the resonance increases with the value of the parameter. To have a standard 12 dB/octave filter, the value must be set at 1 / sqrt (2).

References dsp::StateVariableFilter::Parameters< NumericType >::g, dsp::StateVariableFilter::Parameters< NumericType >::h, jassert, and dsp::StateVariableFilter::Parameters< NumericType >::R2.

◆ operator=()

Member Data Documentation

◆ type

template<typename NumericType >
Type dsp::StateVariableFilter::Parameters< NumericType >::type = Type::lowPass

The type of the IIR filter.

◆ g

template<typename NumericType >
NumericType dsp::StateVariableFilter::Parameters< NumericType >::g = static_cast<NumericType> (std::tan (MathConstants<double>::pi * 200.0 / 44100.0))

◆ R2

template<typename NumericType >
NumericType dsp::StateVariableFilter::Parameters< NumericType >::R2 = static_cast<NumericType> (MathConstants<double>::sqrt2)

◆ h

template<typename NumericType >
NumericType dsp::StateVariableFilter::Parameters< NumericType >::h = static_cast<NumericType> (1.0 / (1.0 + R2 * g + g * g))

The documentation for this struct was generated from the following file:
linkedin facebook pinterest youtube rss twitter instagram facebook-blank rss-blank linkedin-blank pinterest youtube twitter instagram