12#ifndef __AUDACITY_LV2_EFFECT__
13#define __AUDACITY_LV2_EFFECT__
23#include "../StatelessPerTrackEffect.h"
27LV2_DISABLE_DEPRECATION_WARNINGS
29#define LV2EFFECTS_VERSION wxT("1.0.0.0")
32#define LV2EFFECTS_FAMILY XO("LV2")
77 wxDialog &dialog,
EffectEditor *pEditor,
bool forceModal)
82 std::shared_ptr<EffectInstance>
MakeInstance()
const override;
102 virtual std::unique_ptr<EffectEditor>
MakeEditor(
110 std::unique_ptr<EffectOutputs>
MakeOutputs()
const override;
const TranslatableString name
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,...
RealtimeSince
In which versions of Audacity was an effect realtime capable?
Performs effect computation.
Hold values to send to effect output meters.
Factory of instances of an effect.
VendorSymbol GetVendor() const override
bool mFactoryPresetsLoaded
bool CopySettingsContents(const EffectSettings &src, EffectSettings &dst) const override
Update one settings object from another.
PluginPath GetPath() const override
RegistryPaths GetFactoryPresets() const override
Report names of factory presets.
bool SupportsAutomation() const override
Whether the effect has any automatable controls.
OptionalMessage LoadUserPreset(const RegistryPath &name, EffectSettings &settings) const override
RealtimeSince RealtimeSupport() const override
Since which version of Audacity has the effect supported realtime?
EffectFamilySymbol GetFamily() const override
Report identifier and user-visible name of the effect protocol.
void ExportPresets(const EffectPlugin &plugin, const EffectSettings &settings) const override
bool SaveParameters(const RegistryPath &group, const EffectSettings &settings) const
virtual std::unique_ptr< EffectEditor > MakeEditor(ShuttleGui &S, EffectInstance &instance, EffectSettingsAccess &access, const EffectOutputs *pOutputs) const final
Will never be called.
RegistryPaths mFactoryPresetNames
EffectSettings MakeSettings() const override
bool mWantsStateInterface
bool SaveSettings(const EffectSettings &settings, CommandParameters &parms) const override
Store settings as keys and values.
LV2Effect(const LilvPlugin &plug)
std::unique_ptr< EffectOutputs > MakeOutputs() const override
Produce an object to hold values to send to effect output meters.
std::unique_ptr< EffectEditor > PopulateUI(const EffectPlugin &plugin, ShuttleGui &S, EffectInstance &instance, EffectSettingsAccess &access, const EffectOutputs *pOutputs) const override
Adds controls to a panel that is given as the parent window of S
FloatBuffers mCVInBuffers
EffectType GetType() const override
Type determines how it behaves.
int ShowClientInterface(const EffectPlugin &plugin, wxWindow &parent, wxDialog &dialog, EffectEditor *pEditor, bool forceModal) const override
wxString GetVersion() const override
void ShowOptions(const EffectPlugin &plugin) const override
bool CanExportPresets() const override
Whether the effect supports export of presets to files, and importing too.
OptionalMessage LoadParameters(const RegistryPath &group, EffectSettings &settings) const
wxArrayString mFactoryPresetUris
bool mWantsOptionsInterface
ComponentInterfaceSymbol GetSymbol() const override
bool LoadSettings(const CommandParameters &parms, EffectSettings &settings) const override
Restore settings from keys and values.
std::shared_ptr< EffectInstance > MakeInstance() const override
Make an object maintaining short-term state of an Effect.
bool IsInteractive() const override
Whether the effect needs a dialog for entry of settings.
const LV2FeaturesList mFeatures
OptionalMessage ImportPresets(const EffectPlugin &plugin, EffectSettings &settings) const override
OptionalMessage LoadFactoryPreset(int id, EffectSettings &settings) const override
TranslatableString GetDescription() const override
bool SaveUserPreset(const RegistryPath &name, const EffectSettings &settings) const override
Save settings in the configuration file as a user-named preset.
bool HasOptions() const override
bool CloseUI() const override
bool IsDefault() const override
Whether the effect sorts "above the line" in the menus.
FloatBuffers mCVOutBuffers
Derived from ShuttleGuiBase, an Audacity specific class for shuttling data to and from GUI.
Simply the union of PerTrackEffect and StatelessEffectUIServices.
Holds a msgid for the translation catalog; may also bind format arguments.
Externalized state of a plug-in.