DSPark 1.6.1
Header-only audio DSP framework in pure C++20 — zero dependencies
Loading...
Searching...
No Matches
dspark::FilterEngine< T, MaxChannels > Class Template Reference

Professional multi-mode filter with cascaded biquad stages. More...

#include <Filters.h>

Collaboration diagram for dspark::FilterEngine< T, MaxChannels >:

Classes

struct  ButterworthCascade
 
struct  CascadeInfo
 Per-stage Butterworth cascade layout for an LP/HP slope (for analysis). More...
 

Public Types

enum class  Shape {
  LowPass , HighPass , BandPass , Peak ,
  LowShelf , HighShelf , Notch , AllPass ,
  Tilt
}
 Supported filter shapes. More...
 

Public Member Functions

 ~FilterEngine ()=default
 
void prepare (const AudioSpec &spec)
 Initializes the filter engine with the current audio specification.
 
void reset () noexcept
 Resets the internal state of all cascaded biquads and smoothers. Prevents clicks when relocating playback or enabling the effect.
 
void setLowPass (float freq, float Q=0.707f, int slopeDb=12)
 Configures a low-pass filter.
 
void setHighPass (float freq, float Q=0.707f, int slopeDb=12)
 Configures a high-pass filter.
 
void setBandPass (float freq, float Q=0.707f)
 Configures a band-pass filter (fixed 12 dB/oct).
 
void setPeaking (float freq, float gainDb, float Q=1.0f)
 Configures a peaking / bell EQ filter.
 
void setLowShelf (float freq, float gainDb, float slope=1.0f)
 Configures a low-shelf EQ filter.
 
void setHighShelf (float freq, float gainDb, float slope=1.0f)
 Configures a high-shelf EQ filter.
 
void setNotch (float freq, float Q=10.0f)
 Configures a notch (band-reject) filter.
 
void setAllPass (float freq, float Q=0.707f)
 Configures an all-pass filter (shifts phase, flat frequency response).
 
void setTilt (float centerFreq, float gainDb)
 Configures a tilt EQ filter (boost highs/cut lows or vice versa).
 
void setMatchedPeak (bool enabled) noexcept
 Selects the Orfanidis matched (de-cramped) design for Peak bells.
 
bool isMatchedPeak () const noexcept
 Returns whether Peak bells use the matched (de-cramped) design.
 
Shape getShape () const noexcept
 Returns the active filter shape.
 
int getSlopeDb () const noexcept
 Returns the active slope in dB/oct (LP/HP only - others = 12).
 
void setShape (Shape newShape, int slopeDb=12) noexcept
 Switches the filter topology while keeping the current frequency, resonance, and gain unchanged.
 
void setFrequency (float freq) noexcept
 Sets the target cutoff/center frequency. Thread-safe.
 
void setResonance (float Q) noexcept
 Sets the target resonance/Q. Thread-safe.
 
void setGain (float dB) noexcept
 Sets the target gain in dB. Thread-safe.
 
void setNonlinearity (T amount) noexcept
 Sets the nonlinearity amount. Thread-safe.
 
void enableAnalogDrift (AnalogRandom::AnalogComponent component, float intensity=0.5f)
 Enables analog-style low-frequency modulation of the cutoff.
 
void disableAnalogDrift () noexcept
 Disables analog-style drift modulation. Thread-safe.
 
void processBlock (AudioBufferView< T > buffer) noexcept
 Processes an entire block of audio data. Internally branches into static, smoothed, or nonlinear processing paths to optimize CPU usage and allow auto-vectorization when possible.
 
processSample (T input, int channel) noexcept
 Processes a single sample without parameter smoothing or coefficient updates.
 
void applyParametersNow () noexcept
 Applies pending parameter targets immediately and rebuilds the coefficients (no smoothing: values jump).
 
std::vector< uint8_t > getState () const
 Serializes the parameter state (setup/UI threads; allocates).
 
bool setState (const uint8_t *data, size_t size)
 Restores parameters from a blob (tolerant; rejects foreign ids).
 

Static Public Member Functions

static CascadeInfo cascadeForSlope (int slopeDb, float userQ=0.707f) noexcept
 Returns the exact Butterworth cascade (first-order flag + per-stage Q values) used internally for a given LP/HP slope. Lets callers reproduce the true cascade magnitude instead of approximating with a single Q.
 

Protected Member Functions

void updateCoefficients (float freq, float Q, float gainDb) noexcept
 

Static Protected Member Functions

static ButterworthCascade computeCascade (int slopeDb) noexcept
 
static int slopeToStages (int slopeDb) noexcept
 

Protected Attributes

AudioSpec spec_ {}
 
std::atomic< Shapeshape_ { Shape::LowPass }
 
std::atomic< int > numStages_ { 1 }
 
std::atomic< int > slopeDb_ { 12 }
 
std::atomic< float > shelfSlope_ { 1.0f }
 
std::atomic< bool > matchedPeak_ { false }
 
std::array< Biquad< T, MaxChannels >, kMaxStagesstages_ {}
 
Smoothers::StateVariableSmoother freqSmoother_
 
Smoothers::LinearSmoother resSmoother_
 
Smoothers::LinearSmoother gainSmoother_
 
std::atomic< float > targetFreq_ {1000.0f}
 
std::atomic< float > targetRes_ {0.707f}
 
std::atomic< float > targetGain_ {0.0f}
 
std::atomic< float > targetNonlinearity_ {0.0f}
 
std::atomic< bool > driftEnabled_ { false }
 
std::atomic< float > driftIntensity_ { 0.0f }
 
AnalogRandom::Generator< float > driftGen_
 
float lastFreq_ = -1.0f
 
float lastQ_ = -1.0f
 
float lastGain_ = -1e9f
 
Shape lastShape_ = Shape::LowPass
 
int lastSlopeDb_ = -1
 
bool lastMatched_ = false
 
float lastShelfSlope_ = -1.0f
 Shelf S: a slope-only change must rebuild coeffs.
 

Static Protected Attributes

static constexpr int kMaxStages = 4
 
static constexpr int kMaxOrder = 8
 

Detailed Description

template<typename T, int MaxChannels = 16>
class dspark::FilterEngine< T, MaxChannels >

Professional multi-mode filter with cascaded biquad stages.

Utilizes SIMD-friendly branching and atomic parameter states for thread-safe real-time manipulation.

Template Parameters
TSample type (float or double).
MaxChannelsMaximum number of audio channels allowed.

Definition at line 71 of file Filters.h.

Member Enumeration Documentation

◆ Shape

template<typename T , int MaxChannels = 16>
enum class dspark::FilterEngine::Shape
strong

Supported filter shapes.

Enumerator
LowPass 
HighPass 
BandPass 
Peak 
LowShelf 
HighShelf 
Notch 
AllPass 
Tilt 

Definition at line 80 of file Filters.h.

Constructor & Destructor Documentation

◆ ~FilterEngine()

template<typename T , int MaxChannels = 16>
dspark::FilterEngine< T, MaxChannels >::~FilterEngine ( )
default

Member Function Documentation

◆ applyParametersNow()

template<typename T , int MaxChannels = 16>
void dspark::FilterEngine< T, MaxChannels >::applyParametersNow ( )
inlinenoexcept

Applies pending parameter targets immediately and rebuilds the coefficients (no smoothing: values jump).

For per-sample workflows where processBlock() never runs, so the atomic parameter targets would otherwise never reach the biquad stages. Owner (audio) thread only, like processSample().

Definition at line 583 of file Filters.h.

◆ cascadeForSlope()

template<typename T , int MaxChannels = 16>
static CascadeInfo dspark::FilterEngine< T, MaxChannels >::cascadeForSlope ( int  slopeDb,
float  userQ = 0.707f 
)
inlinestaticnoexcept

Returns the exact Butterworth cascade (first-order flag + per-stage Q values) used internally for a given LP/HP slope. Lets callers reproduce the true cascade magnitude instead of approximating with a single Q.

Parameters
slopeDbSlope in dB/octave (6..48).
userQThe engine's resonance parameter: scales the final stage exactly as updateCoefficients() does (neutral at the 0.707 default, resonant peak above it).

Definition at line 297 of file Filters.h.

◆ computeCascade()

template<typename T , int MaxChannels = 16>
static ButterworthCascade dspark::FilterEngine< T, MaxChannels >::computeCascade ( int  slopeDb)
inlinestaticprotectednoexcept

Definition at line 668 of file Filters.h.

◆ disableAnalogDrift()

template<typename T , int MaxChannels = 16>
void dspark::FilterEngine< T, MaxChannels >::disableAnalogDrift ( )
inlinenoexcept

Disables analog-style drift modulation. Thread-safe.

Definition at line 413 of file Filters.h.

◆ enableAnalogDrift()

template<typename T , int MaxChannels = 16>
void dspark::FilterEngine< T, MaxChannels >::enableAnalogDrift ( AnalogRandom::AnalogComponent  component,
float  intensity = 0.5f 
)
inline

Enables analog-style low-frequency modulation of the cutoff.

Note
Setup thread only (it re-prepares the internal generator, which is not safe concurrently with processBlock). Call prepare() first so the generator receives the real sample rate.
Parameters
componentThe analog component profile to simulate.
intensityModulation depth (0.0 to 1.0). Non-finite values are ignored.

Definition at line 401 of file Filters.h.

◆ getShape()

template<typename T , int MaxChannels = 16>
Shape dspark::FilterEngine< T, MaxChannels >::getShape ( ) const
inlinenoexcept

Returns the active filter shape.

Definition at line 279 of file Filters.h.

◆ getSlopeDb()

template<typename T , int MaxChannels = 16>
int dspark::FilterEngine< T, MaxChannels >::getSlopeDb ( ) const
inlinenoexcept

Returns the active slope in dB/oct (LP/HP only - others = 12).

Definition at line 282 of file Filters.h.

◆ getState()

template<typename T , int MaxChannels = 16>
std::vector< uint8_t > dspark::FilterEngine< T, MaxChannels >::getState ( ) const
inline

Serializes the parameter state (setup/UI threads; allocates).

Definition at line 609 of file Filters.h.

◆ isMatchedPeak()

template<typename T , int MaxChannels = 16>
bool dspark::FilterEngine< T, MaxChannels >::isMatchedPeak ( ) const
inlinenoexcept

Returns whether Peak bells use the matched (de-cramped) design.

Definition at line 273 of file Filters.h.

◆ prepare()

template<typename T , int MaxChannels = 16>
void dspark::FilterEngine< T, MaxChannels >::prepare ( const AudioSpec spec)
inline

Initializes the filter engine with the current audio specification.

Parameters
specThe audio specification containing sample rate and block size. An invalid spec (non-positive or NaN fields) is ignored.

Definition at line 93 of file Filters.h.

◆ processBlock()

template<typename T , int MaxChannels = 16>
void dspark::FilterEngine< T, MaxChannels >::processBlock ( AudioBufferView< T >  buffer)
inlinenoexcept

Processes an entire block of audio data. Internally branches into static, smoothed, or nonlinear processing paths to optimize CPU usage and allow auto-vectorization when possible.

Parameters
bufferView of the audio buffer to process in-place.

Definition at line 424 of file Filters.h.

◆ processSample()

template<typename T , int MaxChannels = 16>
T dspark::FilterEngine< T, MaxChannels >::processSample ( input,
int  channel 
)
inlinenoexcept

Processes a single sample without parameter smoothing or coefficient updates.

Warning
Must only be used when parameter changes are managed externally: call applyParametersNow() after changing parameters, or rely on processBlock() to consume them (it smooths).
Parameters
inputInput sample value.
channelIndex of the audio channel being processed. Out-of-range channels return the input unprocessed (the per-channel biquad state is bounded to MaxChannels).
Returns
T Processed sample value.

Definition at line 565 of file Filters.h.

◆ reset()

template<typename T , int MaxChannels = 16>
void dspark::FilterEngine< T, MaxChannels >::reset ( )
inlinenoexcept

Resets the internal state of all cascaded biquads and smoothers. Prevents clicks when relocating playback or enabling the effect.

Definition at line 114 of file Filters.h.

◆ setAllPass()

template<typename T , int MaxChannels = 16>
void dspark::FilterEngine< T, MaxChannels >::setAllPass ( float  freq,
float  Q = 0.707f 
)
inline

Configures an all-pass filter (shifts phase, flat frequency response).

Parameters
freqPhase transition center frequency in Hz.
QQuality factor.

Definition at line 235 of file Filters.h.

◆ setBandPass()

template<typename T , int MaxChannels = 16>
void dspark::FilterEngine< T, MaxChannels >::setBandPass ( float  freq,
float  Q = 0.707f 
)
inline

Configures a band-pass filter (fixed 12 dB/oct).

Parameters
freqTarget center frequency in Hz.
QQuality factor (bandwidth control).

Definition at line 159 of file Filters.h.

◆ setFrequency()

template<typename T , int MaxChannels = 16>
void dspark::FilterEngine< T, MaxChannels >::setFrequency ( float  freq)
inlinenoexcept

Sets the target cutoff/center frequency. Thread-safe.

Parameters
freqFrequency in Hz. Non-finite values are ignored.

Definition at line 347 of file Filters.h.

◆ setGain()

template<typename T , int MaxChannels = 16>
void dspark::FilterEngine< T, MaxChannels >::setGain ( float  dB)
inlinenoexcept

Sets the target gain in dB. Thread-safe.

Parameters
dBGain in decibels. Non-finite values are ignored.

Definition at line 373 of file Filters.h.

◆ setHighPass()

template<typename T , int MaxChannels = 16>
void dspark::FilterEngine< T, MaxChannels >::setHighPass ( float  freq,
float  Q = 0.707f,
int  slopeDb = 12 
)
inline

Configures a high-pass filter.

Parameters
freqTarget cutoff frequency in Hz.
QQuality factor (0.707 = Butterworth).
slopeDbSlope in dB/octave (6, 12, 18, 24, 30, 36, 42, 48).

Definition at line 145 of file Filters.h.

◆ setHighShelf()

template<typename T , int MaxChannels = 16>
void dspark::FilterEngine< T, MaxChannels >::setHighShelf ( float  freq,
float  gainDb,
float  slope = 1.0f 
)
inline

Configures a high-shelf EQ filter.

Parameters
freqTarget transition frequency in Hz.
gainDbGain in dB to boost or cut.
slopeShelf transition slope (1.0 = standard).

Definition at line 206 of file Filters.h.

◆ setLowPass()

template<typename T , int MaxChannels = 16>
void dspark::FilterEngine< T, MaxChannels >::setLowPass ( float  freq,
float  Q = 0.707f,
int  slopeDb = 12 
)
inline

Configures a low-pass filter.

Parameters
freqTarget cutoff frequency in Hz.
QQuality factor (0.707 = Butterworth).
slopeDbSlope in dB/octave (6, 12, 18, 24, 30, 36, 42, 48).

Definition at line 130 of file Filters.h.

◆ setLowShelf()

template<typename T , int MaxChannels = 16>
void dspark::FilterEngine< T, MaxChannels >::setLowShelf ( float  freq,
float  gainDb,
float  slope = 1.0f 
)
inline

Configures a low-shelf EQ filter.

Parameters
freqTarget transition frequency in Hz.
gainDbGain in dB to boost or cut.
slopeShelf transition slope (1.0 = standard).

Definition at line 190 of file Filters.h.

◆ setMatchedPeak()

template<typename T , int MaxChannels = 16>
void dspark::FilterEngine< T, MaxChannels >::setMatchedPeak ( bool  enabled)
inlinenoexcept

Selects the Orfanidis matched (de-cramped) design for Peak bells.

Bilinear bells cramp near Nyquist; the matched design prescribes the analog prototype's Nyquist gain so high bells keep their analog shape. Off by default (bit-compatible with previous output). Thread-safe. Not serialized by getState()/setState(); owners that persist it must re-apply it on restore (Equalizer does).

Definition at line 267 of file Filters.h.

◆ setNonlinearity()

template<typename T , int MaxChannels = 16>
void dspark::FilterEngine< T, MaxChannels >::setNonlinearity ( amount)
inlinenoexcept

Sets the nonlinearity amount. Thread-safe.

Parameters
amount0 = linear (default), 1 = full nonlinearity. Non-finite values are ignored.

Definition at line 384 of file Filters.h.

◆ setNotch()

template<typename T , int MaxChannels = 16>
void dspark::FilterEngine< T, MaxChannels >::setNotch ( float  freq,
float  Q = 10.0f 
)
inline

Configures a notch (band-reject) filter.

Parameters
freqTarget center frequency in Hz.
QQuality factor (bandwidth of the cut).

Definition at line 221 of file Filters.h.

◆ setPeaking()

template<typename T , int MaxChannels = 16>
void dspark::FilterEngine< T, MaxChannels >::setPeaking ( float  freq,
float  gainDb,
float  Q = 1.0f 
)
inline

Configures a peaking / bell EQ filter.

Parameters
freqTarget center frequency in Hz.
gainDbGain in dB to boost or cut.
QQuality factor.

Definition at line 174 of file Filters.h.

◆ setResonance()

template<typename T , int MaxChannels = 16>
void dspark::FilterEngine< T, MaxChannels >::setResonance ( float  Q)
inlinenoexcept

Sets the target resonance/Q. Thread-safe.

For LowPass/HighPass the cascade stays an exact Butterworth at the default Q (0.707) and larger values scale the final (most resonant) stage, adding the classic resonant peak at the cutoff. The 6 dB/oct slope is first-order and has no Q.

Parameters
QQuality factor. Non-finite values are ignored.

Definition at line 363 of file Filters.h.

◆ setShape()

template<typename T , int MaxChannels = 16>
void dspark::FilterEngine< T, MaxChannels >::setShape ( Shape  newShape,
int  slopeDb = 12 
)
inlinenoexcept

Switches the filter topology while keeping the current frequency, resonance, and gain unchanged.

Useful for UI dropdowns where the user expects the existing slider values to carry over when they pick a different filter type. For one-shot setup with explicit parameters, the setLowPass()/setPeaking()/etc. helpers are still preferred.

Parameters
newShapeTarget filter shape. Out-of-range values (a wild cast or corrupt state blob) are clamped into the enum range.
slopeDbSlope in dB/octave (only used by LP/HP, default 12).

Definition at line 322 of file Filters.h.

◆ setState()

template<typename T , int MaxChannels = 16>
bool dspark::FilterEngine< T, MaxChannels >::setState ( const uint8_t *  data,
size_t  size 
)
inline

Restores parameters from a blob (tolerant; rejects foreign ids).

Definition at line 623 of file Filters.h.

◆ setTilt()

template<typename T , int MaxChannels = 16>
void dspark::FilterEngine< T, MaxChannels >::setTilt ( float  centerFreq,
float  gainDb 
)
inline

Configures a tilt EQ filter (boost highs/cut lows or vice versa).

Parameters
centerFreqPivot frequency in Hz.
gainDbPositive = bright, negative = dark.

Definition at line 249 of file Filters.h.

◆ slopeToStages()

template<typename T , int MaxChannels = 16>
static int dspark::FilterEngine< T, MaxChannels >::slopeToStages ( int  slopeDb)
inlinestaticprotectednoexcept

Definition at line 690 of file Filters.h.

◆ updateCoefficients()

template<typename T , int MaxChannels = 16>
void dspark::FilterEngine< T, MaxChannels >::updateCoefficients ( float  freq,
float  Q,
float  gainDb 
)
inlineprotectednoexcept

Definition at line 696 of file Filters.h.

Member Data Documentation

◆ driftEnabled_

template<typename T , int MaxChannels = 16>
std::atomic<bool> dspark::FilterEngine< T, MaxChannels >::driftEnabled_ { false }
protected

Definition at line 788 of file Filters.h.

◆ driftGen_

template<typename T , int MaxChannels = 16>
AnalogRandom::Generator<float> dspark::FilterEngine< T, MaxChannels >::driftGen_
protected

Definition at line 790 of file Filters.h.

◆ driftIntensity_

template<typename T , int MaxChannels = 16>
std::atomic<float> dspark::FilterEngine< T, MaxChannels >::driftIntensity_ { 0.0f }
protected

Definition at line 789 of file Filters.h.

◆ freqSmoother_

template<typename T , int MaxChannels = 16>
Smoothers::StateVariableSmoother dspark::FilterEngine< T, MaxChannels >::freqSmoother_
protected

Definition at line 776 of file Filters.h.

◆ gainSmoother_

template<typename T , int MaxChannels = 16>
Smoothers::LinearSmoother dspark::FilterEngine< T, MaxChannels >::gainSmoother_
protected

Definition at line 777 of file Filters.h.

◆ kMaxOrder

template<typename T , int MaxChannels = 16>
constexpr int dspark::FilterEngine< T, MaxChannels >::kMaxOrder = 8
staticconstexprprotected

Definition at line 658 of file Filters.h.

◆ kMaxStages

template<typename T , int MaxChannels = 16>
constexpr int dspark::FilterEngine< T, MaxChannels >::kMaxStages = 4
staticconstexprprotected

Definition at line 657 of file Filters.h.

◆ lastFreq_

template<typename T , int MaxChannels = 16>
float dspark::FilterEngine< T, MaxChannels >::lastFreq_ = -1.0f
protected

Definition at line 793 of file Filters.h.

◆ lastGain_

template<typename T , int MaxChannels = 16>
float dspark::FilterEngine< T, MaxChannels >::lastGain_ = -1e9f
protected

Definition at line 795 of file Filters.h.

◆ lastMatched_

template<typename T , int MaxChannels = 16>
bool dspark::FilterEngine< T, MaxChannels >::lastMatched_ = false
protected

Definition at line 798 of file Filters.h.

◆ lastQ_

template<typename T , int MaxChannels = 16>
float dspark::FilterEngine< T, MaxChannels >::lastQ_ = -1.0f
protected

Definition at line 794 of file Filters.h.

◆ lastShape_

template<typename T , int MaxChannels = 16>
Shape dspark::FilterEngine< T, MaxChannels >::lastShape_ = Shape::LowPass
protected

Definition at line 796 of file Filters.h.

◆ lastShelfSlope_

template<typename T , int MaxChannels = 16>
float dspark::FilterEngine< T, MaxChannels >::lastShelfSlope_ = -1.0f
protected

Shelf S: a slope-only change must rebuild coeffs.

Definition at line 799 of file Filters.h.

◆ lastSlopeDb_

template<typename T , int MaxChannels = 16>
int dspark::FilterEngine< T, MaxChannels >::lastSlopeDb_ = -1
protected

Definition at line 797 of file Filters.h.

◆ matchedPeak_

template<typename T , int MaxChannels = 16>
std::atomic<bool> dspark::FilterEngine< T, MaxChannels >::matchedPeak_ { false }
protected

Definition at line 772 of file Filters.h.

◆ numStages_

template<typename T , int MaxChannels = 16>
std::atomic<int> dspark::FilterEngine< T, MaxChannels >::numStages_ { 1 }
protected

Definition at line 769 of file Filters.h.

◆ resSmoother_

template<typename T , int MaxChannels = 16>
Smoothers::LinearSmoother dspark::FilterEngine< T, MaxChannels >::resSmoother_
protected

Definition at line 777 of file Filters.h.

◆ shape_

template<typename T , int MaxChannels = 16>
std::atomic<Shape> dspark::FilterEngine< T, MaxChannels >::shape_ { Shape::LowPass }
protected

Definition at line 768 of file Filters.h.

◆ shelfSlope_

template<typename T , int MaxChannels = 16>
std::atomic<float> dspark::FilterEngine< T, MaxChannels >::shelfSlope_ { 1.0f }
protected

Definition at line 771 of file Filters.h.

◆ slopeDb_

template<typename T , int MaxChannels = 16>
std::atomic<int> dspark::FilterEngine< T, MaxChannels >::slopeDb_ { 12 }
protected

Definition at line 770 of file Filters.h.

◆ spec_

template<typename T , int MaxChannels = 16>
AudioSpec dspark::FilterEngine< T, MaxChannels >::spec_ {}
protected

Definition at line 764 of file Filters.h.

◆ stages_

template<typename T , int MaxChannels = 16>
std::array<Biquad<T, MaxChannels>, kMaxStages> dspark::FilterEngine< T, MaxChannels >::stages_ {}
protected

Definition at line 774 of file Filters.h.

◆ targetFreq_

template<typename T , int MaxChannels = 16>
std::atomic<float> dspark::FilterEngine< T, MaxChannels >::targetFreq_ {1000.0f}
protected

Definition at line 780 of file Filters.h.

◆ targetGain_

template<typename T , int MaxChannels = 16>
std::atomic<float> dspark::FilterEngine< T, MaxChannels >::targetGain_ {0.0f}
protected

Definition at line 782 of file Filters.h.

◆ targetNonlinearity_

template<typename T , int MaxChannels = 16>
std::atomic<float> dspark::FilterEngine< T, MaxChannels >::targetNonlinearity_ {0.0f}
protected

Definition at line 783 of file Filters.h.

◆ targetRes_

template<typename T , int MaxChannels = 16>
std::atomic<float> dspark::FilterEngine< T, MaxChannels >::targetRes_ {0.707f}
protected

Definition at line 781 of file Filters.h.


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