14#ifndef __AUDACITY_EFFECT_BASE__
15#define __AUDACITY_EFFECT_BASE__
46 const InstanceFinder &finder,
50 const EffectSettingsAccessPtr &pAccess
53 static std::optional<InstancePointer> FindInstance(
EffectPlugin &plugin);
54 static InstanceFinder DefaultInstanceFinder(
EffectPlugin &plugin);
82 void SetLinearEffectFlag(
bool linearEffectFlag);
86 void SetPreviewFullSelectionFlag(
bool previewDurationFlag);
94#ifdef EXPERIMENTAL_SPECTRAL_EDITING
100 unsigned mUIFlags{ 0 };
134#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
double GetDefaultDuration()
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...
static RegisteredToolbarFactory factory
Externalized state of a plug-in.