![]() |
Audacity 3.2.0
|
An Effect that modifies volume in different frequency bands. More...
#include <Equalization.h>
Public Member Functions | |
EffectEqualization (int Options=kEqLegacy) | |
virtual | ~EffectEqualization () |
ComponentInterfaceSymbol | GetSymbol () const override |
TranslatableString | GetDescription () const override |
ManualPageID | ManualPage () const override |
Name of a page in the Audacity alpha manual, default is empty. More... | |
bool | VisitSettings (SettingsVisitor &visitor, EffectSettings &settings) override |
bool | VisitSettings (ConstSettingsVisitor &visitor, const EffectSettings &settings) const override |
EffectType | GetType () const override |
Type determines how it behaves. More... | |
bool | LoadFactoryDefaults (EffectSettings &settings) const override |
Change settings back to "factory default". More... | |
bool | DoLoadFactoryDefaults (EffectSettings &settings) |
RegistryPaths | GetFactoryPresets () const override |
Report names of factory presets. More... | |
bool | LoadFactoryPreset (int id, EffectSettings &settings) const override |
Change settings to the preset whose name is GetFactoryPresets()[id] More... | |
bool | ValidateUI (EffectSettings &) override |
bool | Init () override |
Call once to set up state for whole list of tracks to be processed. More... | |
bool | Process (EffectInstance &instance, EffectSettings &settings) override |
Actually do the effect here. More... | |
bool | CloseUI () override |
std::unique_ptr< EffectUIValidator > | PopulateOrExchange (ShuttleGui &S, EffectInstance &instance, EffectSettingsAccess &access) override |
Add controls to effect panel; always succeeds. More... | |
bool | TransferDataToWindow (const EffectSettings &settings) override |
Update controls for the settings. More... | |
![]() | |
std::shared_ptr< EffectInstance > | MakeInstance () const override |
Make an object maintaining short-term state of an Effect. More... | |
![]() | |
virtual bool | Init () |
Call once to set up state for whole list of tracks to be processed. More... | |
virtual bool | Process (EffectInstance &instance, EffectSettings &settings)=0 |
Actually do the effect here. More... | |
virtual bool | RealtimeInitialize (EffectSettings &settings, double sampleRate) |
virtual bool | RealtimeAddProcessor (EffectSettings &settings, unsigned numChannels, float sampleRate) |
virtual bool | RealtimeSuspend () |
virtual bool | RealtimeResume () |
virtual bool | RealtimeProcessStart (EffectSettings &settings) |
settings are possibly changed, since last call, by an asynchronous dialog More... | |
virtual size_t | RealtimeProcess (size_t group, EffectSettings &settings, const float *const *inBuf, float *const *outBuf, size_t numSamples) |
virtual bool | RealtimeProcessEnd (EffectSettings &settings) noexcept |
settings can be updated to let a dialog change appearance at idle More... | |
virtual bool | RealtimeFinalize (EffectSettings &settings) noexcept |
virtual size_t | SetBlockSize (size_t maxBlockSize) |
virtual size_t | GetBlockSize () const |
![]() | |
Effect () | |
virtual | ~Effect () |
PluginPath | GetPath () const override |
bool | VisitSettings (SettingsVisitor &visitor, EffectSettings &settings) override |
bool | VisitSettings (ConstSettingsVisitor &visitor, const EffectSettings &settings) const override |
ComponentInterfaceSymbol | GetSymbol () const override |
VendorSymbol | GetVendor () const override |
wxString | GetVersion () const override |
TranslatableString | GetDescription () const override |
EffectType | GetType () const override |
Type determines how it behaves. More... | |
EffectFamilySymbol | GetFamily () const override |
Report identifier and user-visible name of the effect protocol. More... | |
bool | IsInteractive () const override |
Whether the effect needs a dialog for entry of settings. More... | |
bool | IsDefault () const override |
Whether the effect sorts "above the line" in the menus. More... | |
RealtimeSince | RealtimeSupport () const override |
Since which version of Audacity has the effect supported realtime? More... | |
bool | SupportsAutomation () const override |
Whether the effect has any automatable controls. More... | |
bool | SaveSettings (const EffectSettings &settings, CommandParameters &parms) const override |
Store settings as keys and values. More... | |
bool | LoadSettings (const CommandParameters &parms, EffectSettings &settings) const override |
Restore settings from keys and values. More... | |
bool | LoadUserPreset (const RegistryPath &name, EffectSettings &settings) const override |
Change settings to a user-named preset. More... | |
bool | SaveUserPreset (const RegistryPath &name, const EffectSettings &settings) const override |
Save settings in the configuration file as a user-named preset. More... | |
RegistryPaths | GetFactoryPresets () const override |
Report names of factory presets. More... | |
bool | LoadFactoryPreset (int id, EffectSettings &settings) const override |
Change settings to the preset whose name is GetFactoryPresets()[id] More... | |
bool | LoadFactoryDefaults (EffectSettings &settings) const override |
Change settings back to "factory default". More... | |
unsigned | GetAudioInCount () const override |
How many input buffers to allocate at once. More... | |
unsigned | GetAudioOutCount () const override |
How many output buffers to allocate at once. More... | |
virtual const EffectParameterMethods & | Parameters () const |
int | ShowClientInterface (wxWindow &parent, wxDialog &dialog, bool forceModal=false) override |
std::unique_ptr< EffectUIValidator > | PopulateUI (ShuttleGui &S, EffectInstance &instance, EffectSettingsAccess &access) override |
Adds controls to a panel that is given as the parent window of S More... | |
bool | IsGraphicalUI () override |
bool | ValidateUI (EffectSettings &) override |
bool | CloseUI () override |
bool | CanExportPresets () override |
void | ExportPresets (const EffectSettings &settings) const override |
void | ImportPresets (EffectSettings &settings) override |
bool | HasOptions () override |
void | ShowOptions () override |
const EffectSettingsManager & | GetDefinition () const override |
virtual NumericFormatSymbol | GetSelectionFormat () |
int | ShowHostInterface (wxWindow &parent, const EffectDialogFactory &factory, std::shared_ptr< EffectInstance > &pInstance, EffectSettingsAccess &access, bool forceModal=false) override |
Usually applies factory to self and given access. More... | |
bool | SaveSettingsAsString (const EffectSettings &settings, wxString &parms) const override |
bool | LoadSettingsFromString (const wxString &parms, EffectSettings &settings) const override |
bool | IsBatchProcessing () const override |
void | SetBatchProcessing () override |
void | UnsetBatchProcessing () override |
bool | TransferDataToWindow (const EffectSettings &settings) override |
Update controls for the settings. More... | |
bool | TransferDataFromWindow (EffectSettings &settings) override |
Update the given settings from controls. More... | |
unsigned | TestUIFlags (unsigned mask) |
bool | Delegate (Effect &delegate, EffectSettings &settings) |
Re-invoke DoEffect on another Effect object that implements the work. More... | |
int | MessageBox (const TranslatableString &message, long style=DefaultMessageBoxStyle, const TranslatableString &titleStr={}) const |
bool | EnableApply (bool enable=true) |
wxWindow * | GetUIParent () |
![]() | |
EffectBase () | |
~EffectBase () override | |
![]() | |
virtual | ~EffectUIClientInterface () |
virtual int | ShowClientInterface (wxWindow &parent, wxDialog &dialog, bool forceModal=false)=0 |
virtual bool | IsGraphicalUI ()=0 |
virtual std::unique_ptr< EffectUIValidator > | PopulateUI (ShuttleGui &S, EffectInstance &instance, EffectSettingsAccess &access)=0 |
Adds controls to a panel that is given as the parent window of S More... | |
virtual bool | CanExportPresets ()=0 |
virtual void | ExportPresets (const EffectSettings &settings) const =0 |
virtual void | ImportPresets (EffectSettings &settings)=0 |
virtual bool | HasOptions ()=0 |
virtual void | ShowOptions ()=0 |
![]() | |
EffectPlugin & | operator= (EffectPlugin &)=delete |
virtual | ~EffectPlugin () |
virtual const EffectSettingsManager & | GetDefinition () const =0 |
virtual int | ShowHostInterface (wxWindow &parent, const EffectDialogFactory &factory, std::shared_ptr< EffectInstance > &pInstance, EffectSettingsAccess &access, bool forceModal=false)=0 |
Usually applies factory to self and given access. More... | |
virtual void | Preview (EffectSettingsAccess &access, bool dryOnly)=0 |
virtual bool | SaveSettingsAsString (const EffectSettings &settings, wxString &parms) const =0 |
virtual bool | LoadSettingsFromString (const wxString &parms, EffectSettings &settings) const =0 |
virtual bool | IsBatchProcessing () const =0 |
virtual void | SetBatchProcessing ()=0 |
virtual void | UnsetBatchProcessing ()=0 |
virtual bool | DoEffect (EffectSettings &settings, double projectRate, TrackList *list, WaveTrackFactory *factory, NotifyingSelectedRegion &selectedRegion, unsigned flags, wxWindow *pParent=nullptr, const EffectDialogFactory &dialogFactory={}, const EffectSettingsAccessPtr &pAccess=nullptr)=0 |
Unfortunately complicated dual-use function. More... | |
virtual bool | TransferDataToWindow (const EffectSettings &settings)=0 |
Update controls for the settings. More... | |
virtual bool | TransferDataFromWindow (EffectSettings &settings)=0 |
Update the given settings from controls. More... | |
![]() | |
virtual | ~EffectInstanceFactory () |
virtual std::shared_ptr< EffectInstance > | MakeInstance () const =0 |
Make an object maintaining short-term state of an Effect. More... | |
virtual unsigned | GetAudioInCount () const =0 |
How many input buffers to allocate at once. More... | |
virtual unsigned | GetAudioOutCount () const =0 |
How many output buffers to allocate at once. More... | |
virtual int | GetMidiInCount () const |
Function that has not yet found a use. More... | |
virtual int | GetMidiOutCount () const |
Function that has not yet found a use. More... | |
![]() | |
virtual | ~EffectSettingsManager () |
virtual bool | VisitSettings (SettingsVisitor &visitor, EffectSettings &settings) |
virtual bool | VisitSettings (ConstSettingsVisitor &visitor, const EffectSettings &settings) const |
virtual EffectSettings | MakeSettings () const |
virtual bool | CopySettingsContents (const EffectSettings &src, EffectSettings &dst) const |
Update one settings object from another. More... | |
![]() | |
virtual | ~EffectDefinitionInterface () |
virtual EffectType | GetType () const =0 |
Type determines how it behaves. More... | |
virtual EffectType | GetClassification () const |
Determines which menu it appears in; default same as GetType(). More... | |
virtual EffectFamilySymbol | GetFamily () const =0 |
Report identifier and user-visible name of the effect protocol. More... | |
virtual bool | IsInteractive () const =0 |
Whether the effect needs a dialog for entry of settings. More... | |
virtual bool | IsDefault () const =0 |
Whether the effect sorts "above the line" in the menus. More... | |
virtual RealtimeSince | RealtimeSupport () const =0 |
Since which version of Audacity has the effect supported realtime? More... | |
bool | SupportsRealtime () const |
virtual bool | SupportsAutomation () const =0 |
Whether the effect has any automatable controls. More... | |
virtual bool | EnablesDebug () const |
Whether the effect dialog should have a Debug button; default, always false. More... | |
virtual ManualPageID | ManualPage () const |
Name of a page in the Audacity alpha manual, default is empty. More... | |
virtual FilePath | HelpPage () const |
Fully qualified local help file name, default is empty. More... | |
virtual bool | IsHiddenFromMenus () const |
Default is false. More... | |
![]() | |
virtual | ~ComponentInterface () |
virtual PluginPath | GetPath () const =0 |
virtual ComponentInterfaceSymbol | GetSymbol () const =0 |
virtual VendorSymbol | GetVendor () const =0 |
virtual wxString | GetVersion () const =0 |
virtual TranslatableString | GetDescription () const =0 |
TranslatableString | GetName () const |
![]() | |
XMLTagHandler () | |
virtual | ~XMLTagHandler () |
virtual bool | HandleXMLTag (const std::string_view &tag, const AttributesList &attrs)=0 |
virtual void | HandleXMLEndTag (const std::string_view &WXUNUSED(tag)) |
virtual void | HandleXMLContent (const std::string_view &WXUNUSED(content)) |
virtual XMLTagHandler * | HandleXMLChild (const std::string_view &tag)=0 |
void | ReadXMLEndTag (const char *tag) |
void | ReadXMLContent (const char *s, int len) |
XMLTagHandler * | ReadXMLChild (const char *tag) |
Static Public Member Functions | |
static EffectEqualization * | FetchParameters (EffectEqualization &e, EffectSettings &) |
![]() | |
static Effect * | FetchParameters (Effect &e, EffectSettings &) |
static void | IncEffectCounter () |
![]() | |
static Identifier | GetSquashedName (const Identifier &ident) |
A utility that strips spaces and CamelCases a name. More... | |
Static Public Attributes | |
static const ComponentInterfaceSymbol | Symbol { XO("Equalization") } |
![]() | |
static const wxString | kUserPresetIdent = wxT("User Preset:") |
static const wxString | kFactoryPresetIdent = wxT("Factory Preset:") |
static const wxString | kCurrentSettingsIdent = wxT("<Current Settings>") |
static const wxString | kFactoryDefaultsIdent = wxT("<Factory Defaults>") |
Private Types | |
enum | { loFreqI =20 } |
enum | kInterpolations { kBspline , kCosine , kCubic , nInterpolations } |
Private Member Functions | |
wxString | GetPrefsPrefix () |
bool | ProcessOne (int count, WaveTrack *t, sampleCount start, sampleCount len) |
bool | CalcFilter () |
void | Filter (size_t len, float *buffer) |
void | Flatten () |
void | ForceRecalc () |
void | EnvelopeUpdated () |
void | EnvelopeUpdated (Envelope *env, bool lin) |
bool | IsLinear () |
void | LoadCurves (const wxString &fileName={}, bool append=false) |
void | SaveCurves (const wxString &fileName={}) |
void | UpdateDefaultCurves (bool updateAll=false) |
void | Select (int sel) |
void | setCurve (int currentCurve) |
void | setCurve (const wxString &curveName) |
void | setCurve (void) |
bool | GetDefaultFileName (wxFileName &fileName) |
bool | HandleXMLTag (const std::string_view &tag, const AttributesList &attrs) override |
XMLTagHandler * | HandleXMLChild (const std::string_view &tag) override |
void | WriteXML (XMLWriter &xmlFile) const |
void | UpdateCurves () |
void | UpdateRuler () |
void | UpdateDraw () |
void | UpdateGraphic (void) |
void | EnvLogToLin (void) |
void | EnvLinToLog (void) |
void | ErrMin (void) |
void | GraphicEQ (Envelope *env) |
void | spline (double x[], double y[], size_t n, double y2[]) |
double | splint (double x[], double y[], size_t n, double y2[], double xr) |
void | OnErase (wxEvent &event) |
void | OnSize (wxSizeEvent &event) |
void | OnSlider (wxCommandEvent &event) |
void | OnInterp (wxCommandEvent &event) |
void | OnSliderM (wxCommandEvent &event) |
void | OnSliderDBMAX (wxCommandEvent &event) |
void | OnSliderDBMIN (wxCommandEvent &event) |
void | OnDrawMode (wxCommandEvent &event) |
void | OnGraphicMode (wxCommandEvent &event) |
void | OnCurve (wxCommandEvent &event) |
void | OnManage (wxCommandEvent &event) |
void | OnClear (wxCommandEvent &event) |
void | OnInvert (wxCommandEvent &event) |
void | OnGridOnOff (wxCommandEvent &event) |
void | OnLinFreq (wxCommandEvent &event) |
const EffectParameterMethods & | Parameters () const override |
Static Private Attributes | |
static const 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 |
Friends | |
class | EqualizationPanel |
class | EditCurvesDialog |
Additional Inherited Members | |
![]() | |
enum | : long { DefaultMessageBoxStyle = wxOK | wxCENTRE } |
![]() | |
using | EffectSettingsAccessPtr = std::shared_ptr< EffectSettingsAccess > |
![]() | |
enum class | RealtimeSince : unsigned { Never , Since_3_2 , Always } |
In which versions of Audacity was an effect realtime capable? More... | |
![]() | |
bool | EnablePreview (bool enable=true) |
bool | CheckWhetherSkipEffect (const EffectSettings &settings) const override |
Default implementation returns false. More... | |
double | CalcPreviewInputLength (const EffectSettings &settings, double previewLength) const override |
Default implementation returns previewLength More... | |
virtual std::unique_ptr< EffectUIValidator > | PopulateOrExchange (ShuttleGui &S, EffectInstance &instance, EffectSettingsAccess &access) |
Add controls to effect panel; always succeeds. More... | |
bool | TotalProgress (double frac, const TranslatableString &={}) const |
bool | TrackProgress (int whichTrack, double frac, const TranslatableString &={}) const |
bool | TrackGroupProgress (int whichGroup, double frac, const TranslatableString &={}) const |
int | GetNumWaveTracks () const |
int | GetNumWaveGroups () const |
void | GetBounds (const WaveTrack &track, const WaveTrack *pRight, sampleCount *start, sampleCount *len) |
void | CopyInputTracks (bool allSyncLockSelected=false) |
std::shared_ptr< AddedAnalysisTrack > | AddAnalysisTrack (const wxString &name=wxString()) |
ModifiedAnalysisTrack | ModifyAnalysisTrack (const LabelTrack *pOrigTrack, const wxString &name=wxString()) |
Track * | AddToOutputTracks (const std::shared_ptr< Track > &t) |
![]() | |
void | Preview (EffectSettingsAccess &access, bool dryOnly) override |
bool | DoEffect (EffectSettings &settings, double projectRate, TrackList *list, WaveTrackFactory *factory, NotifyingSelectedRegion &selectedRegion, unsigned flags, wxWindow *pParent, const EffectDialogFactory &dialogFactory, const EffectSettingsAccessPtr &pAccess) override |
Unfortunately complicated dual-use function. More... | |
virtual bool | CheckWhetherSkipEffect (const EffectSettings &settings) const =0 |
After Init(), tell whether Process() should be skipped. More... | |
virtual double | CalcPreviewInputLength (const EffectSettings &settings, double previewLength) const =0 |
void | SetLinearEffectFlag (bool linearEffectFlag) |
void | SetPreviewFullSelectionFlag (bool previewDurationFlag) |
bool | IsPreviewing () const |
void | IncludeNotSelectedPreviewTracks (bool includeNotSelected) |
void | ReplaceProcessedTracks (const bool bGoodResult) |
const TrackList * | inputTracks () const |
const AudacityProject * | FindProject () const |
virtual bool | ValidateUI (EffectSettings &settings)=0 |
virtual bool | CloseUI ()=0 |
![]() | |
wxWeakRef< wxDialog > | mHostUIDialog |
This smart pointer tracks the lifetime of the dialog. More... | |
wxWindow * | mUIParent {} |
![]() | |
BasicUI::ProgressDialog * | mProgress {} |
double | mProjectRate {} |
WaveTrackFactory * | mFactory {} |
std::shared_ptr< TrackList > | mOutputTracks |
double | mT0 {} |
double | mT1 {} |
wxArrayString | mPresetNames |
unsigned | mUIFlags { 0 } |
![]() | |
friend | EffectUIValidator |
friend | DefaultEffectUIValidator |
![]() | |
static int | nEffectsDone = 0 |
An Effect that modifies volume in different frequency bands.
Performs filtering, using an FFT to do a FIR filter. It lets the user draw an arbitrary envelope (using the same envelope editing code that is used to edit the track's amplitude envelope).
Also allows the curve to be specified with a series of 'graphic EQ' sliders.
The filter is applied using overlap/add of Hann windows.
Clone of the FFT Filter effect, no longer part of Audacity.
Definition at line 97 of file Equalization.h.
|
private |
|
private |
Enumerator | |
---|---|
kBspline | |
kCosine | |
kCubic | |
nInterpolations |
Definition at line 292 of file Equalization.h.
EffectEqualization::EffectEqualization | ( | int | Options = kEqLegacy | ) |
|
virtual |
Definition at line 340 of file Equalization.cpp.
|
private |
Definition at line 1325 of file Equalization.cpp.
References DB_TO_LINEAR, InverseRealFFT(), IsLinear(), M_PI, mFilterFuncI, mFilterFuncR, mHiFreq, mLinEnvelope, mLoFreq, mLogEnvelope, mM, mWindowSize, and RealFFT().
Referenced by Init(), Process(), and EqualizationPanel::Recalc().
|
overridevirtual |
Reimplemented from Effect.
Definition at line 673 of file Equalization.cpp.
References Effect::CloseUI(), mCurve, and mPanel.
bool EffectEqualization::DoLoadFactoryDefaults | ( | EffectSettings & | settings | ) |
Definition at line 431 of file Equalization.cpp.
References dBMax, dBMin, EffectParameter< Structure, Member, Type, Value >::def, DrawGrid, DrawMode, kEqOptionCurve, kEqOptionGraphic, Effect::LoadFactoryDefaults(), mdBMax, mdBMin, mDrawGrid, mDrawMode, mOptions, and settings().
Referenced by LoadFactoryDefaults().
|
private |
Definition at line 1963 of file Equalization.cpp.
References EnvelopeUpdated(), IsLinear(), mLinEnvelope, and mLogEnvelope.
Referenced by EnvelopeUpdated(), EnvLinToLog(), ErrMin(), Flatten(), OnInterp(), OnInvert(), EqualizationPanel::OnMouseEvent(), OnSlider(), and UpdateDraw().
|
private |
Definition at line 1975 of file Equalization.cpp.
References Envelope::GetNumberOfPoints(), Envelope::GetPoints(), mCurves, mDirty, mHiFreq, and Select().
|
private |
Definition at line 2387 of file Equalization.cpp.
References EnvelopeUpdated(), mHiFreq, mLinEnvelope, and mLogEnvelope.
Referenced by OnInvert(), OnLinFreq(), and UpdateGraphic().
|
private |
Definition at line 2363 of file Equalization.cpp.
References mHiFreq, mLinEnvelope, and mLogEnvelope.
Referenced by OnInvert(), OnLinFreq(), and UpdateDraw().
|
private |
Definition at line 2429 of file Equalization.cpp.
References EnvelopeUpdated(), flag, GraphicEQ(), mBandsInUse, mCurves, mEQVals, mLogEnvelope, mWhens, NUM_PTS, and Select().
Referenced by UpdateGraphic().
|
inlinestatic |
Definition at line 102 of file Equalization.h.
|
private |
Definition at line 1438 of file Equalization.cpp.
References hFFT, InverseRealFFTf(), mFFTBuffer, mFilterFuncI, mFilterFuncR, RealFFTf(), and ReorderToTime().
Referenced by ProcessOne().
|
private |
Definition at line 2033 of file Equalization.cpp.
References EnvelopeUpdated(), ForceRecalc(), kThirdOct, mBandsInUse, mDrawMode, mEQVals, mLinEnvelope, mLogEnvelope, mSliders, and mSlidersOld.
Referenced by OnClear().
|
private |
Definition at line 1952 of file Equalization.cpp.
References EqualizationPanel::ForceRecalc(), and mPanel.
Referenced by Flatten(), GraphicEQ(), OnInvert(), OnLinFreq(), OnSliderM(), PopulateOrExchange(), setCurve(), and UpdateDraw().
|
private |
Definition at line 1682 of file Equalization.cpp.
References FileNames::DataDir(), and FileNames::ResourcesDir().
Referenced by LoadCurves().
|
overridevirtual |
Reimplemented from Effect.
Definition at line 355 of file Equalization.cpp.
References XO.
|
overridevirtual |
Report names of factory presets.
Reimplemented from Effect.
Definition at line 474 of file Equalization.cpp.
References FactoryPresets, kEqOptionGraphic, mOptions, name, names, and TranslatableString::Translation().
|
private |
Definition at line 571 of file Equalization.cpp.
References kEqOptionCurve, kEqOptionGraphic, and mOptions.
Referenced by LoadCurves(), and UpdateDefaultCurves().
|
overridevirtual |
Reimplemented from Effect.
Definition at line 346 of file Equalization.cpp.
References kEqOptionCurve, kEqOptionGraphic, mOptions, Symbol, EffectEqualizationCurve::Symbol, and EffectEqualizationGraphic::Symbol.
|
overridevirtual |
Type determines how it behaves.
Reimplemented from Effect.
Definition at line 372 of file Equalization.cpp.
References EffectTypeProcess.
|
private |
Definition at line 2505 of file Equalization.cpp.
References Envelope::Flatten(), ForceRecalc(), Envelope::Insert(), kBspline, kCosine, kCubic, M_PI, mBandsInUse, mEQVals, mInterp, mWhens, mWhenSliders, NUM_PTS, NUMBER_OF_BANDS, Envelope::Reassign(), Envelope::SetTrackLen(), spline(), and splint().
Referenced by ErrMin(), OnInterp(), OnInvert(), OnSlider(), and UpdateGraphic().
|
overrideprivatevirtual |
Implements XMLTagHandler.
Definition at line 2156 of file Equalization.cpp.
|
overrideprivatevirtual |
Implements XMLTagHandler.
Definition at line 2062 of file Equalization.cpp.
References mCurves.
|
overridevirtual |
Call once to set up state for whole list of tracks to be processed.
Reimplemented from StatefulEffectBase.
Definition at line 581 of file Equalization.cpp.
References CalcFilter(), EffectBase::FindProject(), TrackList::Get(), anonymous_namespace{TimeTrack.cpp}::GetRate(), kThirdOct, loFreqI, mBandsInUse, mCurveName, mEnvelope, Effect::MessageBox(), mHiFreq, mLin, mLinEnvelope, mLoFreq, mLogEnvelope, NUMBER_OF_BANDS, TrackList::Selected(), setCurve(), and XO.
|
private |
Definition at line 2025 of file Equalization.cpp.
References mDrawMode, and mLin.
Referenced by CalcFilter(), EnvelopeUpdated(), OnInvert(), OnLinFreq(), and EqualizationPanel::OnPaint().
|
private |
Definition at line 1466 of file Equalization.cpp.
References _, FileNames::DataDir(), EQCURVES_REVISION, EQCURVES_VERSION, fn, GetDefaultFileName(), XMLFileReader::GetErrorStr(), GetPrefsPrefix(), gPrefs, mCurves, Effect::MessageBox(), XMLFileReader::Parse(), EQCurve::points, UPDATE_ALL, UpdateDefaultCurves(), and XO.
Referenced by EditCurvesDialog::OnDefaults(), EditCurvesDialog::OnImport(), and EditCurvesDialog::OnOK().
|
overridevirtual |
Change settings back to "factory default".
Reimplemented from Effect.
Definition at line 425 of file Equalization.cpp.
References DoLoadFactoryDefaults(), and settings().
|
overridevirtual |
Change settings to the preset whose name is GetFactoryPresets()[id]
Reimplemented from Effect.
Definition at line 488 of file Equalization.cpp.
References FactoryPresets, kEqOptionGraphic, mOptions, params, S, settings(), and VisitSettings().
|
overridevirtual |
Name of a page in the Audacity alpha manual, default is empty.
Reimplemented from EffectDefinitionInterface.
Definition at line 360 of file Equalization.cpp.
References kEqOptionCurve, kEqOptionGraphic, and mOptions.
|
private |
Definition at line 2826 of file Equalization.cpp.
References Flatten().
|
private |
Definition at line 2802 of file Equalization.cpp.
References mCurve, mDrawMode, setCurve(), and UpdateGraphic().
|
private |
Definition at line 2745 of file Equalization.cpp.
References mDrawMode, and UpdateDraw().
|
private |
Definition at line 2686 of file Equalization.cpp.
Referenced by PopulateOrExchange().
|
private |
Definition at line 2751 of file Equalization.cpp.
References mDrawMode, and UpdateGraphic().
|
private |
Definition at line 2899 of file Equalization.cpp.
References mDrawGrid, mGridOnOff, and mPanel.
|
private |
Definition at line 2734 of file Equalization.cpp.
References EnvelopeUpdated(), GraphicEQ(), mDrawMode, mInterp, mInterpChoice, and mLogEnvelope.
|
private |
Definition at line 2831 of file Equalization.cpp.
References EnvelopeUpdated(), EnvLinToLog(), EnvLogToLin(), ForceRecalc(), GraphicEQ(), IsLinear(), kThirdOct, mBandsInUse, mDrawMode, mEQVals, mLinEnvelope, mLogEnvelope, mSliders, and mSlidersOld.
|
private |
Definition at line 2905 of file Equalization.cpp.
References EnvLinToLog(), EnvLogToLin(), ForceRecalc(), IsLinear(), mEnvelope, mFreqRuler, mHiFreq, mLin, mLinEnvelope, mLinFreq, mLoFreq, mLogEnvelope, RulerPanel::ruler, Ruler::SetLog(), and Ruler::SetRange().
Referenced by TransferDataToWindow().
|
private |
Definition at line 2814 of file Equalization.cpp.
References mCurve, Effect::mUIParent, and UpdateCurves().
|
private |
Definition at line 2690 of file Equalization.cpp.
References Effect::mUIParent.
|
private |
Definition at line 2696 of file Equalization.cpp.
References EnvelopeUpdated(), GraphicEQ(), kThirdOct, mBandsInUse, mEQVals, mLogEnvelope, mSliders, and mSlidersOld.
|
private |
Definition at line 2787 of file Equalization.cpp.
References _, mdBMax, mdBMaxSlider, and UpdateRuler().
|
private |
Definition at line 2775 of file Equalization.cpp.
References _, mdBMin, mdBMinSlider, and UpdateRuler().
|
private |
Definition at line 2757 of file Equalization.cpp.
References ForceRecalc(), mM, mMSlider, and mMText.
|
overrideprivatevirtual |
Reimplemented from Effect.
Definition at line 172 of file Equalization.cpp.
References EffectEqualization(), FilterLength, InterpLin, InterpMeth, and nInterpolations.
|
overridevirtual |
Add controls to effect panel; always succeeds.
Reimplemented from Effect.
Definition at line 681 of file Equalization.cpp.
References CurrentSettingsGroup(), eIsCreating, EqualizationPanel, ForceRecalc(), TranslatableString::Format(), ID_Clear, ID_Curve, ID_dBMax, ID_dBMin, ID_Draw, ID_Graphic, ID_Grid, ID_Interp, ID_Invert, ID_Length, ID_Linear, ID_Manage, ID_Slider, Ruler::IntFormat, Effect::IsBatchProcessing(), kEqLegacy, kEqOptionCurve, kEqOptionGraphic, kInterpStrings, kThirdOct, label, RulerPanel::Options::LabelEdges(), Ruler::LinearDBFormat, Effect::LoadUserPreset(), RulerPanel::Options::Log(), mCurve, mCurves, mdBMaxSlider, mdBMinSlider, mdBRuler, mDraw, mDrawMode, mEQVals, mFreqRuler, mGraphic, mGridOnOff, mInterpChoice, mLinFreq, mM, mMSlider, mMText, EffectSettingsAccess::ModifySettings(), mOptions, mPanel, Msgids(), mSliders, mSlidersOld, Effect::mUIParent, nInterpolations, NUMBER_OF_BANDS, OnErase(), S, safenew, settings(), szr1, szrG, szrH, szrI, szrL, szrV, Verbatim(), XO, and XXO.
|
overridevirtual |
Actually do the effect here.
Implements StatefulEffectBase.
Definition at line 631 of file Equalization.cpp.
References CalcFilter(), Effect::CopyInputTracks(), PackedArray::end(), EffectBase::mOutputTracks, EffectBase::mT0, EffectBase::mT1, ProcessOne(), and EffectBase::ReplaceProcessedTracks().
|
private |
Definition at line 1176 of file Equalization.cpp.
References WaveTrack::Clear(), WaveTrack::ConvertToSampleFormat(), WaveTrack::EmptyCopy(), Filter(), floatSample, WaveTrack::GetClips(), SampleTrack::GetFloats(), WaveTrack::GetMaxBlockSize(), WaveTrack::Join(), limitSampleBufferSize(), SampleTrack::LongSamplesToTime(), mM, WaveTrack::Paste(), anonymous_namespace{NoteTrack.cpp}::swap(), Effect::TrackProgress(), and windowSize.
Referenced by Process().
|
private |
Definition at line 1710 of file Equalization.cpp.
References FileNames::DataDir(), fn, GuardedCall(), WriteXML(), and XO.
Referenced by EditCurvesDialog::OnExport(), EditCurvesDialog::OnOK(), UpdateDefaultCurves(), and ValidateUI().
|
private |
Definition at line 1939 of file Equalization.cpp.
References mCurve, mCurveName, and mCurves.
Referenced by EnvelopeUpdated(), ErrMin(), setCurve(), and ValidateUI().
|
private |
Definition at line 1918 of file Equalization.cpp.
References mCurves, Effect::MessageBox(), setCurve(), and XO.
|
private |
Definition at line 1752 of file Equalization.cpp.
References Envelope::Flatten(), ForceRecalc(), Envelope::Insert(), loFreqI, mCurves, mHiFreq, min(), mLin, mLinEnvelope, mLogEnvelope, Select(), and Envelope::SetTrackLen().
Referenced by EditCurvesDialog::OnOK().
|
private |
Definition at line 1913 of file Equalization.cpp.
References mCurves, and setCurve().
Referenced by Init(), OnCurve(), setCurve(), UpdateCurves(), and VisitSettings().
|
private |
Definition at line 2643 of file Equalization.cpp.
Referenced by GraphicEQ().
|
private |
Definition at line 2665 of file Equalization.cpp.
Referenced by GraphicEQ().
|
overridevirtual |
Update controls for the settings.
Reimplemented from Effect.
Definition at line 1110 of file Equalization.cpp.
References kEqLegacy, kEqOptionCurve, kEqOptionGraphic, mdBMax, mdBMaxSlider, mdBMin, mdBMinSlider, mDraw, mDrawGrid, mDrawMode, mGraphic, mGridOnOff, mInterp, mInterpChoice, mLin, mLinFreq, mM, mMSlider, mOptions, Effect::mUIParent, OnLinFreq(), szr1, szrG, szrH, szrI, szrL, szrV, UpdateCurves(), and UpdateGraphic().
|
private |
Definition at line 2221 of file Equalization.cpp.
References mCurve, mCurveName, mCurves, and setCurve().
Referenced by OnManage(), and TransferDataToWindow().
|
private |
Definition at line 1564 of file Equalization.cpp.
References EQCURVES_REVISION, EQCURVES_VERSION, FileConfig::Flush(), fn, GetPrefsPrefix(), gPrefs, mCurves, EQCurve::Name, XMLFileReader::Parse(), FileNames::ResourcesDir(), and SaveCurves().
Referenced by LoadCurves().
|
private |
Definition at line 2249 of file Equalization.cpp.
References EnvelopeUpdated(), EnvLogToLin(), flag, ForceRecalc(), mEnvelope, mFreqRuler, mHiFreq, mLin, mLinEnvelope, mLogEnvelope, Effect::mUIParent, RulerPanel::ruler, Ruler::SetLog(), Ruler::SetRange(), szrG, szrH, szrI, szrL, and szrV.
Referenced by OnDrawMode().
|
private |
Definition at line 2302 of file Equalization.cpp.
References EnvLinToLog(), ErrMin(), GraphicEQ(), kEqLegacy, kThirdOct, lrint, mBandsInUse, mDrawMode, mEnvelope, mEQVals, mFreqRuler, mHiFreq, mLin, mLinEnvelope, mLoFreq, mLogEnvelope, mOptions, mSliders, mSlidersOld, Effect::mUIParent, mWhenSliders, RulerPanel::ruler, Ruler::SetLog(), Ruler::SetRange(), szrG, szrH, szrI, szrL, and szrV.
Referenced by OnCurve(), OnGraphicMode(), and TransferDataToWindow().
|
private |
Definition at line 1157 of file Equalization.cpp.
References Ruler::GetMaxSize(), mdBMax, mdBMin, mdBRuler, mFreqRuler, mPanel, RulerPanel::ruler, and Ruler::SetRange().
Referenced by OnSliderDBMAX(), and OnSliderDBMIN().
|
overridevirtual |
Reimplemented from Effect.
Definition at line 518 of file Equalization.cpp.
References CurrentSettingsGroup(), Effect::GetDefinition(), mCurveName, mCurves, mdBMax, mdBMin, mDirty, mDisallowCustom, mDrawGrid, mDrawMode, Effect::MessageBox(), mLogEnvelope, PluginSettings::Private, SaveCurves(), Select(), PluginSettings::SetConfig(), and XO.
|
overridevirtual |
Visit settings (read-only), if defined. false means no defined settings. Default implementation returns false
Reimplemented from Effect.
Definition at line 377 of file Equalization.cpp.
References SettingsVisitorBase< Const >::Define(), mCurves, settings(), and Effect::VisitSettings().
|
overridevirtual |
Visit settings (and maybe change them), if defined. false means no defined settings. Default implementation returns false
Reimplemented from Effect.
Definition at line 399 of file Equalization.cpp.
References SettingsVisitorBase< Const >::Define(), mCurves, setCurve(), settings(), and Effect::VisitSettings().
Referenced by LoadFactoryPreset().
|
private |
Definition at line 2179 of file Equalization.cpp.
Referenced by SaveCurves().
|
friend |
Definition at line 290 of file Equalization.h.
|
friend |
Definition at line 289 of file Equalization.h.
Referenced by PopulateOrExchange().
|
staticconstexprprivate |
Definition at line 304 of file Equalization.h.
|
staticconstexprprivate |
Definition at line 316 of file Equalization.h.
Referenced by DoLoadFactoryDefaults().
|
staticconstexprprivate |
Definition at line 314 of file Equalization.h.
Referenced by DoLoadFactoryDefaults().
|
staticconstexprprivate |
Definition at line 312 of file Equalization.h.
Referenced by DoLoadFactoryDefaults().
|
staticconstexprprivate |
Definition at line 310 of file Equalization.h.
Referenced by DoLoadFactoryDefaults().
|
staticconstexprprivate |
Definition at line 302 of file Equalization.h.
Referenced by Parameters().
|
private |
Definition at line 215 of file Equalization.h.
Referenced by Filter().
|
staticconstexprprivate |
Definition at line 306 of file Equalization.h.
Referenced by Parameters().
|
staticconstexprprivate |
|
staticprivate |
Definition at line 299 of file Equalization.h.
Referenced by PopulateOrExchange().
|
private |
Definition at line 228 of file Equalization.h.
Referenced by ErrMin(), Flatten(), GraphicEQ(), Init(), OnInvert(), OnSlider(), and UpdateGraphic().
|
private |
Definition at line 272 of file Equalization.h.
Referenced by CloseUI(), OnCurve(), OnManage(), PopulateOrExchange(), Select(), and UpdateCurves().
|
private |
Definition at line 218 of file Equalization.h.
Referenced by Init(), Select(), UpdateCurves(), and ValidateUI().
|
private |
Definition at line 240 of file Equalization.h.
Referenced by EnvelopeUpdated(), ErrMin(), HandleXMLTag(), LoadCurves(), EditCurvesDialog::OnDefaults(), EditCurvesDialog::OnExport(), EditCurvesDialog::OnImport(), EditCurvesDialog::OnOK(), PopulateOrExchange(), Select(), setCurve(), UpdateCurves(), UpdateDefaultCurves(), ValidateUI(), and VisitSettings().
|
private |
Definition at line 220 of file Equalization.h.
Referenced by DoLoadFactoryDefaults(), EqualizationPanel::OnMouseEvent(), EqualizationPanel::OnPaint(), OnSliderDBMAX(), TransferDataToWindow(), UpdateRuler(), and ValidateUI().
|
private |
Definition at line 277 of file Equalization.h.
Referenced by OnSliderDBMAX(), PopulateOrExchange(), and TransferDataToWindow().
|
private |
Definition at line 221 of file Equalization.h.
Referenced by DoLoadFactoryDefaults(), EqualizationPanel::OnMouseEvent(), EqualizationPanel::OnPaint(), OnSliderDBMIN(), TransferDataToWindow(), UpdateRuler(), and ValidateUI().
|
private |
Definition at line 276 of file Equalization.h.
Referenced by OnSliderDBMIN(), PopulateOrExchange(), and TransferDataToWindow().
|
private |
Definition at line 229 of file Equalization.h.
Referenced by EqualizationPanel::OnPaint(), PopulateOrExchange(), and UpdateRuler().
|
private |
Definition at line 236 of file Equalization.h.
Referenced by EnvelopeUpdated(), and ValidateUI().
|
private |
Definition at line 232 of file Equalization.h.
Referenced by ValidateUI().
|
private |
Definition at line 267 of file Equalization.h.
Referenced by PopulateOrExchange(), and TransferDataToWindow().
|
private |
Definition at line 224 of file Equalization.h.
Referenced by DoLoadFactoryDefaults(), OnGridOnOff(), EqualizationPanel::OnPaint(), TransferDataToWindow(), and ValidateUI().
|
private |
Definition at line 222 of file Equalization.h.
Referenced by DoLoadFactoryDefaults(), Flatten(), IsLinear(), OnCurve(), OnDrawMode(), OnGraphicMode(), OnInterp(), OnInvert(), EqualizationPanel::OnMouseEvent(), EqualizationPanel::OnPaint(), PopulateOrExchange(), TransferDataToWindow(), UpdateGraphic(), and ValidateUI().
|
private |
Definition at line 243 of file Equalization.h.
Referenced by Init(), OnLinFreq(), EqualizationPanel::OnPaint(), UpdateDraw(), and UpdateGraphic().
|
private |
Definition at line 238 of file Equalization.h.
Referenced by ErrMin(), Flatten(), GraphicEQ(), OnInvert(), OnSlider(), PopulateOrExchange(), and UpdateGraphic().
|
private |
Definition at line 216 of file Equalization.h.
Referenced by Filter().
|
private |
Definition at line 216 of file Equalization.h.
Referenced by CalcFilter(), Filter(), EqualizationPanel::OnPaint(), and EqualizationPanel::Recalc().
|
private |
Definition at line 216 of file Equalization.h.
Referenced by CalcFilter(), Filter(), EqualizationPanel::OnPaint(), and EqualizationPanel::Recalc().
|
private |
Definition at line 230 of file Equalization.h.
Referenced by OnLinFreq(), EqualizationPanel::OnPaint(), PopulateOrExchange(), UpdateDraw(), UpdateGraphic(), and UpdateRuler().
|
private |
Definition at line 268 of file Equalization.h.
Referenced by PopulateOrExchange(), and TransferDataToWindow().
|
private |
Definition at line 270 of file Equalization.h.
Referenced by OnGridOnOff(), PopulateOrExchange(), and TransferDataToWindow().
|
private |
Definition at line 234 of file Equalization.h.
Referenced by CalcFilter(), EnvelopeUpdated(), EnvLinToLog(), EnvLogToLin(), Init(), OnLinFreq(), EqualizationPanel::OnPaint(), setCurve(), UpdateDraw(), and UpdateGraphic().
|
private |
Definition at line 223 of file Equalization.h.
Referenced by GraphicEQ(), OnInterp(), and TransferDataToWindow().
|
private |
Definition at line 271 of file Equalization.h.
Referenced by OnInterp(), PopulateOrExchange(), and TransferDataToWindow().
|
private |
Definition at line 263 of file Equalization.h.
|
private |
Definition at line 219 of file Equalization.h.
Referenced by Init(), IsLinear(), OnLinFreq(), EqualizationPanel::OnMouseEvent(), setCurve(), TransferDataToWindow(), UpdateDraw(), and UpdateGraphic().
|
private |
Definition at line 242 of file Equalization.h.
Referenced by CalcFilter(), EnvelopeUpdated(), EnvLinToLog(), EnvLogToLin(), Flatten(), Init(), OnInvert(), OnLinFreq(), setCurve(), UpdateDraw(), and UpdateGraphic().
|
private |
Definition at line 269 of file Equalization.h.
Referenced by OnLinFreq(), PopulateOrExchange(), and TransferDataToWindow().
|
private |
Definition at line 233 of file Equalization.h.
Referenced by CalcFilter(), Init(), OnLinFreq(), EqualizationPanel::OnPaint(), and UpdateGraphic().
|
private |
Definition at line 242 of file Equalization.h.
Referenced by CalcFilter(), EnvelopeUpdated(), EnvLinToLog(), EnvLogToLin(), ErrMin(), Flatten(), Init(), OnInterp(), OnInvert(), OnLinFreq(), OnSlider(), setCurve(), UpdateDraw(), UpdateGraphic(), and ValidateUI().
|
private |
Definition at line 217 of file Equalization.h.
Referenced by CalcFilter(), EqualizationPanel::OnPaint(), OnSliderM(), PopulateOrExchange(), ProcessOne(), and TransferDataToWindow().
|
private |
Definition at line 273 of file Equalization.h.
|
private |
Definition at line 275 of file Equalization.h.
Referenced by OnSliderM(), PopulateOrExchange(), and TransferDataToWindow().
|
private |
Definition at line 274 of file Equalization.h.
Referenced by OnSliderM(), and PopulateOrExchange().
|
private |
Definition at line 214 of file Equalization.h.
Referenced by DoLoadFactoryDefaults(), GetFactoryPresets(), GetPrefsPrefix(), GetSymbol(), LoadFactoryPreset(), ManualPage(), PopulateOrExchange(), TransferDataToWindow(), and UpdateGraphic().
|
private |
Definition at line 265 of file Equalization.h.
Referenced by CloseUI(), ForceRecalc(), OnGridOnOff(), PopulateOrExchange(), and UpdateRuler().
|
private |
Definition at line 278 of file Equalization.h.
Referenced by Flatten(), OnInvert(), OnSlider(), PopulateOrExchange(), and UpdateGraphic().
|
private |
Definition at line 237 of file Equalization.h.
Referenced by Flatten(), OnInvert(), OnSlider(), PopulateOrExchange(), and UpdateGraphic().
|
private |
Definition at line 226 of file Equalization.h.
Referenced by ErrMin(), and GraphicEQ().
|
private |
Definition at line 227 of file Equalization.h.
Referenced by GraphicEQ(), and UpdateGraphic().
|
private |
Definition at line 235 of file Equalization.h.
Referenced by CalcFilter(), EqualizationPanel::OnPaint(), and EqualizationPanel::Recalc().
|
static |
|
private |
Definition at line 257 of file Equalization.h.
Referenced by PopulateOrExchange(), and TransferDataToWindow().
|
private |
Definition at line 258 of file Equalization.h.
|
private |
Definition at line 259 of file Equalization.h.
|
private |
Definition at line 260 of file Equalization.h.
|
private |
Definition at line 261 of file Equalization.h.
|
private |
Definition at line 251 of file Equalization.h.
|
private |
Definition at line 252 of file Equalization.h.
Referenced by PopulateOrExchange(), TransferDataToWindow(), UpdateDraw(), and UpdateGraphic().
|
private |
Definition at line 254 of file Equalization.h.
Referenced by PopulateOrExchange(), TransferDataToWindow(), UpdateDraw(), and UpdateGraphic().
|
private |
Definition at line 255 of file Equalization.h.
Referenced by PopulateOrExchange(), TransferDataToWindow(), UpdateDraw(), and UpdateGraphic().
|
private |
Definition at line 256 of file Equalization.h.
Referenced by PopulateOrExchange(), TransferDataToWindow(), UpdateDraw(), and UpdateGraphic().
|
private |
Definition at line 253 of file Equalization.h.
Referenced by PopulateOrExchange(), TransferDataToWindow(), UpdateDraw(), and UpdateGraphic().
|
staticprivate |
Definition at line 149 of file Equalization.h.
Referenced by ProcessOne().