![]() |
Audacity 3.2.0
|
Base class for many of the effects in Audacity. More...
#include <Effect.h>
Classes | |
class | AddedAnalysisTrack |
class | ModifiedAnalysisTrack |
Public Types | |
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... | |
Public Member Functions | |
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, EffectUIValidator *pValidator, bool forceModal) 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, EffectUIValidator *pValidator, 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 |
virtual bool | ValidateUI (EffectSettings &settings)=0 |
virtual bool | CloseUI ()=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, SettingsCopyDirection copyDirection) 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 |
Static Public Member Functions | |
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... | |
Protected Member Functions | |
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 |
Protected Attributes | |
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 } |
Private Member Functions | |
wxString | GetSavedStateGroup () |
Private Attributes | |
bool | mIsBatch { false } |
Additional Inherited Members | |
![]() | |
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>") |
![]() | |
static int | nEffectsDone = 0 |
Effect::Effect | ( | ) |
Definition at line 54 of file Effect.cpp.
|
virtual |
Definition at line 58 of file Effect.cpp.
References mHostUIDialog.
|
protected |
Definition at line 800 of file Effect.cpp.
Referenced by EffectFindClipping::Process(), and VampEffect::Process().
Definition at line 764 of file Effect.cpp.
References EffectBase::mIMap, EffectBase::mOMap, and EffectBase::mOutputTracks.
Referenced by NyquistEffect::ProcessOne().
|
overrideprotectedvirtual |
Default implementation returns previewLength
Implements EffectBase.
Reimplemented in EffectPaulstretch, EffectTimeScale, and EffectTruncSilence.
Definition at line 861 of file Effect.cpp.
Referenced by PerTrackEffect::ProcessPass().
|
overridevirtual |
Implements EffectUIClientInterface.
Reimplemented in LadspaEffect, LV2Effect, VSTEffect, and VST3Effect.
Definition at line 325 of file Effect.cpp.
|
overrideprotectedvirtual |
Default implementation returns false.
Implements EffectBase.
Reimplemented in EffectNoiseRemoval, and EffectNormalize.
Definition at line 856 of file Effect.cpp.
|
overridevirtual |
Implements EffectUIClientInterface.
Reimplemented in EffectEqualization, LV2Effect, VSTEffect, and VST3Effect.
Definition at line 318 of file Effect.cpp.
References EffectBase::mUIDialog, and mUIParent.
Referenced by EffectEqualization::CloseUI().
|
protected |
Definition at line 737 of file Effect.cpp.
References TrackList::Any(), TrackList::Create(), EffectBase::FindProject(), SyncLock::IsSelectedOrSyncLockSelected(), EffectBase::mIMap, EffectBase::mOMap, EffectBase::mOutputTracks, and EffectBase::mTracks.
Referenced by PerTrackEffect::Process(), EffectAutoDuck::Process(), EffectChangeSpeed::Process(), EffectClickRemoval::Process(), EffectEqualization::Process(), Generator::Process(), EffectLoudness::Process(), EffectNoiseReduction::Process(), EffectNoiseRemoval::Process(), EffectNormalize::Process(), NyquistEffect::Process(), EffectPaulstretch::Process(), EffectRepair::Process(), EffectRepeat::Process(), EffectReverse::Process(), EffectSBSMS::Process(), EffectSimpleMono::Process(), EffectStereoToMono::Process(), EffectTwoPassSimpleMono::Process(), EffectTruncSilence::ProcessAll(), and EffectTruncSilence::ProcessIndependently().
bool Effect::Delegate | ( | Effect & | delegate, |
EffectSettings & | settings | ||
) |
Re-invoke DoEffect on another Effect object that implements the work.
Definition at line 584 of file Effect.cpp.
References EffectBase::DoEffect(), EffectBase::mFactory, EffectBase::mProjectRate, EffectBase::mT0, EffectBase::mT1, EffectBase::mTracks, EffectBase::mUIFlags, NotifyingSelectedRegion::setTimes(), and settings().
Referenced by NyquistEffect::Process().
bool Effect::EnableApply | ( | bool | enable = true | ) |
Definition at line 609 of file Effect.cpp.
References EnablePreview(), EffectBase::mUIDialog, and mUIParent.
Referenced by EffectAmplify::CheckClip(), EffectRepeat::DisplayNewTime(), EffectWahwah::Validator::EnableApplyFromTransferDataToWindow(), EffectWahwah::Validator::EnableApplyFromValidate(), EffectAmplify::OnAmpText(), EffectBassTreble::OnBassSlider(), EffectBassTreble::OnBassText(), EffectTruncSilence::OnControlChange(), EffectToneGen::OnControlUpdate(), EffectScienFilter::OnCutoff(), EffectPhaser::OnDepthSlider(), EffectPhaser::OnDepthText(), EffectPhaser::OnDryWetSlider(), EffectPhaser::OnDryWetText(), EffectPhaser::OnFeedbackSlider(), EffectPhaser::OnFeedbackText(), EffectPhaser::OnFreqSlider(), EffectPhaser::OnFreqText(), EffectBassTreble::OnGainSlider(), EffectPhaser::OnGainSlider(), EffectBassTreble::OnGainText(), EffectPhaser::OnGainText(), EffectAmplify::OnPeakText(), EffectPhaser::OnPhaseSlider(), EffectPhaser::OnPhaseText(), EffectScienFilter::OnRipple(), EffectPhaser::OnStagesSlider(), EffectPhaser::OnStagesText(), EffectScienFilter::OnStopbandRipple(), EffectPaulstretch::OnText(), EffectTimeScale::OnText_PitchHalfStepsEnd(), EffectTimeScale::OnText_PitchHalfStepsStart(), EffectTimeScale::OnText_PitchPercentChangeEnd(), EffectTimeScale::OnText_PitchPercentChangeStart(), EffectTimeScale::OnText_RatePercentChangeEnd(), EffectTimeScale::OnText_RatePercentChangeStart(), EffectBassTreble::OnTrebleSlider(), EffectBassTreble::OnTrebleText(), EffectChangeSpeed::UpdateUI(), EffectLoudness::UpdateUI(), and EffectNormalize::UpdateUI().
|
protected |
Definition at line 640 of file Effect.cpp.
References kFFwdID, kPlayID, kRewindID, EffectBase::mUIDialog, mUIParent, and EffectDefinitionInterface::SupportsRealtime().
Referenced by EnableApply(), and NyquistEffect::TransferDataToWindow().
|
overridevirtual |
Implements EffectUIClientInterface.
Reimplemented in LadspaEffect, LV2Effect, VSTEffect, and VST3Effect.
Definition at line 339 of file Effect.cpp.
References AudacityMessageBox(), EffectDefinitionInterface::GetSquashedName(), GetSymbol(), Internal, params, PresetTypes(), SaveSettingsAsString(), SelectFile(), settings(), and XO.
|
inlinestatic |
|
overridevirtual |
How many input buffers to allocate at once.
If the effect ALWAYS processes channels independently, this can return 1
Implements EffectInstanceFactory.
Reimplemented in EffectFade, EffectInvert, LadspaEffect, LV2Effect, EffectPhaser, EffectReverb, EffectScienFilter, EffectStereoToMono, VampEffect, VSTEffect, VST3Effect, and EffectWahwah.
Definition at line 137 of file Effect.cpp.
Referenced by PerTrackEffect::ProcessPass().
|
overridevirtual |
How many output buffers to allocate at once.
Implements EffectInstanceFactory.
Reimplemented in EffectFade, EffectInvert, LadspaEffect, LV2Effect, EffectNoise, EffectPhaser, EffectReverb, EffectScienFilter, EffectStereoToMono, EffectToneGen, VSTEffect, VST3Effect, and EffectWahwah.
Definition at line 142 of file Effect.cpp.
Referenced by PerTrackEffect::ProcessPass().
|
protected |
Definition at line 707 of file Effect.cpp.
References PackedArray::end(), WaveTrack::GetEndTime(), WaveTrack::GetStartTime(), min(), EffectBase::mT0, EffectBase::mT1, and SampleTrack::TimeToLongSamples().
Referenced by VampEffect::Process(), and PerTrackEffect::ProcessPass().
|
overridevirtual |
Implements EffectPlugin.
Definition at line 449 of file Effect.cpp.
Referenced by LoadUserPreset(), EffectChangeSpeed::OnChoice_Vinyl(), EffectChangeSpeed::PopulateOrExchange(), SaveUserPreset(), EffectChangeSpeed::TransferDataFromWindow(), EffectChangeSpeed::Update_Vinyl(), and EffectEqualization::ValidateUI().
|
overridevirtual |
Implements ComponentInterface.
Reimplemented in EffectEqualization, EffectFade, EffectFindClipping, EffectInvert, LadspaEffect, EffectLoudness, LV2Effect, EffectNoise, EffectNoiseReduction, EffectNormalize, NyquistEffect, EffectPaulstretch, EffectPhaser, EffectRepair, EffectRepeat, EffectReverb, EffectReverse, EffectScienFilter, EffectSilence, EffectStereoToMono, EffectTimeScale, EffectToneGen, EffectTruncSilence, VampEffect, VSTEffect, VST3Effect, and EffectWahwah.
Definition at line 89 of file Effect.cpp.
|
overridevirtual |
Report names of factory presets.
Implements EffectSettingsManager.
Reimplemented in EffectEqualization, LadspaEffect, LV2Effect, EffectReverb, VSTEffect, and VST3Effect.
Definition at line 269 of file Effect.cpp.
Referenced by LoadSettingsFromString().
|
overridevirtual |
Report identifier and user-visible name of the effect protocol.
Implements EffectDefinitionInterface.
Reimplemented in LadspaEffect, LV2Effect, NyquistEffect, VampEffect, VSTEffect, and VST3Effect.
Definition at line 101 of file Effect.cpp.
References XO.
|
inlineprotected |
Definition at line 220 of file Effect.h.
References EffectBase::mNumGroups.
Referenced by NyquistEffect::Process(), and VampEffect::Process().
|
inlineprotected |
Definition at line 219 of file Effect.h.
References EffectBase::mNumTracks.
Referenced by EffectNormalize::AnalyseTrackData(), EffectTruncSilence::Analyze(), EffectAutoDuck::ApplyDuckFade(), EffectAutoDuck::Process(), EffectNormalize::ProcessOne(), EffectTwoPassSimpleMono::ProcessOne(), EffectNoiseRemoval::ShowHostInterface(), and EffectLoudness::UpdateProgress().
|
overridevirtual |
Implements ComponentInterface.
Reimplemented in LadspaEffect, LV2Effect, NyquistEffect, VampEffect, VSTEffect, and VST3Effect.
Definition at line 69 of file Effect.cpp.
References BUILTIN_EFFECT_PREFIX, GetSymbol(), and ComponentInterfaceSymbol::Internal().
|
private |
Definition at line 461 of file Effect.cpp.
Referenced by SetBatchProcessing(), and UnsetBatchProcessing().
|
virtual |
Definition at line 454 of file Effect.cpp.
References EffectBase::FindProject(), ProjectSettings::Get(), ProjectSettings::GetSelectionFormat(), NumericConverter::HoursMinsSecondsFormat(), and IsBatchProcessing().
Referenced by NyquistEffect::BuildEffectWindow(), and EffectRepeat::DisplayNewTime().
|
overridevirtual |
Implements ComponentInterface.
Reimplemented in EffectEqualization, EffectFade, EffectFindClipping, EffectInvert, LadspaEffect, EffectLoudness, LV2Effect, EffectNoise, EffectNoiseReduction, EffectNormalize, NyquistEffect, EffectPaulstretch, EffectPhaser, EffectRepair, EffectRepeat, EffectReverb, EffectReverse, EffectSBSMS, EffectScienFilter, EffectSilence, EffectStereoToMono, EffectTimeScale, EffectToneGen, EffectTruncSilence, VampEffect, VSTEffect, VST3Effect, and EffectWahwah.
Definition at line 74 of file Effect.cpp.
Referenced by ExportPresets(), GetPath(), and ImportPresets().
|
overridevirtual |
Type determines how it behaves.
Implements EffectDefinitionInterface.
Reimplemented in EffectEqualization, EffectFade, EffectFindClipping, EffectInvert, LadspaEffect, EffectLoudness, LV2Effect, EffectNoise, EffectNoiseReduction, EffectNoiseRemoval, EffectNormalize, NyquistEffect, EffectPaulstretch, EffectPhaser, EffectRepair, EffectRepeat, EffectReverb, EffectReverse, EffectScienFilter, EffectSilence, EffectStereoToMono, EffectTimeScale, EffectToneGen, EffectTruncSilence, VampEffect, VSTEffect, VST3Effect, and EffectWahwah.
Definition at line 96 of file Effect.cpp.
References EffectTypeNone.
Referenced by PerTrackEffect::ProcessPass().
|
inline |
Definition at line 305 of file Effect.h.
Referenced by EffectWahwah::Validator::EnableApplyFromTransferDataToWindow(), and EffectWahwah::Validator::EnableApplyFromValidate().
|
overridevirtual |
Implements ComponentInterface.
Reimplemented in LadspaEffect, LV2Effect, NyquistEffect, VampEffect, VSTEffect, and VST3Effect.
Definition at line 79 of file Effect.cpp.
References XO.
|
overridevirtual |
Implements ComponentInterface.
Reimplemented in LadspaEffect, LV2Effect, NyquistEffect, VampEffect, VSTEffect, and VST3Effect.
Definition at line 84 of file Effect.cpp.
|
overridevirtual |
Implements EffectUIClientInterface.
Reimplemented in LadspaEffect, LV2Effect, VSTEffect, and VST3Effect.
Definition at line 438 of file Effect.cpp.
|
overridevirtual |
Implements EffectUIClientInterface.
Reimplemented in LadspaEffect, LV2Effect, VSTEffect, and VST3Effect.
Definition at line 387 of file Effect.cpp.
References EffectDefinitionInterface::GetSquashedName(), GetSymbol(), ident(), Internal, LoadSettingsFromString(), MessageBox(), params, PresetTypes(), SelectFile(), settings(), and XO.
|
inlinestatic |
Definition at line 177 of file Effect.h.
Referenced by SelectTracksCommand::Apply().
|
overridevirtual |
Implements EffectPlugin.
Definition at line 558 of file Effect.cpp.
References mIsBatch.
Referenced by NyquistEffect::DoLoadSettings(), GetSelectionFormat(), EffectAmplify::Parameters(), EffectAmplify::PopulateOrExchange(), EffectEqualization::PopulateOrExchange(), NyquistEffect::Process(), and NyquistEffect::ShowHostInterface().
|
overridevirtual |
Whether the effect sorts "above the line" in the menus.
Implements EffectDefinitionInterface.
Reimplemented in LadspaEffect, LV2Effect, NyquistEffect, VampEffect, VSTEffect, and VST3Effect.
Definition at line 113 of file Effect.cpp.
|
overridevirtual |
Implements EffectUIClientInterface.
Reimplemented in VSTEffect, and VST3Effect.
Definition at line 308 of file Effect.cpp.
|
overridevirtual |
Whether the effect needs a dialog for entry of settings.
Implements EffectDefinitionInterface.
Reimplemented in EffectFade, EffectInvert, LadspaEffect, LV2Effect, NyquistEffect, EffectRepair, EffectReverse, EffectStereoToMono, VampEffect, VSTEffect, and VST3Effect.
Definition at line 108 of file Effect.cpp.
Referenced by ShowHostInterface().
|
overridevirtual |
Change settings back to "factory default".
Implements EffectSettingsManager.
Reimplemented in EffectEqualization.
Definition at line 279 of file Effect.cpp.
References FactoryDefaultsGroup(), LoadUserPreset(), and settings().
Referenced by EffectChangeSpeed::DoLoadFactoryDefaults(), and EffectEqualization::DoLoadFactoryDefaults().
|
overridevirtual |
Change settings to the preset whose name is GetFactoryPresets()[id]
Implements EffectSettingsManager.
Reimplemented in EffectEqualization, LadspaEffect, LV2Effect, EffectReverb, VSTEffect, and VST3Effect.
Definition at line 274 of file Effect.cpp.
Referenced by LoadSettingsFromString().
|
overridevirtual |
Restore settings from keys and values.
Implements EffectSettingsManager.
Reimplemented in LadspaEffect, LV2Effect, NyquistEffect, EffectTruncSilence, VampEffect, VSTEffect, and VST3Effect.
Definition at line 236 of file Effect.cpp.
References Parameters(), EffectParameterMethods::Set(), and settings().
Referenced by EffectTruncSilence::LoadSettings(), and LoadSettingsFromString().
|
overridevirtual |
Implements EffectPlugin.
Definition at line 486 of file Effect.cpp.
References CurrentSettingsGroup(), FactoryDefaultsGroup(), GetFactoryPresets(), ComponentInterface::GetName(), EffectPlugin::kCurrentSettingsIdent, EffectPlugin::kFactoryDefaultsIdent, EffectPlugin::kFactoryPresetIdent, EffectPlugin::kUserPresetIdent, LoadFactoryPreset(), LoadSettings(), LoadUserPreset(), make_iterator_range(), MessageBox(), preset, S, settings(), UserPresetsGroup(), VisitSettings(), and XO.
Referenced by ImportPresets(), and LoadUserPreset().
|
overridevirtual |
Change settings to a user-named preset.
Implements EffectSettingsManager.
Reimplemented in LadspaEffect, LV2Effect, VSTEffect, and VST3Effect.
Definition at line 244 of file Effect.cpp.
References PluginSettings::GetConfig(), GetDefinition(), LoadSettingsFromString(), name, PluginSettings::Private, and settings().
Referenced by LoadFactoryDefaults(), LoadSettingsFromString(), EffectEqualization::PopulateOrExchange(), and UnsetBatchProcessing().
int Effect::MessageBox | ( | const TranslatableString & | message, |
long | style = DefaultMessageBoxStyle , |
||
const TranslatableString & | titleStr = {} |
||
) | const |
Definition at line 867 of file Effect.cpp.
References AudacityMessageBox(), TranslatableString::empty(), ComponentInterface::GetName(), mUIParent, title, and XO.
Referenced by ImportPresets(), EffectAutoDuck::Init(), EffectEqualization::Init(), NyquistEffect::Init(), EffectScienFilter::Init(), VampEffect::Init(), EffectEqualization::LoadCurves(), LoadSettingsFromString(), NyquistEffect::OnLoad(), NyquistEffect::OnSave(), NyquistEffect::OnTime(), NyquistEffect::ParseProgram(), EffectClickRemoval::Process(), Generator::Process(), EffectNoiseReduction::Process(), NyquistEffect::Process(), EffectRepair::Process(), VampEffect::Process(), EffectTruncSilence::ProcessIndependently(), EffectDtmf::Instance::ProcessInitialize(), EffectEcho::Instance::ProcessInitialize(), NyquistEffect::ProcessOne(), EffectClickRemoval::ProcessOne(), EffectFindClipping::ProcessOne(), EffectPaulstretch::ProcessOne(), EffectEqualization::setCurve(), NyquistEffect::TransferDataFromEffectWindow(), and EffectEqualization::ValidateUI().
|
protected |
Definition at line 850 of file Effect.cpp.
References name.
Referenced by EffectFindClipping::Process().
|
virtual |
Reimplemented in EffectAmplify, EffectAutoDuck, EffectBassTreble, EffectChangeSpeed, EffectClickRemoval, EffectCompressor, EffectDistortion, EffectDtmf, EffectEcho, EffectEqualization, EffectFindClipping, EffectLoudness, EffectNoise, EffectNormalize, EffectPaulstretch, EffectPhaser, EffectRepeat, EffectReverb, EffectScienFilter, EffectTimeScale, EffectToneGen, EffectTruncSilence, and EffectWahwah.
Definition at line 147 of file Effect.cpp.
Referenced by LoadSettings(), SaveSettings(), and VisitSettings().
|
protectedvirtual |
Add controls to effect panel; always succeeds.
Reimplemented in EffectAmplify, EffectAutoDuck, EffectBassTreble, EffectChangeSpeed, EffectClickRemoval, EffectCompressor, EffectDistortion, EffectDtmf, EffectEcho, EffectEqualization, EffectFindClipping, LadspaEffect, EffectLoudness, EffectNoise, EffectNormalize, NyquistEffect, EffectPaulstretch, EffectPhaser, EffectRepeat, EffectReverb, EffectScienFilter, EffectSilence, EffectTimeScale, EffectToneGen, EffectTruncSilence, VampEffect, and EffectWahwah.
Definition at line 593 of file Effect.cpp.
Referenced by PopulateUI().
|
overridevirtual |
Adds controls to a panel that is given as the parent window of S
S | interface for adding controls to a panel in a dialog |
instance | guaranteed to have a lifetime containing that of the returned object |
access | guaranteed to have a lifetime containing that of the returned object |
Implements EffectUIClientInterface.
Reimplemented in LV2Effect, VSTEffect, and VST3Effect.
Definition at line 286 of file Effect.cpp.
References mUIParent, PopulateOrExchange(), and S.
|
overridevirtual |
Since which version of Audacity has the effect supported realtime?
Implements EffectDefinitionInterface.
Reimplemented in LadspaEffect, LV2Effect, EffectPhaser, EffectReverb, VSTEffect, VST3Effect, and EffectWahwah.
Definition at line 118 of file Effect.cpp.
References EffectDefinitionInterface::Never.
|
overridevirtual |
Store settings as keys and values.
The override may assume parms
is initially empty
Implements EffectSettingsManager.
Reimplemented in LadspaEffect, LV2Effect, NyquistEffect, VampEffect, VSTEffect, and VST3Effect.
Definition at line 229 of file Effect.cpp.
References EffectParameterMethods::Get(), Parameters(), and settings().
Referenced by SaveSettingsAsString().
|
overridevirtual |
Implements EffectPlugin.
Definition at line 468 of file Effect.cpp.
References CommandParameters::GetParameters(), S, SaveSettings(), settings(), and VisitSettings().
Referenced by ExportPresets(), and SaveUserPreset().
|
overridevirtual |
Save settings in the configuration file as a user-named preset.
Implements EffectSettingsManager.
Reimplemented in LadspaEffect, LV2Effect, VSTEffect, and VST3Effect.
Definition at line 257 of file Effect.cpp.
References GetDefinition(), name, PluginSettings::Private, SaveSettingsAsString(), PluginSettings::SetConfig(), and settings().
Referenced by SetBatchProcessing().
|
overridevirtual |
Implements EffectPlugin.
Definition at line 563 of file Effect.cpp.
References GetSavedStateGroup(), EffectSettingsManager::MakeSettings(), mIsBatch, and SaveUserPreset().
Referenced by NyquistEffect::ShowHostInterface().
|
overridevirtual |
Implements EffectUIClientInterface.
Reimplemented in LadspaEffect, LV2Effect, VSTEffect, and VST3Effect.
Definition at line 153 of file Effect.cpp.
References GlobalHook< VetoDialogHook, bool(wxDialog *) >::Call(), EffectBase::mUIDialog, and EffectDefinitionInterface::SupportsRealtime().
|
overridevirtual |
Usually applies factory to self and given access.
But there are a few unusual overrides for historical reasons
pInstance | may be passed to factory, and is only guaranteed to have lifetime suitable for a modal dialog, unless the dialog stores a copy of pInstance |
access | is only guaranteed to have lifetime suitable for a modal dialog, unless the dialog stores access.shared_from_this() |
Implements EffectPlugin.
Reimplemented in EffectNoiseReduction, EffectNoiseRemoval, and NyquistEffect.
Definition at line 171 of file Effect.cpp.
References factory, IsInteractive(), mHostUIDialog, and EffectUIClientInterface::ShowClientInterface().
Referenced by NyquistEffect::ShowHostInterface().
|
overridevirtual |
Implements EffectUIClientInterface.
Reimplemented in LadspaEffect, LV2Effect, VSTEffect, and VST3Effect.
Definition at line 443 of file Effect.cpp.
|
overridevirtual |
Whether the effect has any automatable controls.
Implements EffectDefinitionInterface.
Reimplemented in LadspaEffect, LV2Effect, EffectNoiseRemoval, VSTEffect, and VST3Effect.
Definition at line 123 of file Effect.cpp.
unsigned Effect::TestUIFlags | ( | unsigned | mask | ) |
Definition at line 554 of file Effect.cpp.
References EffectBase::mUIFlags.
Referenced by NyquistEffect::ShowHostInterface().
|
protected |
Definition at line 681 of file Effect.cpp.
References EffectBase::mProgress, BasicUI::ProgressDialog::Poll(), and BasicUI::Success.
Referenced by EffectNormalize::AnalyseTrackData(), EffectTruncSilence::Analyze(), EffectAutoDuck::ApplyDuckFade(), EffectTruncSilence::DoRemoval(), NyquistEffect::GetCallback(), EffectAutoDuck::Process(), EffectStereoToMono::ProcessOne(), EffectNormalize::ProcessOne(), EffectTwoPassSimpleMono::ProcessOne(), NyquistEffect::PutCallback(), and EffectLoudness::UpdateProgress().
|
protected |
Definition at line 698 of file Effect.cpp.
References EffectBase::mNumGroups, EffectBase::mProgress, BasicUI::ProgressDialog::Poll(), and BasicUI::Success.
Referenced by VampEffect::Process(), NyquistEffect::ProcessOne(), and PerTrackEffect::ProcessPass().
|
protected |
Definition at line 689 of file Effect.cpp.
References EffectBase::mNumTracks, EffectBase::mProgress, BasicUI::ProgressDialog::Poll(), and BasicUI::Success.
Referenced by BlockGenerator::GenerateTrack(), EffectRepeat::Process(), EffectSBSMS::Process(), VampEffect::Process(), NyquistEffect::ProcessOne(), EffectEqualization::ProcessOne(), EffectClickRemoval::ProcessOne(), EffectNoiseRemoval::ProcessOne(), EffectRepair::ProcessOne(), EffectFindClipping::ProcessOne(), EffectChangeSpeed::ProcessOne(), EffectSimpleMono::ProcessOne(), EffectPaulstretch::ProcessOne(), EffectReverse::ProcessOneClip(), and PerTrackEffect::ProcessPass().
|
overridevirtual |
Update the given settings from controls.
Implements EffectPlugin.
Reimplemented in EffectFindClipping, EffectNoise, NyquistEffect, EffectPhaser, EffectRepeat, EffectScienFilter, EffectSilence, EffectToneGen, and EffectTruncSilence.
Definition at line 604 of file Effect.cpp.
Referenced by EffectNoiseReduction::Dialog::OnGetProfile(), EffectNoiseReduction::Dialog::OnPreview(), and EffectNoiseReduction::Dialog::OnReduceNoise().
|
overridevirtual |
Update controls for the settings.
Implements EffectPlugin.
Reimplemented in EffectEqualization, EffectFindClipping, EffectLoudness, EffectNoise, EffectNormalize, NyquistEffect, EffectPhaser, EffectRepeat, EffectScienFilter, EffectSilence, EffectTimeScale, EffectToneGen, VampEffect, VSTEffect, and VST3Effect.
Definition at line 599 of file Effect.cpp.
|
overridevirtual |
Implements EffectPlugin.
Definition at line 574 of file Effect.cpp.
References GetSavedStateGroup(), LoadUserPreset(), EffectSettingsManager::MakeSettings(), and mIsBatch.
|
overridevirtual |
Implements EffectUIClientInterface.
Reimplemented in EffectEqualization, VSTEffect, and VST3Effect.
Definition at line 313 of file Effect.cpp.
Referenced by LadspaEffect::Validator::OnCheckBox(), EffectWahwah::Validator::OnDepthSlider(), EffectWahwah::Validator::OnDepthText(), EffectWahwah::Validator::OnFreqOffSlider(), EffectWahwah::Validator::OnFreqOffText(), EffectWahwah::Validator::OnFreqSlider(), EffectWahwah::Validator::OnFreqText(), EffectWahwah::Validator::OnGainSlider(), EffectWahwah::Validator::OnGainText(), EffectWahwah::Validator::OnPhaseSlider(), EffectWahwah::Validator::OnPhaseText(), EffectWahwah::Validator::OnResonanceSlider(), EffectWahwah::Validator::OnResonanceText(), LadspaEffect::Validator::OnSlider(), LadspaEffect::Validator::OnTextCtrl(), and SpinSliderHandlers().
|
overridevirtual |
Visit settings (read-only), if defined. false means no defined settings. Default implementation returns false
Reimplemented from EffectSettingsManager.
Reimplemented in EffectEqualization, and NyquistEffect.
Definition at line 222 of file Effect.cpp.
References Parameters(), settings(), and EffectParameterMethods::Visit().
|
overridevirtual |
Visit settings (and maybe change them), if defined. false means no defined settings. Default implementation returns false
Reimplemented from EffectSettingsManager.
Reimplemented in EffectEqualization, and NyquistEffect.
Definition at line 216 of file Effect.cpp.
References Parameters(), settings(), and EffectParameterMethods::Visit().
Referenced by LoadSettingsFromString(), SaveSettingsAsString(), and EffectEqualization::VisitSettings().
|
protected |
This smart pointer tracks the lifetime of the dialog.
Definition at line 301 of file Effect.h.
Referenced by ShowHostInterface(), and ~Effect().
|
private |
Definition at line 310 of file Effect.h.
Referenced by IsBatchProcessing(), SetBatchProcessing(), and UnsetBatchProcessing().
|
protected |
Definition at line 302 of file Effect.h.
Referenced by CloseUI(), EnableApply(), EnablePreview(), MessageBox(), EffectBassTreble::OnBassSlider(), EffectBassTreble::OnBassText(), EffectTruncSilence::OnControlChange(), EffectToneGen::OnControlUpdate(), EffectScienFilter::OnCutoff(), EffectPhaser::OnDepthSlider(), EffectPhaser::OnDepthText(), EffectPhaser::OnDryWetSlider(), EffectPhaser::OnDryWetText(), EffectPhaser::OnFeedbackSlider(), EffectPhaser::OnFeedbackText(), NyquistEffect::OnFileButton(), EffectPhaser::OnFreqSlider(), EffectPhaser::OnFreqText(), EffectBassTreble::OnGainSlider(), EffectPhaser::OnGainSlider(), EffectBassTreble::OnGainText(), EffectPhaser::OnGainText(), NyquistEffect::OnLoad(), EffectEqualization::OnManage(), EditCurvesDialog::OnOK(), EffectPhaser::OnPhaseSlider(), EffectPhaser::OnPhaseText(), EffectScienFilter::OnRipple(), NyquistEffect::OnSave(), EffectEqualization::OnSize(), EffectScienFilter::OnSize(), NyquistEffect::OnSlider(), EffectPhaser::OnStagesSlider(), EffectPhaser::OnStagesText(), EffectScienFilter::OnStopbandRipple(), NyquistEffect::OnText(), EffectPaulstretch::OnText(), EffectTimeScale::OnText_PitchHalfStepsEnd(), EffectTimeScale::OnText_PitchHalfStepsStart(), EffectTimeScale::OnText_PitchPercentChangeEnd(), EffectTimeScale::OnText_PitchPercentChangeStart(), EffectTimeScale::OnText_RatePercentChangeEnd(), EffectTimeScale::OnText_RatePercentChangeStart(), NyquistEffect::OnTime(), EffectBassTreble::OnTrebleSlider(), EffectBassTreble::OnTrebleText(), EffectEqualization::PopulateOrExchange(), PopulateUI(), NyquistEffect::Process(), LadspaEffect::ShowOptions(), NyquistEffect::TransferDataFromEffectWindow(), EffectFindClipping::TransferDataFromWindow(), NyquistEffect::TransferDataToEffectWindow(), EffectEqualization::TransferDataToWindow(), EffectFindClipping::TransferDataToWindow(), EffectScienFilter::TransferGraphLimitsFromWindow(), EffectEqualization::UpdateDraw(), EffectEqualization::UpdateGraphic(), EffectLoudness::UpdateUI(), and EffectNormalize::UpdateUI().