LMMS
Loading...
Searching...
No Matches
lmms::BasicFilters< CHANNELS > Class Template Reference

#include <BasicFilters.h>

Public Types

enum class  FilterType {
  LowPass , HiPass , BandPass_CSG , BandPass_CZPG ,
  Notch , AllPass , Moog , DoubleLowPass ,
  Lowpass_RC12 , Bandpass_RC12 , Highpass_RC12 , Lowpass_RC24 ,
  Bandpass_RC24 , Highpass_RC24 , Formantfilter , DoubleMoog ,
  Lowpass_SV , Bandpass_SV , Highpass_SV , Notch_SV ,
  FastFormant , Tripole
}

Public Member Functions

void setFilterType (const FilterType _idx)
 BasicFilters (const sample_rate_t _sample_rate)
 ~BasicFilters ()
void clearHistory ()
void setSampleRate (const sample_rate_t sampleRate)
sample_t update (sample_t _in0, ch_cnt_t _chnl)
void calcFilterCoeffs (float _freq, float _q)

Static Public Member Functions

static float minFreq ()
static float minQ ()

Private Types

using frame = std::array<sample_t, CHANNELS>

Private Attributes

BiQuad< CHANNELS > m_biQuad
float m_r
float m_p
float m_k
float m_rca
float m_rcb
float m_rcc
float m_rcq
float m_vfa [4]
float m_vfb [4]
float m_vfc [4]
float m_vfq
float m_svf1
float m_svf2
float m_svq
frame m_y1
frame m_y2
frame m_y3
frame m_y4
frame m_oldx
frame m_oldy1
frame m_oldy2
frame m_oldy3
frame m_last
frame m_rcbp0
frame m_rclp0
frame m_rchp0
frame m_rclast0
frame m_rcbp1
frame m_rclp1
frame m_rchp1
frame m_rclast1
frame m_vfbp [6]
frame m_vfhp [6]
frame m_vflast [6]
frame m_delay1
frame m_delay2
frame m_delay3
frame m_delay4
FilterType m_type
bool m_doubleFilter
float m_sampleRate
float m_sampleRatio
BasicFilters< CHANNELS > * m_subFilter

Member Typedef Documentation

◆ frame

template<ch_cnt_t CHANNELS>
using lmms::BasicFilters< CHANNELS >::frame = std::array<sample_t, CHANNELS>
private

Member Enumeration Documentation

◆ FilterType

template<ch_cnt_t CHANNELS>
enum class lmms::BasicFilters::FilterType
strong
Enumerator
LowPass 
HiPass 
BandPass_CSG 
BandPass_CZPG 
Notch 
AllPass 
Moog 
DoubleLowPass 
Lowpass_RC12 
Bandpass_RC12 
Highpass_RC12 
Lowpass_RC24 
Bandpass_RC24 
Highpass_RC24 
Formantfilter 
DoubleMoog 
Lowpass_SV 
Bandpass_SV 
Highpass_SV 
Notch_SV 
FastFormant 
Tripole 

Constructor & Destructor Documentation

◆ BasicFilters()

template<ch_cnt_t CHANNELS>
lmms::BasicFilters< CHANNELS >::BasicFilters ( const sample_rate_t _sample_rate)
inline

◆ ~BasicFilters()

template<ch_cnt_t CHANNELS>
lmms::BasicFilters< CHANNELS >::~BasicFilters ( )
inline

Member Function Documentation

◆ calcFilterCoeffs()

template<ch_cnt_t CHANNELS>
void lmms::BasicFilters< CHANNELS >::calcFilterCoeffs ( float _freq,
float _q )
inline

◆ clearHistory()

template<ch_cnt_t CHANNELS>
void lmms::BasicFilters< CHANNELS >::clearHistory ( )
inline

◆ minFreq()

template<ch_cnt_t CHANNELS>
float lmms::BasicFilters< CHANNELS >::minFreq ( )
inlinestatic

◆ minQ()

template<ch_cnt_t CHANNELS>
float lmms::BasicFilters< CHANNELS >::minQ ( )
inlinestatic

◆ setFilterType()

template<ch_cnt_t CHANNELS>
void lmms::BasicFilters< CHANNELS >::setFilterType ( const FilterType _idx)
inline

◆ setSampleRate()

template<ch_cnt_t CHANNELS>
void lmms::BasicFilters< CHANNELS >::setSampleRate ( const sample_rate_t sampleRate)
inline

◆ update()

template<ch_cnt_t CHANNELS>
sample_t lmms::BasicFilters< CHANNELS >::update ( sample_t _in0,
ch_cnt_t _chnl )
inline

Member Data Documentation

◆ m_biQuad

template<ch_cnt_t CHANNELS>
BiQuad<CHANNELS> lmms::BasicFilters< CHANNELS >::m_biQuad
private

◆ m_delay1

template<ch_cnt_t CHANNELS>
frame lmms::BasicFilters< CHANNELS >::m_delay1
private

◆ m_delay2

template<ch_cnt_t CHANNELS>
frame lmms::BasicFilters< CHANNELS >::m_delay2
private

◆ m_delay3

template<ch_cnt_t CHANNELS>
frame lmms::BasicFilters< CHANNELS >::m_delay3
private

◆ m_delay4

template<ch_cnt_t CHANNELS>
frame lmms::BasicFilters< CHANNELS >::m_delay4
private

◆ m_doubleFilter

template<ch_cnt_t CHANNELS>
bool lmms::BasicFilters< CHANNELS >::m_doubleFilter
private

◆ m_k

template<ch_cnt_t CHANNELS>
float lmms::BasicFilters< CHANNELS >::m_k
private

◆ m_last

template<ch_cnt_t CHANNELS>
frame lmms::BasicFilters< CHANNELS >::m_last
private

◆ m_oldx

template<ch_cnt_t CHANNELS>
frame lmms::BasicFilters< CHANNELS >::m_oldx
private

◆ m_oldy1

template<ch_cnt_t CHANNELS>
frame lmms::BasicFilters< CHANNELS >::m_oldy1
private

◆ m_oldy2

template<ch_cnt_t CHANNELS>
frame lmms::BasicFilters< CHANNELS >::m_oldy2
private

◆ m_oldy3

template<ch_cnt_t CHANNELS>
frame lmms::BasicFilters< CHANNELS >::m_oldy3
private

◆ m_p

template<ch_cnt_t CHANNELS>
float lmms::BasicFilters< CHANNELS >::m_p
private

◆ m_r

template<ch_cnt_t CHANNELS>
float lmms::BasicFilters< CHANNELS >::m_r
private

◆ m_rca

template<ch_cnt_t CHANNELS>
float lmms::BasicFilters< CHANNELS >::m_rca
private

◆ m_rcb

template<ch_cnt_t CHANNELS>
float lmms::BasicFilters< CHANNELS >::m_rcb
private

◆ m_rcbp0

template<ch_cnt_t CHANNELS>
frame lmms::BasicFilters< CHANNELS >::m_rcbp0
private

◆ m_rcbp1

template<ch_cnt_t CHANNELS>
frame lmms::BasicFilters< CHANNELS >::m_rcbp1
private

◆ m_rcc

template<ch_cnt_t CHANNELS>
float lmms::BasicFilters< CHANNELS >::m_rcc
private

◆ m_rchp0

template<ch_cnt_t CHANNELS>
frame lmms::BasicFilters< CHANNELS >::m_rchp0
private

◆ m_rchp1

template<ch_cnt_t CHANNELS>
frame lmms::BasicFilters< CHANNELS >::m_rchp1
private

◆ m_rclast0

template<ch_cnt_t CHANNELS>
frame lmms::BasicFilters< CHANNELS >::m_rclast0
private

◆ m_rclast1

template<ch_cnt_t CHANNELS>
frame lmms::BasicFilters< CHANNELS >::m_rclast1
private

◆ m_rclp0

template<ch_cnt_t CHANNELS>
frame lmms::BasicFilters< CHANNELS >::m_rclp0
private

◆ m_rclp1

template<ch_cnt_t CHANNELS>
frame lmms::BasicFilters< CHANNELS >::m_rclp1
private

◆ m_rcq

template<ch_cnt_t CHANNELS>
float lmms::BasicFilters< CHANNELS >::m_rcq
private

◆ m_sampleRate

template<ch_cnt_t CHANNELS>
float lmms::BasicFilters< CHANNELS >::m_sampleRate
private

◆ m_sampleRatio

template<ch_cnt_t CHANNELS>
float lmms::BasicFilters< CHANNELS >::m_sampleRatio
private

◆ m_subFilter

template<ch_cnt_t CHANNELS>
BasicFilters<CHANNELS>* lmms::BasicFilters< CHANNELS >::m_subFilter
private

◆ m_svf1

template<ch_cnt_t CHANNELS>
float lmms::BasicFilters< CHANNELS >::m_svf1
private

◆ m_svf2

template<ch_cnt_t CHANNELS>
float lmms::BasicFilters< CHANNELS >::m_svf2
private

◆ m_svq

template<ch_cnt_t CHANNELS>
float lmms::BasicFilters< CHANNELS >::m_svq
private

◆ m_type

template<ch_cnt_t CHANNELS>
FilterType lmms::BasicFilters< CHANNELS >::m_type
private

◆ m_vfa

template<ch_cnt_t CHANNELS>
float lmms::BasicFilters< CHANNELS >::m_vfa[4]
private

◆ m_vfb

template<ch_cnt_t CHANNELS>
float lmms::BasicFilters< CHANNELS >::m_vfb[4]
private

◆ m_vfbp

template<ch_cnt_t CHANNELS>
frame lmms::BasicFilters< CHANNELS >::m_vfbp[6]
private

◆ m_vfc

template<ch_cnt_t CHANNELS>
float lmms::BasicFilters< CHANNELS >::m_vfc[4]
private

◆ m_vfhp

template<ch_cnt_t CHANNELS>
frame lmms::BasicFilters< CHANNELS >::m_vfhp[6]
private

◆ m_vflast

template<ch_cnt_t CHANNELS>
frame lmms::BasicFilters< CHANNELS >::m_vflast[6]
private

◆ m_vfq

template<ch_cnt_t CHANNELS>
float lmms::BasicFilters< CHANNELS >::m_vfq
private

◆ m_y1

template<ch_cnt_t CHANNELS>
frame lmms::BasicFilters< CHANNELS >::m_y1
private

◆ m_y2

template<ch_cnt_t CHANNELS>
frame lmms::BasicFilters< CHANNELS >::m_y2
private

◆ m_y3

template<ch_cnt_t CHANNELS>
frame lmms::BasicFilters< CHANNELS >::m_y3
private

◆ m_y4

template<ch_cnt_t CHANNELS>
frame lmms::BasicFilters< CHANNELS >::m_y4
private

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