![]() |
Audacity 3.2.0
|
#include <EqualizationFilter.h>
Public Member Functions | |
EqualizationFilter (const EffectSettingsManager &manager) | |
bool | CalcFilter () |
void | Filter (size_t len, float *buffer) const |
const Envelope & | ChooseEnvelope () const |
Envelope & | ChooseEnvelope () |
const Envelope & | ChooseEnvelopeToPaint () const |
![]() | |
EqualizationParameters (const EffectSettingsManager &manager) | |
void | LoadDefaults (int options) |
void | SaveConfig (const EffectSettingsManager &manager) const |
bool | IsLinear () const |
Public Attributes | |
Envelope | mLinEnvelope |
Envelope | mLogEnvelope |
HFFT | hFFT { GetFFT(windowSize) } |
Floats | mFFTBuffer { windowSize } |
Floats | mFilterFuncR { windowSize } |
Floats | mFilterFuncI { windowSize } |
double | mLoFreq { loFreqI } |
double | mHiFreq { mLoFreq } |
size_t | mWindowSize { windowSize } |
![]() | |
wxString | mCurveName |
float | mdBMin |
float | mdBMax |
size_t | mM |
int | mInterp |
bool | mDrawMode |
bool | mDrawGrid |
bool | mLin |
Static Public Attributes | |
static constexpr int | loFreqI = 20 |
static constexpr size_t | windowSize = 16384u |
![]() | |
static const EnumValueSymbol | kInterpStrings [nInterpolations] |
static constexpr EffectParameter | FilterLength |
static constexpr EffectParameter | CurveName |
static constexpr EffectParameter | InterpLin |
static constexpr EnumParameter | InterpMeth |
static constexpr EffectParameter | DrawMode |
static constexpr EffectParameter | DrawGrid |
static constexpr EffectParameter | dBMin |
static constexpr EffectParameter | dBMax |
Additional Inherited Members | |
![]() | |
enum | kInterpolations { kBspline , kCosine , kCubic , nInterpolations } |
Extend EqualizationParameters with frequency domain coefficients computed from a curve or from frequency band slider positions
Definition at line 24 of file EqualizationFilter.h.
|
explicit |
Definition at line 18 of file EqualizationFilter.cpp.
References mLinEnvelope, mLogEnvelope, and Envelope::SetTrackLen().
bool EqualizationFilter::CalcFilter | ( | ) |
Adjust given coefficients so there is a finite impulse response in time domain
Definition at line 32 of file EqualizationFilter.cpp.
References DB_TO_LINEAR, Envelope::GetValue(), InverseRealFFT(), EqualizationParameters::IsLinear(), M_PI, mFilterFuncI, mFilterFuncR, mHiFreq, mLinEnvelope, mLoFreq, mLogEnvelope, EqualizationParameters::mM, mWindowSize, and RealFFT().
Referenced by EffectEqualization::Init(), and EffectEqualization::Process().
|
inline |
Definition at line 46 of file EqualizationFilter.h.
References EqualizationParameters::mLin, mLinEnvelope, and mLogEnvelope.
|
inline |
Definition at line 44 of file EqualizationFilter.h.
References EqualizationParameters::mLin, mLinEnvelope, and mLogEnvelope.
|
inline |
Definition at line 50 of file EqualizationFilter.h.
References EqualizationParameters::IsLinear(), mLinEnvelope, and mLogEnvelope.
void EqualizationFilter::Filter | ( | size_t | len, |
float * | buffer | ||
) | const |
Transform a given buffer of time domain signal, which should be zero padded left and right for the tails
Definition at line 149 of file EqualizationFilter.cpp.
References hFFT, InverseRealFFTf(), mFFTBuffer, mFilterFuncI, mFilterFuncR, RealFFTf(), and ReorderToTime().
Referenced by EffectEqualization::ProcessOne().
HFFT EqualizationFilter::hFFT { GetFFT(windowSize) } |
Definition at line 54 of file EqualizationFilter.h.
Referenced by Filter().
|
staticconstexpr |
Definition at line 27 of file EqualizationFilter.h.
Referenced by EffectEqualization::Init(), and EqualizationUI::setCurve().
Floats EqualizationFilter::mFFTBuffer { windowSize } |
Definition at line 55 of file EqualizationFilter.h.
Referenced by Filter().
Floats EqualizationFilter::mFilterFuncI { windowSize } |
Definition at line 56 of file EqualizationFilter.h.
Referenced by CalcFilter(), and Filter().
Floats EqualizationFilter::mFilterFuncR { windowSize } |
Definition at line 56 of file EqualizationFilter.h.
Referenced by CalcFilter(), and Filter().
double EqualizationFilter::mHiFreq { mLoFreq } |
Definition at line 58 of file EqualizationFilter.h.
Referenced by CalcFilter(), EffectEqualization::EffectEqualization(), EqualizationCurvesList::EnvelopeUpdated(), EqualizationBandSliders::Init(), and EffectEqualization::Init().
Envelope EqualizationFilter::mLinEnvelope |
Definition at line 53 of file EqualizationFilter.h.
Referenced by CalcFilter(), ChooseEnvelope(), ChooseEnvelopeToPaint(), EqualizationCurvesList::EnvelopeUpdated(), EqualizationBandSliders::EnvLinToLog(), EqualizationBandSliders::EnvLogToLin(), EqualizationFilter(), and EqualizationBandSliders::Invert().
double EqualizationFilter::mLoFreq { loFreqI } |
Definition at line 57 of file EqualizationFilter.h.
Referenced by CalcFilter(), and EffectEqualization::Init().
Envelope EqualizationFilter::mLogEnvelope |
Definition at line 53 of file EqualizationFilter.h.
Referenced by CalcFilter(), ChooseEnvelope(), ChooseEnvelopeToPaint(), EqualizationCurvesList::EnvelopeUpdated(), EqualizationFilter(), EqualizationBandSliders::ErrMin(), and EqualizationBandSliders::OnSlider().
size_t EqualizationFilter::mWindowSize { windowSize } |
Definition at line 59 of file EqualizationFilter.h.
Referenced by CalcFilter(), and EqualizationPanel::Recalc().
|
staticconstexpr |
Definition at line 32 of file EqualizationFilter.h.
Referenced by EffectEqualization::ProcessOne().