![]() |
Audacity 3.2.0
|
Base class for many of the effects in Audacity. More...
#include <Effect.h>
Classes | |
class | AddedAnalysisTrack |
class | ModifiedAnalysisTrack |
Public Types | |
enum | : long { DefaultMessageBoxStyle = wxOK | wxCENTRE } |
![]() | |
using | EffectSettingsAccessPtr = std::shared_ptr< EffectSettingsAccess > |
Public Member Functions | |
Effect () | |
virtual | ~Effect () |
PluginPath | GetPath () const override |
bool | VisitSettings (SettingsVisitor &visitor, EffectSettings &settings) override |
bool | VisitSettings (ConstSettingsVisitor &visitor, const EffectSettings &settings) const override |
ComponentInterfaceSymbol | GetSymbol () const override |
VendorSymbol | GetVendor () const override |
wxString | GetVersion () const override |
TranslatableString | GetDescription () const override |
EffectType | GetType () const override |
Type determines how it behaves. More... | |
EffectFamilySymbol | GetFamily () const override |
Report identifier and user-visible name of the effect protocol. More... | |
bool | IsInteractive () const override |
Whether the effect needs a dialog for entry of settings. More... | |
bool | IsDefault () const override |
Whether the effect sorts "above the line" in the menus. More... | |
bool | SupportsRealtime () const override |
Whether the effect supports realtime previewing (while audio is playing). More... | |
bool | SupportsAutomation () const override |
Whether the effect has any automatable controls. More... | |
bool | SaveSettings (const EffectSettings &settings, CommandParameters &parms) const override |
Store settings as keys and values. More... | |
bool | LoadSettings (const CommandParameters &parms, EffectSettings &settings) const override |
Restore settings from keys and values. More... | |
bool | LoadUserPreset (const RegistryPath &name, EffectSettings &settings) const override |
Change settings to a user-named preset. More... | |
bool | SaveUserPreset (const RegistryPath &name, const EffectSettings &settings) const override |
Save settings in the configuration file as a user-named preset. More... | |
RegistryPaths | GetFactoryPresets () const override |
Report names of factory presets. More... | |
bool | LoadFactoryPreset (int id, EffectSettings &settings) const override |
Change settings to the preset whose name is GetFactoryPresets()[id] More... | |
bool | LoadFactoryDefaults (EffectSettings &settings) const override |
Change settings back to "factory default". More... | |
unsigned | GetAudioInCount () const override |
How many input buffers to allocate at once. More... | |
unsigned | GetAudioOutCount () const override |
How many output buffers to allocate at once. More... | |
virtual const EffectParameterMethods & | Parameters () const |
int | ShowClientInterface (wxWindow &parent, wxDialog &dialog, bool forceModal=false) override |
std::unique_ptr< EffectUIValidator > | PopulateUI (ShuttleGui &S, EffectInstance &instance, EffectSettingsAccess &access) override |
Adds controls to a panel that is given as the parent window of S More... | |
bool | IsGraphicalUI () override |
bool | ValidateUI (EffectSettings &) override |
bool | CloseUI () override |
bool | CanExportPresets () override |
void | ExportPresets (const EffectSettings &settings) const override |
void | ImportPresets (EffectSettings &settings) override |
bool | HasOptions () override |
void | ShowOptions () override |
const EffectSettingsManager & | GetDefinition () const override |
virtual NumericFormatSymbol | GetSelectionFormat () |
int | ShowHostInterface (wxWindow &parent, const EffectDialogFactory &factory, EffectInstance &instance, EffectSettingsAccess &access, bool forceModal=false) override |
Usually applies factory to self and given access. More... | |
bool | SaveSettingsAsString (const EffectSettings &settings, wxString &parms) const override |
bool | LoadSettingsFromString (const wxString &parms, EffectSettings &settings) const override |
bool | IsBatchProcessing () const override |
void | SetBatchProcessing () override |
void | UnsetBatchProcessing () override |
bool | TransferDataToWindow (const EffectSettings &settings) override |
Update controls for the settings. More... | |
bool | TransferDataFromWindow (EffectSettings &settings) override |
Update the given settings from controls. More... | |
unsigned | TestUIFlags (unsigned mask) |
bool | Delegate (Effect &delegate, EffectSettings &settings) |
Re-invoke DoEffect on another Effect object that implements the work. More... | |
int | MessageBox (const TranslatableString &message, long style=DefaultMessageBoxStyle, const TranslatableString &titleStr={}) const |
bool | EnableApply (bool enable=true) |
wxWindow * | GetUIParent () |
![]() | |
EffectBase () | |
~EffectBase () override | |
![]() | |
virtual | ~EffectUIClientInterface () |
virtual int | ShowClientInterface (wxWindow &parent, wxDialog &dialog, bool forceModal=false)=0 |
virtual bool | IsGraphicalUI ()=0 |
virtual std::unique_ptr< EffectUIValidator > | PopulateUI (ShuttleGui &S, EffectInstance &instance, EffectSettingsAccess &access)=0 |
Adds controls to a panel that is given as the parent window of S More... | |
virtual bool | CanExportPresets ()=0 |
virtual void | ExportPresets (const EffectSettings &settings) const =0 |
virtual void | ImportPresets (EffectSettings &settings)=0 |
virtual bool | HasOptions ()=0 |
virtual void | ShowOptions ()=0 |
![]() | |
EffectPlugin & | operator= (EffectPlugin &)=delete |
virtual | ~EffectPlugin () |
virtual const EffectSettingsManager & | GetDefinition () const =0 |
virtual int | ShowHostInterface (wxWindow &parent, const EffectDialogFactory &factory, EffectInstance &instance, EffectSettingsAccess &access, bool forceModal=false)=0 |
Usually applies factory to self and given access. More... | |
virtual void | Preview (EffectSettingsAccess &access, bool dryOnly)=0 |
virtual bool | SaveSettingsAsString (const EffectSettings &settings, wxString &parms) const =0 |
virtual bool | LoadSettingsFromString (const wxString &parms, EffectSettings &settings) const =0 |
virtual bool | IsBatchProcessing () const =0 |
virtual void | SetBatchProcessing ()=0 |
virtual void | UnsetBatchProcessing ()=0 |
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. More... | |
virtual bool | TransferDataToWindow (const EffectSettings &settings)=0 |
Update controls for the settings. More... | |
virtual bool | TransferDataFromWindow (EffectSettings &settings)=0 |
Update the given settings from controls. More... | |
![]() | |
virtual | ~EffectInstanceFactory () |
virtual std::shared_ptr< EffectInstance > | MakeInstance () const =0 |
Make an object maintaining short-term state of an Effect. More... | |
virtual unsigned | GetAudioInCount () const =0 |
How many input buffers to allocate at once. More... | |
virtual unsigned | GetAudioOutCount () const =0 |
How many output buffers to allocate at once. More... | |
virtual int | GetMidiInCount () const |
Function that has not yet found a use. More... | |
virtual int | GetMidiOutCount () const |
Function that has not yet found a use. More... | |
![]() | |
virtual | ~EffectSettingsManager () |
virtual bool | VisitSettings (SettingsVisitor &visitor, EffectSettings &settings) |
virtual bool | VisitSettings (ConstSettingsVisitor &visitor, const EffectSettings &settings) const |
virtual EffectSettings | MakeSettings () const |
virtual bool | CopySettingsContents (const EffectSettings &src, EffectSettings &dst) const |
Update one settings object from another. More... | |
![]() | |
virtual | ~EffectDefinitionInterface () |
virtual EffectType | GetType () const =0 |
Type determines how it behaves. More... | |
virtual EffectType | GetClassification () const |
Determines which menu it appears in; default same as GetType(). More... | |
virtual EffectFamilySymbol | GetFamily () const =0 |
Report identifier and user-visible name of the effect protocol. More... | |
virtual bool | IsInteractive () const =0 |
Whether the effect needs a dialog for entry of settings. More... | |
virtual bool | IsDefault () const =0 |
Whether the effect sorts "above the line" in the menus. More... | |
virtual bool | SupportsRealtime () const =0 |
Whether the effect supports realtime previewing (while audio is playing). More... | |
virtual bool | SupportsAutomation () const =0 |
Whether the effect has any automatable controls. More... | |
virtual bool | EnablesDebug () const |
Whether the effect dialog should have a Debug button; default, always false. More... | |
virtual ManualPageID | ManualPage () const |
Name of a page in the Audacity alpha manual, default is empty. More... | |
virtual FilePath | HelpPage () const |
Fully qualified local help file name, default is empty. More... | |
virtual bool | IsHiddenFromMenus () const |
Default is false. More... | |
![]() | |
virtual | ~ComponentInterface () |
virtual PluginPath | GetPath () const =0 |
virtual ComponentInterfaceSymbol | GetSymbol () const =0 |
virtual VendorSymbol | GetVendor () const =0 |
virtual wxString | GetVersion () const =0 |
virtual TranslatableString | GetDescription () const =0 |
TranslatableString | GetName () const |
Static Public Member Functions | |
static Effect * | FetchParameters (Effect &e, EffectSettings &) |
static void | IncEffectCounter () |
![]() | |
static Identifier | GetSquashedName (const Identifier &ident) |
A utility that strips spaces and CamelCases a name. More... | |
Protected Member Functions | |
bool | EnablePreview (bool enable=true) |
bool | CheckWhetherSkipEffect (const EffectSettings &settings) const override |
Default implementation returns false. More... | |
double | CalcPreviewInputLength (const EffectSettings &settings, double previewLength) const override |
Default implementation returns previewLength More... | |
virtual std::unique_ptr< EffectUIValidator > | PopulateOrExchange (ShuttleGui &S, EffectInstance &instance, EffectSettingsAccess &access) |
Add controls to effect panel; always succeeds. More... | |
bool | TotalProgress (double frac, const TranslatableString &={}) const |
bool | TrackProgress (int whichTrack, double frac, const TranslatableString &={}) const |
bool | TrackGroupProgress (int whichGroup, double frac, const TranslatableString &={}) const |
int | GetNumWaveTracks () const |
int | GetNumWaveGroups () const |
void | GetBounds (const WaveTrack &track, const WaveTrack *pRight, sampleCount *start, sampleCount *len) |
void | CopyInputTracks (bool allSyncLockSelected=false) |
std::shared_ptr< AddedAnalysisTrack > | AddAnalysisTrack (const wxString &name=wxString()) |
ModifiedAnalysisTrack | ModifyAnalysisTrack (const LabelTrack *pOrigTrack, const wxString &name=wxString()) |
Track * | AddToOutputTracks (const std::shared_ptr< Track > &t) |
![]() | |
void | Preview (EffectSettingsAccess &access, bool dryOnly) override |
bool | DoEffect (EffectSettings &settings, double projectRate, TrackList *list, WaveTrackFactory *factory, NotifyingSelectedRegion &selectedRegion, unsigned flags, wxWindow *pParent, const EffectDialogFactory &dialogFactory, const EffectSettingsAccessPtr &pAccess) override |
Unfortunately complicated dual-use function. More... | |
virtual bool | CheckWhetherSkipEffect (const EffectSettings &settings) const =0 |
After Init(), tell whether Process() should be skipped. More... | |
virtual double | CalcPreviewInputLength (const EffectSettings &settings, double previewLength) const =0 |
void | SetLinearEffectFlag (bool linearEffectFlag) |
void | SetPreviewFullSelectionFlag (bool previewDurationFlag) |
bool | IsPreviewing () const |
void | IncludeNotSelectedPreviewTracks (bool includeNotSelected) |
void | ReplaceProcessedTracks (const bool bGoodResult) |
const TrackList * | inputTracks () const |
const AudacityProject * | FindProject () const |
virtual bool | ValidateUI (EffectSettings &settings)=0 |
virtual bool | CloseUI ()=0 |
Protected Attributes | |
wxWeakRef< wxDialog > | mHostUIDialog |
This smart pointer tracks the lifetime of the dialog. More... | |
wxWindow * | mUIParent {} |
![]() | |
BasicUI::ProgressDialog * | mProgress {} |
double | mProjectRate {} |
WaveTrackFactory * | mFactory {} |
std::shared_ptr< TrackList > | mOutputTracks |
double | mT0 {} |
double | mT1 {} |
wxArrayString | mPresetNames |
unsigned | mUIFlags { 0 } |
![]() | |
friend | EffectUIValidator |
friend | DefaultEffectUIValidator |
Private Member Functions | |
wxString | GetSavedStateGroup () |
Private Attributes | |
bool | mIsBatch { false } |
Additional Inherited Members | |
![]() | |
static const wxString | kUserPresetIdent = wxT("User Preset:") |
static const wxString | kFactoryPresetIdent = wxT("Factory Preset:") |
static const wxString | kCurrentSettingsIdent = wxT("<Current Settings>") |
static const wxString | kFactoryDefaultsIdent = wxT("<Factory Defaults>") |
![]() | |
static int | nEffectsDone = 0 |
Effect::Effect | ( | ) |
Definition at line 54 of file Effect.cpp.
|
virtual |
Definition at line 58 of file Effect.cpp.
References mHostUIDialog.
|
protected |
Definition at line 802 of file Effect.cpp.
Referenced by EffectFindClipping::Process(), and VampEffect::Process().
Definition at line 766 of file Effect.cpp.
References EffectBase::mIMap, EffectBase::mOMap, and EffectBase::mOutputTracks.
Referenced by NyquistEffect::ProcessOne().
|
overrideprotectedvirtual |
Default implementation returns previewLength
Implements EffectBase.
Reimplemented in EffectPaulstretch, EffectTimeScale, and EffectTruncSilence.
Definition at line 863 of file Effect.cpp.
Referenced by PerTrackEffect::ProcessTrack().
|
overridevirtual |
Implements EffectUIClientInterface.
Reimplemented in LadspaEffect, LV2Effect, VSTEffect, and VST3Effect.
Definition at line 329 of file Effect.cpp.
|
overrideprotectedvirtual |
Default implementation returns false.
Implements EffectBase.
Reimplemented in EffectNoiseRemoval, and EffectNormalize.
Definition at line 858 of file Effect.cpp.
|
overridevirtual |
Implements EffectUIClientInterface.
Reimplemented in EffectEqualization, LV2Effect, VSTEffect, and VST3Effect.
Definition at line 318 of file Effect.cpp.
References EffectBase::mUIDialog, and mUIParent.
Referenced by EffectEqualization::CloseUI().
|
protected |
Definition at line 739 of file Effect.cpp.
References TrackList::Any(), TrackList::Create(), EffectBase::FindProject(), SyncLock::IsSelectedOrSyncLockSelected(), EffectBase::mIMap, EffectBase::mOMap, EffectBase::mOutputTracks, and EffectBase::mTracks.
Referenced by PerTrackEffect::Process(), EffectAutoDuck::Process(), EffectChangeSpeed::Process(), EffectClickRemoval::Process(), EffectEqualization::Process(), Generator::Process(), EffectLoudness::Process(), EffectNoiseReduction::Process(), EffectNoiseRemoval::Process(), EffectNormalize::Process(), NyquistEffect::Process(), EffectPaulstretch::Process(), EffectRepair::Process(), EffectRepeat::Process(), EffectReverse::Process(), EffectSBSMS::Process(), EffectSimpleMono::Process(), EffectStereoToMono::Process(), EffectTwoPassSimpleMono::Process(), EffectTruncSilence::ProcessAll(), and EffectTruncSilence::ProcessIndependently().
bool Effect::Delegate | ( | Effect & | delegate, |
EffectSettings & | settings | ||
) |
Re-invoke DoEffect on another Effect object that implements the work.
Definition at line 588 of file Effect.cpp.
References EffectBase::DoEffect(), EffectBase::mFactory, EffectBase::mProjectRate, EffectBase::mT0, EffectBase::mT1, EffectBase::mTracks, EffectBase::mUIFlags, NotifyingSelectedRegion::setTimes(), and settings().
Referenced by NyquistEffect::Process().
bool Effect::EnableApply | ( | bool | enable = true | ) |
Definition at line 613 of file Effect.cpp.
References EnablePreview(), EffectBase::mUIDialog, and mUIParent.
Referenced by EffectAmplify::CheckClip(), EffectRepeat::DisplayNewTime(), EffectWahwah::Validator::EnableApplyFromTransferDataToWindow(), EffectWahwah::Validator::EnableApplyFromValidate(), EffectAmplify::OnAmpText(), EffectBassTreble::OnBassSlider(), EffectBassTreble::OnBassText(), EffectTruncSilence::OnControlChange(), EffectToneGen::OnControlUpdate(), EffectScienFilter::OnCutoff(), EffectPhaser::OnDepthSlider(), EffectPhaser::OnDepthText(), EffectPhaser::OnDryWetSlider(), EffectPhaser::OnDryWetText(), EffectPhaser::OnFeedbackSlider(), EffectPhaser::OnFeedbackText(), EffectPhaser::OnFreqSlider(), EffectPhaser::OnFreqText(), EffectBassTreble::OnGainSlider(), EffectPhaser::OnGainSlider(), EffectBassTreble::OnGainText(), EffectPhaser::OnGainText(), EffectAmplify::OnPeakText(), EffectPhaser::OnPhaseSlider(), EffectPhaser::OnPhaseText(), EffectScienFilter::OnRipple(), EffectPhaser::OnStagesSlider(), EffectPhaser::OnStagesText(), EffectScienFilter::OnStopbandRipple(), EffectPaulstretch::OnText(), EffectTimeScale::OnText_PitchHalfStepsEnd(), EffectTimeScale::OnText_PitchHalfStepsStart(), EffectTimeScale::OnText_PitchPercentChangeEnd(), EffectTimeScale::OnText_PitchPercentChangeStart(), EffectTimeScale::OnText_RatePercentChangeEnd(), EffectTimeScale::OnText_RatePercentChangeStart(), EffectBassTreble::OnTrebleSlider(), EffectBassTreble::OnTrebleText(), EffectChangeSpeed::UpdateUI(), EffectLoudness::UpdateUI(), and EffectNormalize::UpdateUI().
|
protected |
Definition at line 644 of file Effect.cpp.
References kFFwdID, kPlayID, kRewindID, EffectBase::mUIDialog, mUIParent, and SupportsRealtime().
Referenced by EnableApply(), and NyquistEffect::TransferDataToWindow().
|
overridevirtual |
Implements EffectUIClientInterface.
Reimplemented in LadspaEffect, LV2Effect, VSTEffect, and VST3Effect.
Definition at line 343 of file Effect.cpp.
References AudacityMessageBox(), EffectDefinitionInterface::GetSquashedName(), GetSymbol(), Internal, params, PresetTypes(), SaveSettingsAsString(), SelectFile(), settings(), and XO.
|
inlinestatic |
|
overridevirtual |
How many input buffers to allocate at once.
If the effect ALWAYS processes channels independently, this can return 1
Implements EffectInstanceFactory.
Reimplemented in EffectFade, EffectInvert, LadspaEffect, LV2Effect, EffectPhaser, EffectReverb, EffectScienFilter, EffectStereoToMono, VampEffect, VSTEffect, VST3Effect, and EffectWahwah.
Definition at line 137 of file Effect.cpp.
Referenced by PerTrackEffect::ProcessPass().
|
overridevirtual |
How many output buffers to allocate at once.
Implements EffectInstanceFactory.
Reimplemented in EffectFade, EffectInvert, LadspaEffect, LV2Effect, EffectNoise, EffectPhaser, EffectReverb, EffectScienFilter, EffectStereoToMono, EffectToneGen, VSTEffect, VST3Effect, and EffectWahwah.
Definition at line 142 of file Effect.cpp.
Referenced by PerTrackEffect::ProcessPass(), and PerTrackEffect::ProcessTrack().
|
protected |
Definition at line 709 of file Effect.cpp.
References PackedArray::end(), WaveTrack::GetEndTime(), WaveTrack::GetStartTime(), min(), EffectBase::mT0, EffectBase::mT1, and SampleTrack::TimeToLongSamples().
Referenced by VampEffect::Process(), and PerTrackEffect::ProcessPass().
|
overridevirtual |
Implements EffectPlugin.
Definition at line 453 of file Effect.cpp.
Referenced by LoadUserPreset(), EffectChangeSpeed::OnChoice_Vinyl(), EffectChangeSpeed::PopulateOrExchange(), SaveUserPreset(), EffectChangeSpeed::TransferDataFromWindow(), EffectChangeSpeed::Update_Vinyl(), and EffectEqualization::ValidateUI().
|
overridevirtual |
Implements ComponentInterface.
Reimplemented in EffectEqualization, EffectFade, EffectFindClipping, EffectInvert, LadspaEffect, EffectLoudness, LV2Effect, EffectNoise, EffectNoiseReduction, EffectNormalize, NyquistEffect, EffectPaulstretch, EffectPhaser, EffectRepair, EffectRepeat, EffectReverb, EffectReverse, EffectScienFilter, EffectSilence, EffectStereoToMono, EffectTimeScale, EffectToneGen, EffectTruncSilence, VampEffect, VSTEffect, VST3Effect, and EffectWahwah.
Definition at line 89 of file Effect.cpp.
|
overridevirtual |
Report names of factory presets.
Implements EffectSettingsManager.
Reimplemented in EffectEqualization, LadspaEffect, LV2Effect, EffectReverb, VSTEffect, and VST3Effect.
Definition at line 270 of file Effect.cpp.
Referenced by LoadSettingsFromString().
|
overridevirtual |
Report identifier and user-visible name of the effect protocol.
Implements EffectDefinitionInterface.
Reimplemented in LadspaEffect, LV2Effect, NyquistEffect, VampEffect, VSTEffect, and VST3Effect.
Definition at line 101 of file Effect.cpp.
References XO.
|
inlineprotected |
Definition at line 307 of file Effect.h.
Referenced by NyquistEffect::Process(), and VampEffect::Process().
|
inlineprotected |
Definition at line 306 of file Effect.h.
Referenced by EffectNormalize::AnalyseTrackData(), EffectTruncSilence::Analyze(), EffectAutoDuck::ApplyDuckFade(), EffectAutoDuck::Process(), EffectNormalize::ProcessOne(), EffectTwoPassSimpleMono::ProcessOne(), EffectNoiseRemoval::ShowHostInterface(), and EffectLoudness::UpdateProgress().
|
overridevirtual |
Implements ComponentInterface.
Reimplemented in LadspaEffect, LV2Effect, NyquistEffect, VampEffect, VSTEffect, and VST3Effect.
Definition at line 69 of file Effect.cpp.
References BUILTIN_EFFECT_PREFIX, GetSymbol(), and ComponentInterfaceSymbol::Internal().
|
private |
Definition at line 465 of file Effect.cpp.
Referenced by SetBatchProcessing(), and UnsetBatchProcessing().
|
virtual |
Definition at line 458 of file Effect.cpp.
References EffectBase::FindProject(), ProjectSettings::Get(), ProjectSettings::GetSelectionFormat(), NumericConverter::HoursMinsSecondsFormat(), and IsBatchProcessing().
Referenced by NyquistEffect::BuildEffectWindow(), and EffectRepeat::DisplayNewTime().
|
overridevirtual |
Implements ComponentInterface.
Reimplemented in EffectEqualization, EffectFade, EffectFindClipping, EffectInvert, LadspaEffect, EffectLoudness, LV2Effect, EffectNoise, EffectNoiseReduction, EffectNormalize, NyquistEffect, EffectPaulstretch, EffectPhaser, EffectRepair, EffectRepeat, EffectReverb, EffectReverse, EffectSBSMS, EffectScienFilter, EffectSilence, EffectStereoToMono, EffectTimeScale, EffectToneGen, EffectTruncSilence, VampEffect, VSTEffect, VST3Effect, and EffectWahwah.
Definition at line 74 of file Effect.cpp.
Referenced by ExportPresets(), GetPath(), and ImportPresets().
|
overridevirtual |
Type determines how it behaves.
Implements EffectDefinitionInterface.
Reimplemented in EffectEqualization, EffectFade, EffectFindClipping, EffectInvert, LadspaEffect, EffectLoudness, LV2Effect, EffectNoise, EffectNoiseReduction, EffectNoiseRemoval, EffectNormalize, NyquistEffect, EffectPaulstretch, EffectPhaser, EffectRepair, EffectRepeat, EffectReverb, EffectReverse, EffectScienFilter, EffectSilence, EffectStereoToMono, EffectTimeScale, EffectToneGen, EffectTruncSilence, VampEffect, VSTEffect, VST3Effect, and EffectWahwah.
Definition at line 96 of file Effect.cpp.
References EffectTypeNone.
Referenced by PerTrackEffect::ProcessPass(), and PerTrackEffect::ProcessTrack().
|
inline |
Definition at line 392 of file Effect.h.
Referenced by EffectWahwah::Validator::EnableApplyFromTransferDataToWindow(), and EffectWahwah::Validator::EnableApplyFromValidate().
|
overridevirtual |
Implements ComponentInterface.
Reimplemented in LadspaEffect, LV2Effect, NyquistEffect, VampEffect, VSTEffect, and VST3Effect.
Definition at line 79 of file Effect.cpp.
References XO.
|
overridevirtual |
Implements ComponentInterface.
Reimplemented in LadspaEffect, LV2Effect, NyquistEffect, VampEffect, VSTEffect, and VST3Effect.
Definition at line 84 of file Effect.cpp.
|
overridevirtual |
Implements EffectUIClientInterface.
Reimplemented in LadspaEffect, LV2Effect, VSTEffect, and VST3Effect.
Definition at line 442 of file Effect.cpp.
|
overridevirtual |
Implements EffectUIClientInterface.
Reimplemented in LadspaEffect, LV2Effect, VSTEffect, and VST3Effect.
Definition at line 391 of file Effect.cpp.
References EffectDefinitionInterface::GetSquashedName(), GetSymbol(), ident(), Internal, LoadSettingsFromString(), MessageBox(), params, PresetTypes(), SelectFile(), settings(), and XO.
|
inlinestatic |
Definition at line 264 of file Effect.h.
Referenced by SelectTracksCommand::Apply().
|
overridevirtual |
Implements EffectPlugin.
Definition at line 562 of file Effect.cpp.
References mIsBatch.
Referenced by NyquistEffect::DoLoadSettings(), GetSelectionFormat(), EffectAmplify::Parameters(), EffectAmplify::PopulateOrExchange(), EffectEqualization::PopulateOrExchange(), NyquistEffect::Process(), and NyquistEffect::ShowHostInterface().
|
overridevirtual |
Whether the effect sorts "above the line" in the menus.
Implements EffectDefinitionInterface.
Reimplemented in LadspaEffect, LV2Effect, NyquistEffect, VampEffect, VSTEffect, and VST3Effect.
Definition at line 113 of file Effect.cpp.
|
overridevirtual |
Implements EffectUIClientInterface.
Reimplemented in LadspaEffect, LV2Effect, VSTEffect, and VST3Effect.
Definition at line 308 of file Effect.cpp.
|
overridevirtual |
Whether the effect needs a dialog for entry of settings.
Implements EffectDefinitionInterface.
Reimplemented in EffectFade, EffectInvert, LadspaEffect, LV2Effect, NyquistEffect, EffectRepair, EffectReverse, EffectStereoToMono, VampEffect, VSTEffect, and VST3Effect.
Definition at line 108 of file Effect.cpp.
Referenced by ShowHostInterface().
|
overridevirtual |
Change settings back to "factory default".
Implements EffectSettingsManager.
Reimplemented in VST3Effect, and EffectEqualization.
Definition at line 280 of file Effect.cpp.
References FactoryDefaultsGroup(), LoadUserPreset(), and settings().
Referenced by EffectChangeSpeed::DoLoadFactoryDefaults(), and EffectEqualization::DoLoadFactoryDefaults().
|
overridevirtual |
Change settings to the preset whose name is GetFactoryPresets()[id]
Implements EffectSettingsManager.
Reimplemented in EffectEqualization, LadspaEffect, LV2Effect, EffectReverb, VSTEffect, and VST3Effect.
Definition at line 275 of file Effect.cpp.
Referenced by LoadSettingsFromString().
|
overridevirtual |
Restore settings from keys and values.
Implements EffectSettingsManager.
Reimplemented in LadspaEffect, LV2Effect, NyquistEffect, EffectTruncSilence, VampEffect, VSTEffect, and VST3Effect.
Definition at line 237 of file Effect.cpp.
References Parameters(), EffectParameterMethods::Set(), and settings().
Referenced by EffectTruncSilence::LoadSettings(), and LoadSettingsFromString().
|
overridevirtual |
Implements EffectPlugin.
Definition at line 490 of file Effect.cpp.
References CurrentSettingsGroup(), FactoryDefaultsGroup(), GetFactoryPresets(), ComponentInterface::GetName(), EffectPlugin::kCurrentSettingsIdent, EffectPlugin::kFactoryDefaultsIdent, EffectPlugin::kFactoryPresetIdent, EffectPlugin::kUserPresetIdent, LoadFactoryPreset(), LoadSettings(), LoadUserPreset(), make_iterator_range(), MessageBox(), preset, S, settings(), UserPresetsGroup(), VisitSettings(), and XO.
Referenced by ImportPresets(), and LoadUserPreset().
|
overridevirtual |
Change settings to a user-named preset.
Implements EffectSettingsManager.
Reimplemented in LadspaEffect, LV2Effect, VSTEffect, and VST3Effect.
Definition at line 245 of file Effect.cpp.
References PluginSettings::GetConfig(), GetDefinition(), LoadSettingsFromString(), name, PluginSettings::Private, and settings().
Referenced by LoadFactoryDefaults(), LoadSettingsFromString(), EffectEqualization::PopulateOrExchange(), and UnsetBatchProcessing().
int Effect::MessageBox | ( | const TranslatableString & | message, |
long | style = DefaultMessageBoxStyle , |
||
const TranslatableString & | titleStr = {} |
||
) | const |
Definition at line 869 of file Effect.cpp.
References AudacityMessageBox(), TranslatableString::empty(), ComponentInterface::GetName(), mUIParent, title, and XO.
Referenced by ImportPresets(), EffectAutoDuck::Init(), EffectEqualization::Init(), NyquistEffect::Init(), EffectScienFilter::Init(), VampEffect::Init(), EffectEqualization::LoadCurves(), LoadSettingsFromString(), NyquistEffect::OnLoad(), NyquistEffect::OnSave(), NyquistEffect::OnTime(), NyquistEffect::ParseProgram(), EffectClickRemoval::Process(), Generator::Process(), EffectNoiseReduction::Process(), NyquistEffect::Process(), EffectRepair::Process(), VampEffect::Process(), EffectTruncSilence::ProcessIndependently(), EffectDtmf::Instance::ProcessInitialize(), EffectEcho::Instance::ProcessInitialize(), NyquistEffect::ProcessOne(), EffectClickRemoval::ProcessOne(), EffectFindClipping::ProcessOne(), EffectPaulstretch::ProcessOne(), EffectEqualization::setCurve(), NyquistEffect::TransferDataFromEffectWindow(), and EffectEqualization::ValidateUI().
|
protected |
Definition at line 852 of file Effect.cpp.
References name.
Referenced by EffectFindClipping::Process().
|
virtual |
Reimplemented in EffectAmplify, EffectAutoDuck, EffectBassTreble, EffectChangeSpeed, EffectClickRemoval, EffectCompressor, EffectDistortion, EffectDtmf, EffectEcho, EffectEqualization, EffectFindClipping, EffectLoudness, EffectNoise, EffectNormalize, EffectPaulstretch, EffectPhaser, EffectRepeat, EffectReverb, EffectScienFilter, EffectTimeScale, EffectToneGen, EffectTruncSilence, and EffectWahwah.
Definition at line 147 of file Effect.cpp.
Referenced by LoadSettings(), SaveSettings(), and VisitSettings().
|
protectedvirtual |
Add controls to effect panel; always succeeds.
Reimplemented in EffectAmplify, EffectAutoDuck, EffectBassTreble, EffectChangeSpeed, EffectClickRemoval, EffectCompressor, EffectDistortion, EffectDtmf, EffectEcho, EffectEqualization, EffectFindClipping, LadspaEffect, EffectLoudness, EffectNoise, EffectNormalize, NyquistEffect, EffectPaulstretch, EffectPhaser, EffectRepeat, EffectReverb, EffectScienFilter, EffectSilence, EffectTimeScale, EffectToneGen, EffectTruncSilence, VampEffect, and EffectWahwah.
Definition at line 597 of file Effect.cpp.
Referenced by PopulateUI().
|
overridevirtual |
Adds controls to a panel that is given as the parent window of S
S | interface for adding controls to a panel in a dialog |
instance | guaranteed to have a lifetime containing that of the returned object |
access | guaranteed to have a lifetime containing that of the returned object |
Implements EffectUIClientInterface.
Reimplemented in LV2Effect, VSTEffect, and VST3Effect.
Definition at line 287 of file Effect.cpp.
References mUIParent, PopulateOrExchange(), and S.
|
overridevirtual |
Store settings as keys and values.
Implements EffectSettingsManager.
Reimplemented in LadspaEffect, LV2Effect, NyquistEffect, VampEffect, VSTEffect, and VST3Effect.
Definition at line 230 of file Effect.cpp.
References EffectParameterMethods::Get(), Parameters(), and settings().
Referenced by SaveSettingsAsString().
|
overridevirtual |
Implements EffectPlugin.
Definition at line 472 of file Effect.cpp.
References CommandParameters::GetParameters(), S, SaveSettings(), settings(), and VisitSettings().
Referenced by ExportPresets(), and SaveUserPreset().
|
overridevirtual |
Save settings in the configuration file as a user-named preset.
Implements EffectSettingsManager.
Reimplemented in LadspaEffect, LV2Effect, VSTEffect, and VST3Effect.
Definition at line 258 of file Effect.cpp.
References GetDefinition(), name, PluginSettings::Private, SaveSettingsAsString(), PluginSettings::SetConfig(), and settings().
Referenced by SetBatchProcessing().
|
overridevirtual |
Implements EffectPlugin.
Definition at line 567 of file Effect.cpp.
References GetSavedStateGroup(), EffectSettingsManager::MakeSettings(), mIsBatch, and SaveUserPreset().
Referenced by NyquistEffect::ShowHostInterface().
|
overridevirtual |
Implements EffectUIClientInterface.
Reimplemented in LadspaEffect, LV2Effect, VSTEffect, and VST3Effect.
Definition at line 153 of file Effect.cpp.
References GlobalHook< VetoDialogHook, bool(wxDialog *) >::Call(), EffectBase::mUIDialog, and SupportsRealtime().
|
overridevirtual |
Usually applies factory to self and given access.
But there are a few unusual overrides for historical reasons
instance | is only guaranteed to have lifetime suitable for a modal dialog, unless the dialog stores instance.shared_from_this() |
access | is only guaranteed to have lifetime suitable for a modal dialog, unless the dialog stores access.shared_from_this() |
Implements EffectPlugin.
Reimplemented in EffectNoiseReduction, EffectNoiseRemoval, and NyquistEffect.
Definition at line 175 of file Effect.cpp.
References factory, IsInteractive(), mHostUIDialog, and EffectUIClientInterface::ShowClientInterface().
Referenced by NyquistEffect::ShowHostInterface().
|
overridevirtual |
Implements EffectUIClientInterface.
Reimplemented in LadspaEffect, LV2Effect, VSTEffect, and VST3Effect.
Definition at line 447 of file Effect.cpp.
|
overridevirtual |
Whether the effect has any automatable controls.
Implements EffectDefinitionInterface.
Reimplemented in LadspaEffect, LV2Effect, EffectNoiseRemoval, VSTEffect, and VST3Effect.
Definition at line 123 of file Effect.cpp.
|
overridevirtual |
Whether the effect supports realtime previewing (while audio is playing).
Implements EffectDefinitionInterface.
Reimplemented in LadspaEffect, LV2Effect, EffectPhaser, VSTEffect, VST3Effect, and EffectWahwah.
Definition at line 118 of file Effect.cpp.
Referenced by EnablePreview(), and ShowClientInterface().
unsigned Effect::TestUIFlags | ( | unsigned | mask | ) |
Definition at line 558 of file Effect.cpp.
References EffectBase::mUIFlags.
Referenced by NyquistEffect::ShowHostInterface().
|
protected |
Definition at line 683 of file Effect.cpp.
References EffectBase::mProgress, BasicUI::ProgressDialog::Poll(), and BasicUI::Success.
Referenced by EffectNormalize::AnalyseTrackData(), EffectTruncSilence::Analyze(), EffectAutoDuck::ApplyDuckFade(), EffectTruncSilence::DoRemoval(), NyquistEffect::GetCallback(), EffectAutoDuck::Process(), EffectStereoToMono::ProcessOne(), EffectNormalize::ProcessOne(), EffectTwoPassSimpleMono::ProcessOne(), NyquistEffect::PutCallback(), and EffectLoudness::UpdateProgress().
|
protected |
Definition at line 700 of file Effect.cpp.
References EffectBase::mNumGroups, EffectBase::mProgress, BasicUI::ProgressDialog::Poll(), and BasicUI::Success.
Referenced by VampEffect::Process(), NyquistEffect::ProcessOne(), and PerTrackEffect::ProcessTrack().
|
protected |
Definition at line 691 of file Effect.cpp.
References EffectBase::mNumTracks, EffectBase::mProgress, BasicUI::ProgressDialog::Poll(), and BasicUI::Success.
Referenced by BlockGenerator::GenerateTrack(), EffectRepeat::Process(), EffectSBSMS::Process(), VampEffect::Process(), NyquistEffect::ProcessOne(), EffectEqualization::ProcessOne(), EffectClickRemoval::ProcessOne(), EffectNoiseRemoval::ProcessOne(), EffectRepair::ProcessOne(), EffectFindClipping::ProcessOne(), EffectChangeSpeed::ProcessOne(), EffectSimpleMono::ProcessOne(), EffectPaulstretch::ProcessOne(), EffectReverse::ProcessOneClip(), and PerTrackEffect::ProcessTrack().
|
overridevirtual |
Update the given settings from controls.
Implements EffectPlugin.
Reimplemented in EffectFindClipping, EffectNoise, NyquistEffect, EffectPhaser, EffectRepeat, EffectScienFilter, EffectSilence, EffectToneGen, and EffectTruncSilence.
Definition at line 608 of file Effect.cpp.
Referenced by EffectNoiseReduction::Dialog::OnGetProfile(), EffectNoiseReduction::Dialog::OnPreview(), and EffectNoiseReduction::Dialog::OnReduceNoise().
|
overridevirtual |
Update controls for the settings.
Implements EffectPlugin.
Reimplemented in EffectEqualization, EffectFindClipping, EffectLoudness, EffectNoise, EffectNormalize, NyquistEffect, EffectPhaser, EffectRepeat, EffectScienFilter, EffectSilence, EffectTimeScale, EffectToneGen, and VampEffect.
Definition at line 603 of file Effect.cpp.
|
overridevirtual |
Implements EffectPlugin.
Definition at line 578 of file Effect.cpp.
References GetSavedStateGroup(), LoadUserPreset(), EffectSettingsManager::MakeSettings(), and mIsBatch.
|
overridevirtual |
Implements EffectUIClientInterface.
Reimplemented in EffectEqualization, LV2Effect, VSTEffect, and VST3Effect.
Definition at line 313 of file Effect.cpp.
Referenced by LadspaEffect::Validator::OnCheckBox(), EffectWahwah::Validator::OnDepthSlider(), EffectWahwah::Validator::OnDepthText(), EffectWahwah::Validator::OnFreqOffSlider(), EffectWahwah::Validator::OnFreqOffText(), EffectWahwah::Validator::OnFreqSlider(), EffectWahwah::Validator::OnFreqText(), EffectWahwah::Validator::OnGainSlider(), EffectWahwah::Validator::OnGainText(), EffectWahwah::Validator::OnPhaseSlider(), EffectWahwah::Validator::OnPhaseText(), EffectWahwah::Validator::OnResonanceSlider(), EffectWahwah::Validator::OnResonanceText(), LadspaEffect::Validator::OnSlider(), and LadspaEffect::Validator::OnTextCtrl().
|
overridevirtual |
Visit settings (read-only), if defined. false means no defined settings. Default implementation returns false
Reimplemented from EffectSettingsManager.
Reimplemented in EffectEqualization, and NyquistEffect.
Definition at line 223 of file Effect.cpp.
References Parameters(), settings(), and EffectParameterMethods::Visit().
|
overridevirtual |
Visit settings (and maybe change them), if defined. false means no defined settings. Default implementation returns false
Reimplemented from EffectSettingsManager.
Reimplemented in EffectEqualization, and NyquistEffect.
Definition at line 217 of file Effect.cpp.
References Parameters(), settings(), and EffectParameterMethods::Visit().
Referenced by LoadSettingsFromString(), SaveSettingsAsString(), and EffectEqualization::VisitSettings().
|
protected |
This smart pointer tracks the lifetime of the dialog.
Definition at line 388 of file Effect.h.
Referenced by ShowHostInterface(), and ~Effect().
|
private |
Definition at line 397 of file Effect.h.
Referenced by IsBatchProcessing(), SetBatchProcessing(), and UnsetBatchProcessing().
|
protected |
Definition at line 389 of file Effect.h.
Referenced by CloseUI(), EnableApply(), EnablePreview(), MessageBox(), EffectBassTreble::OnBassSlider(), EffectBassTreble::OnBassText(), EffectTruncSilence::OnControlChange(), EffectToneGen::OnControlUpdate(), EffectScienFilter::OnCutoff(), EffectPhaser::OnDepthSlider(), EffectPhaser::OnDepthText(), EffectPhaser::OnDryWetSlider(), EffectPhaser::OnDryWetText(), EffectPhaser::OnFeedbackSlider(), EffectPhaser::OnFeedbackText(), NyquistEffect::OnFileButton(), EffectPhaser::OnFreqSlider(), EffectPhaser::OnFreqText(), EffectBassTreble::OnGainSlider(), EffectPhaser::OnGainSlider(), EffectBassTreble::OnGainText(), EffectPhaser::OnGainText(), NyquistEffect::OnLoad(), EffectEqualization::OnManage(), EditCurvesDialog::OnOK(), EffectPhaser::OnPhaseSlider(), EffectPhaser::OnPhaseText(), EffectScienFilter::OnRipple(), NyquistEffect::OnSave(), EffectEqualization::OnSize(), EffectScienFilter::OnSize(), NyquistEffect::OnSlider(), EffectPhaser::OnStagesSlider(), EffectPhaser::OnStagesText(), EffectScienFilter::OnStopbandRipple(), NyquistEffect::OnText(), EffectPaulstretch::OnText(), EffectTimeScale::OnText_PitchHalfStepsEnd(), EffectTimeScale::OnText_PitchHalfStepsStart(), EffectTimeScale::OnText_PitchPercentChangeEnd(), EffectTimeScale::OnText_PitchPercentChangeStart(), EffectTimeScale::OnText_RatePercentChangeEnd(), EffectTimeScale::OnText_RatePercentChangeStart(), NyquistEffect::OnTime(), EffectBassTreble::OnTrebleSlider(), EffectBassTreble::OnTrebleText(), EffectEqualization::PopulateOrExchange(), PopulateUI(), NyquistEffect::Process(), LadspaEffect::ShowOptions(), NyquistEffect::TransferDataFromEffectWindow(), EffectFindClipping::TransferDataFromWindow(), NyquistEffect::TransferDataToEffectWindow(), EffectEqualization::TransferDataToWindow(), EffectFindClipping::TransferDataToWindow(), EffectScienFilter::TransferGraphLimitsFromWindow(), EffectEqualization::UpdateDraw(), EffectEqualization::UpdateGraphic(), EffectLoudness::UpdateUI(), and EffectNormalize::UpdateUI().