Audacity 3.2.0
|
EffectSettingsManager is an EffectDefinitionInterface that adds a factory function for EffectSettings, and const functions for manipulating those settings. This externalizes certain effect state. More...
#include <EffectInterface.h>
Public Member Functions | |
virtual | ~EffectSettingsManager () |
virtual bool | VisitSettings (SettingsVisitor &visitor, EffectSettings &settings) |
virtual bool | VisitSettings (ConstSettingsVisitor &visitor, const EffectSettings &settings) const |
settings | |
Interface for saving and loading externalized settings. All methods are 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 |
outputs | |
virtual std::unique_ptr< EffectOutputs > | MakeOutputs () const |
Produce an object to hold values to send to effect output meters. More... | |
Public Member Functions inherited from EffectDefinitionInterface | |
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... | |
Public Member Functions inherited from ComponentInterface | |
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 |
Additional Inherited Members | |
Public Types inherited from EffectDefinitionInterface | |
enum class | RealtimeSince : unsigned { Never , After_3_1 , Always } |
In which versions of Audacity was an effect realtime capable? More... | |
Static Public Member Functions inherited from EffectDefinitionInterface | |
static Identifier | GetSquashedName (const Identifier &ident) |
A utility that strips spaces and CamelCases a name. More... | |
EffectSettingsManager is an EffectDefinitionInterface that adds a factory function for EffectSettings, and const functions for manipulating those settings. This externalizes certain effect state.
Definition at line 314 of file EffectInterface.h.
|
virtualdefault |
|
virtual |
Update one settings object from another.
This may run in a worker thread, and should avoid memory allocations. Therefore do not copy the underlying std::any, but copy the contents of the contained objects.
Assume that src and dst were created and previously modified only by this
Default implementation does nothing and returns true
src | settings to copy from |
dst | settings to copy into |
copyDirection | direction in which copy is performed |
Reimplemented in AudioUnitEffectBase, EffectWithSettings< BassTrebleSettings, PerTrackEffect >, EffectWithSettings< EffectDistortionSettings, PerTrackEffect >, EffectWithSettings< DtmfSettings, PerTrackEffect >, EffectWithSettings< EchoSettings, PerTrackEffect >, EffectWithSettings< CompressorSettings, StatelessPerTrackEffect >, EffectWithSettings< LimiterSettings, StatelessPerTrackEffect >, EffectWithSettings< LadspaEffectSettings, PerTrackEffect >, EffectWithSettings< NyquistSettings, StatefulEffect >, EffectWithSettings< EffectPhaserSettings, PerTrackEffect >, EffectWithSettings< ReverbSettings, PerTrackEffect >, EffectWithSettings< EffectWahwahSettings, PerTrackEffect >, LadspaEffectBase, LV2EffectBase, and VST3EffectBase.
Definition at line 126 of file EffectInterface.cpp.
Referenced by RealtimeEffectState::AccessState::FromMainSlot::Reader::Reader().
|
pure virtual |
Report names of factory presets.
Implemented in AudioUnitEffectBase, DistortionBase, EqualizationBase, ReverbBase, Effect, LadspaEffectBase, LV2EffectBase, VSTEffectBase, VST3EffectBase, EffectCompressor, and EffectLimiter.
Referenced by EffectUIHost::OnMenu().
|
pure virtual |
Change settings back to "factory default"
Implemented in AmplifyBase, ChangeSpeedBase, EqualizationBase, and Effect.
|
pure virtual |
Change settings to the preset whose name is GetFactoryPresets()[id]
Implemented in AudioUnitEffectBase, DistortionBase, EqualizationBase, ReverbBase, Effect, LadspaEffectBase, LV2EffectBase, VSTEffectBase, VST3EffectBase, EffectCompressor, and EffectLimiter.
|
pure virtual |
Restore settings from keys and values.
Implemented in AudioUnitEffectBase, TruncSilenceBase, Effect, LadspaEffectBase, LV2EffectBase, NyquistBase, VSTEffectBase, VST3EffectBase, and VampEffect.
Referenced by RealtimeEffectState::HandleXMLEndTag().
|
pure virtual |
Change settings to a user-named preset
Implemented in AudioUnitEffectBase, Effect, LadspaEffectBase, LV2EffectBase, VSTEffectBase, and VST3EffectBase.
|
virtual |
Produce an object to hold values to send to effect output meters.
Default implementation returns nullptr
Reimplemented in LadspaEffectBase, LV2EffectBase, EffectCompressor, and EffectLimiter.
Definition at line 120 of file EffectInterface.cpp.
Referenced by RealtimeEffectState::GetEffect().
|
virtual |
Produce an object holding new, independent settings
Default implementation returns an empty any
Reimplemented in AudioUnitEffectBase, EffectWithSettings< BassTrebleSettings, PerTrackEffect >, EffectWithSettings< EffectDistortionSettings, PerTrackEffect >, EffectWithSettings< DtmfSettings, PerTrackEffect >, EffectWithSettings< EchoSettings, PerTrackEffect >, EffectWithSettings< CompressorSettings, StatelessPerTrackEffect >, EffectWithSettings< LimiterSettings, StatelessPerTrackEffect >, EffectWithSettings< LadspaEffectSettings, PerTrackEffect >, EffectWithSettings< NyquistSettings, StatefulEffect >, EffectWithSettings< EffectPhaserSettings, PerTrackEffect >, EffectWithSettings< ReverbSettings, PerTrackEffect >, EffectWithSettings< EffectWahwahSettings, PerTrackEffect >, LadspaEffectBase, LV2EffectBase, VSTEffectBase, and VST3EffectBase.
Definition at line 115 of file EffectInterface.cpp.
Referenced by RealtimeEffectState::GetEffect(), Effect::SetBatchProcessing(), and Effect::UnsetBatchProcessing().
|
pure virtual |
Store settings as keys and values.
The override may assume parms
is initially empty
Implemented in AudioUnitEffectBase, Effect, LadspaEffectBase, LV2EffectBase, NyquistBase, VSTEffectBase, VST3EffectBase, and VampEffect.
Referenced by RealtimeEffectState::WriteXML().
|
pure virtual |
Save settings in the configuration file as a user-named preset.
Implemented in AudioUnitEffectBase, Effect, LadspaEffectBase, LV2EffectBase, VSTEffectBase, and VST3EffectBase.
Referenced by EffectUIHost::OnApply(), and EffectUIHost::OnSaveAs().
|
virtual |
Visit settings (read-only), if defined. false means no defined settings. Default implementation returns false
Reimplemented in EqualizationBase, Effect, and NyquistBase.
Definition at line 109 of file EffectInterface.cpp.
|
virtual |
Visit settings (and maybe change them), if defined. false means no defined settings. Default implementation returns false
Reimplemented in EqualizationBase, Effect, and NyquistBase.
Definition at line 103 of file EffectInterface.cpp.
Referenced by EffectAndCommandPluginManager::GetCommandDefinition().