X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=libs%2Fardour%2Fardour%2Fdsp_filter.h;h=994d8725ea418576c6c3edacfacd779f49f8dcb1;hb=02db39c1bc63da52c21d77cc8f840d5d3233f301;hp=ddf61075cd642f4cea726587f17fcbf153c8dc1e;hpb=9a8a164930d02d433175eecef9d0e7119edfa16d;p=ardour.git diff --git a/libs/ardour/ardour/dsp_filter.h b/libs/ardour/ardour/dsp_filter.h index ddf61075cd..994d8725ea 100644 --- a/libs/ardour/ardour/dsp_filter.h +++ b/libs/ardour/ardour/dsp_filter.h @@ -193,7 +193,7 @@ namespace ARDOUR { namespace DSP { }; /** Biquad Filter */ - class LIBARDOUR_API BiQuad { + class LIBARDOUR_API Biquad { public: enum Type { LowPass, @@ -211,8 +211,8 @@ namespace ARDOUR { namespace DSP { * * @param samplerate Samplerate */ - BiQuad (double samplerate); - BiQuad (const BiQuad &other); + Biquad (double samplerate); + Biquad (const Biquad &other); /** process audio data * @@ -228,6 +228,13 @@ namespace ARDOUR { namespace DSP { * @param gain filter gain */ void compute (Type t, double freq, double Q, double gain); + + /** filter transfer function (filter response for spectrum visualization) + * @param freq frequency + * @return gain at given frequency in dB (clamped to -120..+120) + */ + float dB_at_freq (float freq) const; + /** reset filter state */ void reset () { _z1 = _z2 = 0.0; } private: