![]() |
Audacity 3.2.0
|
Factory of instances of an effect and of dialogs to control them. More...
#include <EffectPlugin.h>
Public Types | |
using | EffectSettingsAccessPtr = std::shared_ptr< EffectSettingsAccess > |
![]() | |
enum class | RealtimeSince : unsigned { Never , After_3_1 , Always } |
In which versions of Audacity was an effect realtime capable? More... | |
Public Member Functions | |
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 EffectUIClientInterface * | GetEffectUIClientInterface ()=0 |
Returns the EffectUIClientInterface instance for this effect. More... | |
virtual void | Preview (EffectSettingsAccess &access, bool dryOnly)=0 |
virtual bool | SaveSettingsAsString (const EffectSettings &settings, wxString &parms) const =0 |
virtual OptionalMessage | 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 | ~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 bool | SaveSettings (const EffectSettings &settings, CommandParameters &parms) const =0 |
Store settings as keys and values. More... | |
virtual bool | LoadSettings (const CommandParameters &parms, EffectSettings &settings) const =0 |
Restore settings from keys and values. More... | |
virtual RegistryPaths | GetFactoryPresets () const =0 |
Report names of factory presets. More... | |
virtual OptionalMessage | LoadUserPreset (const RegistryPath &name, EffectSettings &settings) const =0 |
virtual bool | SaveUserPreset (const RegistryPath &name, const EffectSettings &settings) const =0 |
Save settings in the configuration file as a user-named preset. More... | |
virtual OptionalMessage | LoadFactoryPreset (int id, EffectSettings &settings) const =0 |
virtual OptionalMessage | LoadFactoryDefaults (EffectSettings &settings) const =0 |
virtual std::unique_ptr< EffectOutputs > | MakeOutputs () const |
Produce an object to hold values to send to effect output meters. 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 Attributes | |
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>") |
Additional Inherited Members | |
![]() | |
static Identifier | GetSquashedName (const Identifier &ident) |
A utility that strips spaces and CamelCases a name. More... | |
Factory of instances of an effect and of dialogs to control them.
Definition at line 53 of file EffectPlugin.h.
using EffectPlugin::EffectSettingsAccessPtr = std::shared_ptr<EffectSettingsAccess> |
Definition at line 57 of file EffectPlugin.h.
|
virtualdefault |
|
pure virtual |
Unfortunately complicated dual-use function.
Sometimes this is invoked only to do effect processing, as a delegate for another effect, but sometimes also to put up a dialog prompting the user for settings first.
Create a user interface only if the supplied factory is not null. Factory may be null because we "Repeat last effect" or apply a macro
Will only operate on tracks that have the "selected" flag set to true, which is consistent with Audacity's standard UI.
settings | Always given; only for processing |
pAccess | Sometimes given; only for UI |
Implemented in EffectBase.
|
pure virtual |
Implemented in Effect.
Referenced by EffectUIHost::BuildButtonBar(), EffectUIHost::DoCancel(), EffectBase::DoEffect(), EffectUIHost::EffectUIHost(), GetID(), GetUserPresets(), HasCurrentSettings(), HasFactoryDefaults(), EffectUIHost::LoadUserPresets(), EffectUIHost::OnApply(), EffectUIHost::OnDefaults(), EffectUIHost::OnDeletePreset(), EffectUIHost::OnFactoryPreset(), EffectUIHost::OnMenu(), EffectUIHost::OnSaveAs(), EffectUIHost::OnUserPreset(), EffectUIHost::ShowModal(), and EffectUIHost::TransferDataFromWindow().
|
pure virtual |
Returns the EffectUIClientInterface instance for this effect.
Usually returns self. May return nullptr. EffectPlugin is responsible for the lifetime of the returned instance.
Implemented in Effect.
|
pure virtual |
Implemented in Effect.
Referenced by EffectUIHost::BuildButtonBar().
|
pure virtual |
Implemented in Effect.
|
delete |
|
pure virtual |
Implemented in EffectAmplify, EffectBase, and EffectTimeScale.
Referenced by EffectUIHost::OnPlay().
|
pure virtual |
Implemented in Effect.
|
pure virtual |
Implemented in Effect.
|
pure virtual |
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() |
Implemented in Effect, EffectNoiseReduction, EffectNoiseRemoval, and NyquistEffect.
Referenced by EffectBase::DoEffect().
|
pure virtual |
Update the given settings from controls.
Implemented in EffectAmplify, EffectAutoDuck, EffectChangeSpeed, EffectClickRemoval, EffectCompressor, Effect, EffectFindClipping, EffectLoudness, EffectNoise, EffectNormalize, NyquistEffect, EffectPaulstretch, EffectRepeat, EffectScienFilter, EffectSilence, EffectTimeScale, EffectToneGen, EffectTruncSilence, and VampEffect.
Referenced by EffectUIHost::TransferDataFromWindow().
|
pure virtual |
Update controls for the settings.
Implemented in EffectAmplify, EffectAutoDuck, EffectChangeSpeed, EffectClickRemoval, EffectCompressor, Effect, EffectEqualization, EffectFindClipping, EffectLoudness, EffectNoise, EffectNormalize, NyquistEffect, EffectPaulstretch, EffectRepeat, EffectScienFilter, EffectSilence, EffectTimeScale, EffectToneGen, EffectTruncSilence, and VampEffect.
Referenced by EffectUIHost::TransferDataToWindow().
|
pure virtual |
Implemented in Effect.
Definition at line 61 of file EffectPlugin.h.
Referenced by EffectManager::GetDefaultPreset(), Effect::LoadSettingsFromString(), anonymous_namespace{EffectManager.cpp}::EffectPresetsDialog::SetPrefix(), anonymous_namespace{EffectManager.cpp}::EffectPresetsDialog::SetSelected(), and anonymous_namespace{EffectManager.cpp}::EffectPresetsDialog::UpdateUI().
|
static |
Definition at line 62 of file EffectPlugin.h.
Referenced by EffectManager::GetDefaultPreset(), Effect::LoadSettingsFromString(), anonymous_namespace{EffectManager.cpp}::EffectPresetsDialog::SetPrefix(), anonymous_namespace{EffectManager.cpp}::EffectPresetsDialog::SetSelected(), and anonymous_namespace{EffectManager.cpp}::EffectPresetsDialog::UpdateUI().
|
static |
Definition at line 60 of file EffectPlugin.h.
Referenced by Effect::LoadSettingsFromString(), anonymous_namespace{EffectManager.cpp}::EffectPresetsDialog::SetPrefix(), anonymous_namespace{EffectManager.cpp}::EffectPresetsDialog::SetSelected(), and anonymous_namespace{EffectManager.cpp}::EffectPresetsDialog::UpdateUI().
|
static |
Definition at line 59 of file EffectPlugin.h.
Referenced by Effect::LoadSettingsFromString(), anonymous_namespace{EffectManager.cpp}::EffectPresetsDialog::SetPrefix(), anonymous_namespace{EffectManager.cpp}::EffectPresetsDialog::SetSelected(), and anonymous_namespace{EffectManager.cpp}::EffectPresetsDialog::UpdateUI().