13#ifndef __AUDACITY_LV2_EFFECT_BASE__
14#define __AUDACITY_LV2_EFFECT_BASE__
24#define LV2EFFECTS_VERSION wxT("1.0.0.0")
27#define LV2EFFECTS_FAMILY XO("LV2")
66 bool InitializePlugin();
68 std::shared_ptr<EffectInstance>
MakeInstance()
const override;
80 std::unique_ptr<EffectOutputs>
MakeOutputs()
const override;
92 bool mWantsOptionsInterface{
false };
93 bool mWantsStateInterface{
false };
103 mutable bool mFactoryPresetsLoaded{
false };
std::optional< std::unique_ptr< EffectSettingsAccess::Message > > OptionalMessage
wxString PluginPath
type alias for identifying a Plugin supplied by a module, each module defining its own interpretation...
std::vector< RegistryPath > RegistryPaths
static Settings & settings()
CommandParameters, derived from wxFileConfig, is essentially doing the same things as the SettingsVis...
ComponentInterfaceSymbol pairs a persistent string identifier used internally with an optional,...
virtual EffectType GetType() const =0
Type determines how it behaves.
RealtimeSince
In which versions of Audacity was an effect realtime capable?
bool SaveSettings(const EffectSettings &settings, CommandParameters &parms) const override
Store settings as keys and values.
RealtimeSince RealtimeSupport() const override
Since which version of Audacity has the effect supported realtime?
bool SaveUserPreset(const RegistryPath &name, const EffectSettings &settings) const override
Save settings in the configuration file as a user-named preset.
bool SupportsAutomation() const override
Whether the effect has any automatable controls.
bool LoadSettings(const CommandParameters &parms, EffectSettings &settings) const override
Restore settings from keys and values.
TranslatableString GetDescription() const override
OptionalMessage LoadFactoryPreset(int id, EffectSettings &settings) const override
bool HasOptions() const override
wxString GetVersion() const override
PluginPath GetPath() const override
VendorSymbol GetVendor() const override
OptionalMessage LoadUserPreset(const RegistryPath &name, EffectSettings &settings) const override
bool CanExportPresets() const override
Whether the effect supports export of presets to files, and importing too.
ComponentInterfaceSymbol GetSymbol() const override
EffectFamilySymbol GetFamily() const override
Report identifier and user-visible name of the effect protocol.
bool IsDefault() const override
Whether the effect sorts "above the line" in the menus.
RegistryPaths GetFactoryPresets() const override
Report names of factory presets.
bool IsInteractive() const override
Whether the effect needs a dialog for entry of settings.
virtual std::shared_ptr< EffectInstance > MakeInstance() const =0
Make an object maintaining short-term state of an Effect.
virtual bool CopySettingsContents(const EffectSettings &src, EffectSettings &dst) const
Update one settings object from another.
virtual std::unique_ptr< EffectOutputs > MakeOutputs() const
Produce an object to hold values to send to effect output meters.
virtual EffectSettings MakeSettings() const
FloatBuffers mCVOutBuffers
RegistryPaths mFactoryPresetNames
FloatBuffers mCVInBuffers
~LV2EffectBase() override
wxArrayString mFactoryPresetUris
Base class for many of the effects in Audacity.
Holds a msgid for the translation catalog; may also bind format arguments.
Externalized state of a plug-in.