12#ifndef __AUDACITY_EFFECT__
13#define __AUDACITY_EFFECT__
17#define BUILTIN_EFFECT_PREFIX wxT("Built-in Effect: ")
105 unsigned TestUIFlags(
unsigned mask);
109 InstanceFinder
finder = {});
136 bool TrackGroupProgress(
146 wxString GetSavedStateGroup();
148 bool mIsBatch{
false };
153template<
typename Settings,
typename Base>
158 return EffectSettings::Make<Settings>();
163 return EffectSettings::Copy<Settings>(src, dst);
187#define ID_EFFECT_PREVIEW ePreviewID
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...
virtual wxString GetVersion() const =0
virtual PluginPath GetPath() const =0
virtual VendorSymbol GetVendor() const =0
virtual ComponentInterfaceSymbol GetSymbol() const =0
virtual TranslatableString GetDescription() const =0
ComponentInterfaceSymbol pairs a persistent string identifier used internally with an optional,...
Base class for many of the effects in Audacity.
virtual bool CheckWhetherSkipEffect(const EffectSettings &settings) const =0
After Init(), tell whether Process() should be skipped.
virtual double CalcPreviewInputLength(const EffectSettings &settings, double previewLength) const =0
virtual bool IsDefault() const =0
Whether the effect sorts "above the line" in the menus.
virtual bool IsInteractive() const =0
Whether the effect needs a dialog for entry of settings.
virtual bool SupportsAutomation() const =0
Whether the effect has any automatable controls.
virtual RealtimeSince RealtimeSupport() const =0
Since which version of Audacity has the effect supported realtime?
virtual EffectFamilySymbol GetFamily() const =0
Report identifier and user-visible name of the effect protocol.
Base class for many of the effects in Audacity.
static Effect * FetchParameters(Effect &e, EffectSettings &)
int GetNumWaveTracks() const
int GetNumWaveGroups() const
Interface for manipulations of an Effect's settings.
virtual bool HasOptions() const =0
virtual void SetBatchProcessing()=0
virtual bool CanExportPresets() const =0
Whether the effect supports export of presets to files, and importing too.
virtual void UnsetBatchProcessing()=0
virtual bool SaveSettingsAsString(const EffectSettings &settings, wxString &parms) const =0
virtual const EffectSettingsManager & GetDefinition() const =0
virtual bool IsBatchProcessing() const =0
virtual OptionalMessage LoadSettingsFromString(const wxString &parms, EffectSettings &settings) const =0
EffectSettingsManager is an EffectDefinitionInterface that adds a factory function for EffectSettings...
virtual bool VisitSettings(SettingsVisitor &visitor, EffectSettings &settings)
virtual OptionalMessage LoadFactoryDefaults(EffectSettings &settings) const =0
virtual RegistryPaths GetFactoryPresets() const =0
Report names of factory presets.
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.
virtual OptionalMessage LoadFactoryPreset(int id, EffectSettings &settings) const =0
virtual bool LoadSettings(const CommandParameters &parms, EffectSettings &settings) const =0
Restore settings from keys and values.
virtual bool SaveSettings(const EffectSettings &settings, CommandParameters &parms) const =0
Store settings as keys and values.
static const Settings & GetSettings(const EffectSettings &settings)
Assume settings originated from MakeSettings() and copies thereof.
static Settings & GetSettings(EffectSettings &settings)
Assume settings originated from MakeSettings() and copies thereof.
static Settings * FetchParameters(Base &, EffectSettings &s)
EffectSettings MakeSettings() const override
bool CopySettingsContents(const EffectSettings &src, EffectSettings &dst) const override
Visitor of effect or command parameters. This is a base class with lots of virtual functions that do ...
Holds a msgid for the translation catalog; may also bind format arguments.
A Track that contains audio waveform data.
Positions or offsets within audio files need a wide type.
Externalized state of a plug-in.