14#ifndef __AUDACITY_EFFECT_BASE__
15#define __AUDACITY_EFFECT_BASE__
25class EffectExecutionScenario;
43 double GetDefaultDuration();
53 const InstanceFinder &
finder,
57 const EffectSettingsAccessPtr &pAccess
60 static std::optional<InstancePointer> FindInstance(
EffectPlugin &plugin);
61 static InstanceFinder DefaultInstanceFinder(
EffectPlugin &plugin);
65 friend class au::effects::EffectsProvider;
66 friend class au::effects::EffectExecutionScenario;
93 void SetLinearEffectFlag(
bool linearEffectFlag);
97 void SetPreviewFullSelectionFlag(
bool previewDurationFlag);
109 unsigned mUIFlags{ 0 };
141#define NYQUISTEFFECTS_FAMILY ( EffectFamilySymbol{ XO("Nyquist") } )
static Settings & settings()
The top-level handle to an Audacity project. It serves as a source of events that other objects can b...
Abstraction of a progress dialog with well defined time-to-completion estimate.
Base class for many of the effects in Audacity.
WaveTrackFactory * mFactory
bool IsPreviewing() const
bool PreviewsFullSelection() const
const TrackList * inputTracks() const
virtual bool CheckWhetherSkipEffect(const EffectSettings &settings) const =0
After Init(), tell whether Process() should be skipped.
bool IsLinearEffect() const
BasicUI::ProgressDialog * mProgress
std::shared_ptr< TrackList > mTracks
bool mPreviewFullSelection
virtual double CalcPreviewInputLength(const EffectSettings &settings, double previewLength) const =0
wxArrayString mPresetNames
Base class for many of the effects in Audacity.
Factory of instances of an effect.
virtual bool DoEffect(EffectSettings &settings, const InstanceFinder &finder, double projectRate, TrackList *list, WaveTrackFactory *factory, NotifyingSelectedRegion &selectedRegion, unsigned flags, const EffectSettingsAccessPtr &pAccess=nullptr)=0
Abstract base class for an object holding data associated with points on a time axis.
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.