Audacity 3.2.0
|
A WaveShaper distortion effect. More...
#include <DistortionBase.h>
Classes | |
struct | Instance |
Public Member Functions | |
DistortionBase () | |
virtual | ~DistortionBase () |
ComponentInterfaceSymbol | GetSymbol () const override |
TranslatableString | GetDescription () const override |
ManualPageID | ManualPage () const override |
Name of a page in the Audacity alpha manual, default is empty. More... | |
EffectType | GetType () const override |
Type determines how it behaves. More... | |
RealtimeSince | RealtimeSupport () const override |
Since which version of Audacity has the effect supported realtime? More... | |
RegistryPaths | GetFactoryPresets () const override |
Report names of factory presets. More... | |
OptionalMessage | LoadFactoryPreset (int id, EffectSettings &settings) const override |
OptionalMessage | DoLoadFactoryPreset (int id, EffectSettings &settings) |
std::shared_ptr< EffectInstance > | MakeInstance () const override |
Make an object maintaining short-term state of an Effect. More... | |
Public Member Functions inherited from EffectWithSettings< EffectDistortionSettings, PerTrackEffect > | |
EffectSettings | MakeSettings () const override |
bool | CopySettingsContents (const EffectSettings &src, EffectSettings &dst) const override |
Public Member Functions inherited from PerTrackEffect | |
~PerTrackEffect () override | |
Public Member Functions inherited from Effect | |
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 |
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... | |
RealtimeSince | RealtimeSupport () const override |
Since which version of Audacity has the effect supported realtime? 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... | |
OptionalMessage | LoadUserPreset (const RegistryPath &name, EffectSettings &settings) const override |
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... | |
OptionalMessage | LoadFactoryPreset (int id, EffectSettings &settings) const override |
OptionalMessage | LoadFactoryDefaults (EffectSettings &settings) const override |
virtual const EffectParameterMethods & | Parameters () const |
bool | CanExportPresets () const override |
Whether the effect supports export of presets to files, and importing too. More... | |
bool | HasOptions () const override |
const EffectSettingsManager & | GetDefinition () const override |
virtual NumericFormatID | GetSelectionFormat () |
bool | SaveSettingsAsString (const EffectSettings &settings, wxString &parms) const override |
OptionalMessage | LoadSettingsFromString (const wxString &parms, EffectSettings &settings) const override |
bool | IsBatchProcessing () const override |
void | SetBatchProcessing () override |
void | UnsetBatchProcessing () override |
unsigned | TestUIFlags (unsigned mask) |
bool | Delegate (Effect &delegate, EffectSettings &settings, InstanceFinder finder={}) |
Re-invoke DoEffect on another Effect object that implements the work. More... | |
Public Member Functions inherited from EffectBase | |
EffectBase () | |
~EffectBase () override | |
bool | IsLinearEffect () const |
bool | PreviewsFullSelection () const |
void | SetTracks (TrackList *pTracks) |
double | GetDefaultDuration () |
virtual std::any | BeginPreview (const EffectSettings &settings) |
Called when Preview() starts, to allow temporary effect state changes. More... | |
bool | DoEffect (EffectSettings &settings, const InstanceFinder &finder, double projectRate, TrackList *list, WaveTrackFactory *factory, NotifyingSelectedRegion &selectedRegion, unsigned flags, const EffectSettingsAccessPtr &pAccess) override |
virtual double | CalcPreviewInputLength (const EffectSettings &settings, double previewLength) const =0 |
void | CountWaveTracks () |
Public Member Functions inherited from EffectPlugin | |
EffectPlugin & | operator= (EffectPlugin &)=delete |
virtual | ~EffectPlugin () |
virtual bool | HasOptions () const =0 |
virtual bool | CanExportPresets () const =0 |
Whether the effect supports export of presets to files, and importing too. More... | |
virtual const EffectSettingsManager & | GetDefinition () const =0 |
virtual bool | SaveSettingsAsString (const EffectSettings &settings, wxString &parms) const =0 |
virtual OptionalMessage | 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, const InstanceFinder &finder, double projectRate, TrackList *list, WaveTrackFactory *factory, NotifyingSelectedRegion &selectedRegion, unsigned flags, const EffectSettingsAccessPtr &pAccess=nullptr)=0 |
Public Member Functions inherited from EffectInstanceFactory | |
virtual | ~EffectInstanceFactory () |
virtual std::shared_ptr< EffectInstance > | MakeInstance () const =0 |
Make an object maintaining short-term state of an Effect. More... | |
Public Member Functions inherited from EffectSettingsManager | |
virtual | ~EffectSettingsManager () |
virtual bool | VisitSettings (SettingsVisitor &visitor, EffectSettings &settings) |
virtual bool | VisitSettings (ConstSettingsVisitor &visitor, const EffectSettings &settings) const |
virtual std::unique_ptr< EffectOutputs > | MakeOutputs () const |
Produce an object to hold values to send to effect output meters. More... | |
Public Member Functions inherited from EffectDefinitionInterface | |
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 RealtimeSince | RealtimeSupport () const =0 |
Since which version of Audacity has the effect supported realtime? More... | |
bool | SupportsRealtime () const |
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... | |
Public Member Functions inherited from ComponentInterface | |
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 Attributes | |
static const ComponentInterfaceSymbol | Symbol { XO("Distortion") } |
Static Public Attributes inherited from EffectPlugin | |
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>") |
Protected Types | |
enum | kTableType { kHardClip , kSoftClip , kHalfSinCurve , kExpCurve , kLogCurve , kCubic , kEvenHarmonics , kSinCurve , kLeveller , kRectifier , kHardLimiter , nTableTypes } |
Protected Member Functions | |
const EffectParameterMethods & | Parameters () const override |
Protected Member Functions inherited from PerTrackEffect | |
bool | DoPass1 () const |
bool | DoPass2 () const |
bool | Process (EffectInstance &instance, EffectSettings &settings) const |
std::shared_ptr< EffectOutputTracks > | MakeOutputTracks () |
void | DestroyOutputTracks () const |
Protected Member Functions inherited from Effect | |
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... | |
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, sampleCount *start, sampleCount *len) |
Protected Member Functions inherited from EffectBase | |
virtual bool | CheckWhetherSkipEffect (const EffectSettings &settings) const =0 |
After Init(), tell whether Process() should be skipped. More... | |
void | SetLinearEffectFlag (bool linearEffectFlag) |
void | SetPreviewFullSelectionFlag (bool previewDurationFlag) |
bool | IsPreviewing () const |
const TrackList * | inputTracks () const |
const AudacityProject * | FindProject () const |
Static Protected Attributes | |
static const EnumValueSymbol | kTableTypeStrings [nTableTypes] |
static constexpr EnumParameter | TableTypeIndx |
static constexpr EffectParameter | DCBlock |
static constexpr EffectParameter | Threshold_dB |
static constexpr EffectParameter | NoiseFloor |
static constexpr EffectParameter | Param1 |
static constexpr EffectParameter | Param2 |
static constexpr EffectParameter | Repeats |
Additional Inherited Members | |
Public Types inherited from EffectPlugin | |
using | EffectSettingsAccessPtr = std::shared_ptr< EffectSettingsAccess > |
using | InstancePointer = std::shared_ptr< EffectInstanceEx > |
using | InstanceFinder = std::function< std::optional< InstancePointer >(EffectSettings &settings) > |
Public Types inherited from EffectDefinitionInterface | |
enum class | RealtimeSince : unsigned { Never , After_3_1 , Always } |
In which versions of Audacity was an effect realtime capable? More... | |
Static Public Member Functions inherited from EffectWithSettings< EffectDistortionSettings, PerTrackEffect > | |
static EffectDistortionSettings & | GetSettings (EffectSettings &settings) |
Assume settings originated from MakeSettings() and copies thereof. More... | |
static const EffectDistortionSettings & | GetSettings (const EffectSettings &settings) |
Assume settings originated from MakeSettings() and copies thereof. More... | |
static EffectDistortionSettings * | FetchParameters (PerTrackEffect &, EffectSettings &s) |
Static Public Member Functions inherited from Effect | |
static Effect * | FetchParameters (Effect &e, EffectSettings &) |
Static Public Member Functions inherited from EffectBase | |
static std::optional< InstancePointer > | FindInstance (EffectPlugin &plugin) |
static InstanceFinder | DefaultInstanceFinder (EffectPlugin &plugin) |
Static Public Member Functions inherited from EffectDefinitionInterface | |
static Identifier | GetSquashedName (const Identifier &ident) |
A utility that strips spaces and CamelCases a name. More... | |
Public Attributes inherited from EffectBase | |
std::shared_ptr< TrackList > | mTracks {} |
int | mNumTracks {} |
BasicUI::ProgressDialog * | mProgress {} |
double | mProjectRate {} |
WaveTrackFactory * | mFactory {} |
double | mT0 {} |
double | mT1 {} |
bool | mIsPreview { false } |
Protected Attributes inherited from PerTrackEffect | |
sampleCount | mSampleCnt {} |
Protected Attributes inherited from EffectBase | |
double | mF0 {} |
double | mF1 {} |
wxArrayString | mPresetNames |
unsigned | mUIFlags { 0 } |
A WaveShaper distortion effect.
Definition at line 64 of file DistortionBase.h.
|
protected |
Enumerator | |
---|---|
kHardClip | |
kSoftClip | |
kHalfSinCurve | |
kExpCurve | |
kLogCurve | |
kCubic | |
kEvenHarmonics | |
kSinCurve | |
kLeveller | |
kRectifier | |
kHardLimiter | |
nTableTypes |
Definition at line 189 of file DistortionBase.h.
DistortionBase::DistortionBase | ( | ) |
Definition at line 87 of file DistortionBase.cpp.
References kTableTypeStrings, nTableTypes, and EffectBase::SetLinearEffectFlag().
Referenced by Parameters().
|
virtual |
Definition at line 94 of file DistortionBase.cpp.
OptionalMessage DistortionBase::DoLoadFactoryPreset | ( | int | id, |
EffectSettings & | settings | ||
) |
Definition at line 206 of file DistortionBase.cpp.
References FactoryPresets, EffectWithSettings< EffectDistortionSettings, PerTrackEffect >::GetSettings(), id, and settings().
Referenced by LoadFactoryPreset().
|
overridevirtual |
Implements ComponentInterface.
Definition at line 105 of file DistortionBase.cpp.
References XO().
|
overridevirtual |
Report names of factory presets.
Implements EffectSettingsManager.
Definition at line 186 of file DistortionBase.cpp.
References FactoryPresets, name, names, and TranslatableString::Translation().
|
overridevirtual |
Implements ComponentInterface.
Definition at line 100 of file DistortionBase.cpp.
References Symbol.
|
overridevirtual |
Type determines how it behaves.
Implements EffectDefinitionInterface.
Definition at line 117 of file DistortionBase.cpp.
References EffectTypeProcess.
|
overridevirtual |
Change settings to the preset whose name is GetFactoryPresets()[id]
Implements EffectSettingsManager.
Definition at line 199 of file DistortionBase.cpp.
References DoLoadFactoryPreset(), and settings().
|
overridevirtual |
Make an object maintaining short-term state of an Effect.
One effect may have multiple instances extant simultaneously. Instances have state, may be implemented in foreign code, and are temporary, whereas EffectSettings represents persistent effect state that can be saved and reloaded from files.
settings | may be assumed to have a lifetime enclosing the instance's |
true
(no promises that the result isn't null) Implements EffectInstanceFactory.
Definition at line 82 of file DistortionBase.cpp.
|
overridevirtual |
Name of a page in the Audacity alpha manual, default is empty.
Reimplemented from EffectDefinitionInterface.
Definition at line 110 of file DistortionBase.cpp.
|
overrideprotectedvirtual |
Reimplemented from Effect.
Definition at line 33 of file DistortionBase.cpp.
References DCBlock, DistortionBase(), NoiseFloor, Param1, Param2, Repeats, TableTypeIndx, and Threshold_dB.
|
overridevirtual |
Since which version of Audacity has the effect supported realtime?
Implements EffectDefinitionInterface.
Definition at line 122 of file DistortionBase.cpp.
References EffectDefinitionInterface::After_3_1.
|
staticconstexprprotected |
Definition at line 219 of file DistortionBase.h.
Referenced by Parameters(), and EffectDistortion::Editor::PopulateOrExchange().
|
staticprotected |
Definition at line 205 of file DistortionBase.h.
Referenced by DistortionBase(), and EffectDistortion::Editor::PopulateOrExchange().
|
staticconstexprprotected |
Definition at line 237 of file DistortionBase.h.
Referenced by Parameters(), and EffectDistortion::Editor::PopulateOrExchange().
|
staticconstexprprotected |
Definition at line 246 of file DistortionBase.h.
Referenced by Parameters(), and EffectDistortion::Editor::PopulateOrExchange().
|
staticconstexprprotected |
Definition at line 255 of file DistortionBase.h.
Referenced by Parameters(), and EffectDistortion::Editor::PopulateOrExchange().
|
staticconstexprprotected |
Definition at line 264 of file DistortionBase.h.
Referenced by Parameters(), and EffectDistortion::Editor::PopulateOrExchange().
|
static |
Definition at line 70 of file DistortionBase.h.
Referenced by GetSymbol().
|
staticconstexprprotected |
Definition at line 208 of file DistortionBase.h.
Referenced by Parameters().
|
staticconstexprprotected |
Definition at line 228 of file DistortionBase.h.
Referenced by EffectDistortion::Editor::OnThresholdSlider(), EffectDistortion::Editor::OnThresholdText(), Parameters(), EffectDistortion::Editor::PopulateOrExchange(), EffectDistortion::Editor::UpdateControl(), and EffectDistortion::Editor::UpdateUI().