LMMS
Loading...
Searching...
No Matches
dsp::biquad_filter_module Class Reference

#include <audio_fx.h>

Inheritance diagram for dsp::biquad_filter_module:
dsp::filter_module_iface calf_plugins::filter_module_with_inertia< dsp::biquad_filter_module, filter_metadata > calf_plugins::filter_module_with_inertia< dsp::biquad_filter_module, filterclavier_metadata > calf_plugins::envelopefilter_audio_module calf_plugins::filter_audio_module calf_plugins::filterclavier_audio_module

Public Types

enum  {
  mode_12db_lp = 0 , mode_24db_lp = 1 , mode_36db_lp = 2 , mode_12db_hp = 3 ,
  mode_24db_hp = 4 , mode_36db_hp = 5 , mode_6db_bp = 6 , mode_12db_bp = 7 ,
  mode_18db_bp = 8 , mode_6db_br = 9 , mode_12db_br = 10 , mode_18db_br = 11 ,
  mode_allpass = 12 , mode_count
}

Public Member Functions

 biquad_filter_module ()
void calculate_filter (float freq, float q, int mode, float gain=1.0)
 Calculate filter coefficients based on parameters - cutoff/center frequency, q, filter type, output gain.
void filter_activate ()
 Reset filter state.
void sanitize ()
 Remove denormals.
int process_channel (uint16_t channel_no, const float *in, float *out, uint32_t numsamples, int inmask, float lvl_in=1., float lvl_out=1.)
 Process a single channel (float buffer) of data.
float freq_gain (int subindex, float freq, float srate) const
 Determine gain (|H(z)|) for a given frequency.
Public Member Functions inherited from dsp::filter_module_iface
virtual ~filter_module_iface ()

Public Attributes

uint32_t srate

Private Attributes

dsp::biquad_d1 left [3]
dsp::biquad_d1 right [3]
int order

Member Enumeration Documentation

◆ anonymous enum

anonymous enum
Enumerator
mode_12db_lp 
mode_24db_lp 
mode_36db_lp 
mode_12db_hp 
mode_24db_hp 
mode_36db_hp 
mode_6db_bp 
mode_12db_bp 
mode_18db_bp 
mode_6db_br 
mode_12db_br 
mode_18db_br 
mode_allpass 
mode_count 

Constructor & Destructor Documentation

◆ biquad_filter_module()

dsp::biquad_filter_module::biquad_filter_module ( )
inline

Member Function Documentation

◆ calculate_filter()

void biquad_filter_module::calculate_filter ( float freq,
float q,
int mode,
float gain = 1.0 )
virtual

Calculate filter coefficients based on parameters - cutoff/center frequency, q, filter type, output gain.

Implements dsp::filter_module_iface.

◆ filter_activate()

void biquad_filter_module::filter_activate ( )
virtual

Reset filter state.

Implements dsp::filter_module_iface.

◆ freq_gain()

float biquad_filter_module::freq_gain ( int subindex,
float freq,
float srate ) const
virtual

Determine gain (|H(z)|) for a given frequency.

Implements dsp::filter_module_iface.

Reimplemented in calf_plugins::envelopefilter_audio_module.

◆ process_channel()

int biquad_filter_module::process_channel ( uint16_t channel_no,
const float * in,
float * out,
uint32_t numsamples,
int inmask,
float lvl_in = 1.,
float lvl_out = 1. )
virtual

Process a single channel (float buffer) of data.

Implements dsp::filter_module_iface.

◆ sanitize()

void biquad_filter_module::sanitize ( )
virtual

Remove denormals.

Implements dsp::filter_module_iface.

Member Data Documentation

◆ left

dsp::biquad_d1 dsp::biquad_filter_module::left[3]
private

◆ order

int dsp::biquad_filter_module::order
private

◆ right

dsp::biquad_d1 dsp::biquad_filter_module::right[3]
private

◆ srate

uint32_t dsp::biquad_filter_module::srate

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