12#ifndef __AUDACITY_EFFECTHOSTINTERFACE_H__
13#define __AUDACITY_EFFECTHOSTINTERFACE_H__
104 wxWindow *pParent =
nullptr,
106 const EffectSettingsAccessPtr &pAccess =
nullptr
std::function< wxDialog *(wxWindow &parent, EffectUIHostInterface &, EffectUIClientInterface &, EffectSettingsAccess &) > EffectDialogFactory
Type of function that creates a dialog for an effect.
static Settings & settings()
EffectDefinitionInterface is a ComponentInterface that adds some basic read-only information about ef...
provides the ident interface to Effect, and is what makes Effect into a plug-in command....
EffectUIClientInterface is an abstract base class to populate a UI and validate UI values....
virtual bool TransferDataToWindow(const EffectSettings &settings)=0
Update controls for the settings.
virtual const EffectDefinitionInterface & GetDefinition() const =0
virtual int ShowHostInterface(wxWindow &parent, const EffectDialogFactory &factory, EffectSettingsAccess &access, bool forceModal=false)=0
Usually applies factory to self and given access.
virtual bool IsBatchProcessing() const =0
virtual bool LoadSettingsFromString(const wxString &parms, EffectSettings &settings) const =0
virtual void UnsetBatchProcessing()=0
static const wxString kCurrentSettingsIdent
virtual bool InitializeInstance(EffectSettings &settings)=0
virtual void Preview(EffectSettingsAccess &access, bool dryOnly)=0
virtual void SetBatchProcessing()=0
virtual bool SaveSettingsAsString(const EffectSettings &settings, wxString &parms) const =0
static const wxString kUserPresetIdent
static const wxString kFactoryPresetIdent
EffectUIHostInterface & operator=(EffectUIHostInterface &)=delete
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.
virtual bool TransferDataFromWindow(EffectSettings &settings)=0
Update the given settings from controls.
static const wxString kFactoryDefaultsIdent
virtual ~EffectUIHostInterface()
std::shared_ptr< EffectSettingsAccess > EffectSettingsAccessPtr
A flat linked list of tracks supporting Add, Remove, Clear, and Contains, serialization of the list o...
Used to create or clone a WaveTrack, with appropriate context from the project that will own the trac...
Externalized state of a plug-in.