![]() |
Audacity 3.2.0
|
An effect that generates DTMF tones. More...
#include <DtmfGen.h>
Classes | |
struct | Editor |
struct | Instance |
Temporary state of the computation. More... | |
Public Member Functions | |
EffectDtmf () | |
virtual | ~EffectDtmf () |
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... | |
std::unique_ptr< EffectEditor > | MakeEditor (ShuttleGui &S, EffectInstance &instance, EffectSettingsAccess &access, const EffectOutputs *pOutputs) const override |
Called only from PopulateUI, to add controls to effect panel. More... | |
std::shared_ptr< EffectInstance > | MakeInstance () const override |
Make an object maintaining short-term state of an Effect. More... | |
![]() | |
EffectSettings | MakeSettings () const override |
bool | CopySettingsContents (const EffectSettings &src, EffectSettings &dst) const override |
![]() | |
~StatelessPerTrackEffect () override | |
![]() | |
~PerTrackEffect () override | |
![]() | |
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... | |
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 NumericFormatSymbol | 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) |
Re-invoke DoEffect on another Effect object that implements the work. More... | |
![]() | |
EffectBase () | |
~EffectBase () override | |
void | SetTracks (TrackList *pTracks) |
bool | DoEffect (EffectSettings &settings, const InstanceFinder &finder, double projectRate, TrackList *list, WaveTrackFactory *factory, NotifyingSelectedRegion &selectedRegion, unsigned flags, const EffectSettingsAccessPtr &pAccess) override |
![]() | |
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 void | Preview (EffectSettingsAccess &access, std::function< void()> updateUI, bool dryOnly)=0 |
Calculate temporary tracks of limited length with effect applied and play. More... | |
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 |
![]() | |
virtual | ~EffectInstanceFactory () |
virtual std::shared_ptr< EffectInstance > | MakeInstance () const =0 |
Make an object maintaining short-term state of an Effect. More... | |
![]() | |
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... | |
![]() | |
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... | |
![]() | |
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 |
![]() | |
std::unique_ptr< EffectEditor > | PopulateUI (const EffectPlugin &plugin, ShuttleGui &S, EffectInstance &instance, EffectSettingsAccess &access, const EffectOutputs *pOutputs) const override |
Adds controls to a panel that is given as the parent window of S More... | |
virtual std::unique_ptr< EffectEditor > | MakeEditor (ShuttleGui &S, EffectInstance &instance, EffectSettingsAccess &access, const EffectOutputs *pOutputs) const =0 |
Called only from PopulateUI, to add controls to effect panel. More... | |
![]() | |
int | ShowClientInterface (const EffectPlugin &plugin, wxWindow &parent, wxDialog &dialog, EffectEditor *pEditor, bool forceModal) const override |
void | ExportPresets (const EffectPlugin &plugin, const EffectSettings &settings) const override |
OptionalMessage | ImportPresets (const EffectPlugin &plugin, EffectSettings &settings) const override |
void | ShowOptions (const EffectPlugin &plugin) const override |
bool | ValidateUI (const EffectPlugin &context, EffectSettings &) const override |
bool | CloseUI () const override |
![]() | |
virtual | ~EffectUIServices () |
virtual int | ShowHostInterface (EffectPlugin &plugin, wxWindow &parent, const EffectDialogFactory &factory, std::shared_ptr< EffectInstance > &pInstance, EffectSettingsAccess &access, bool forceModal=false) |
virtual int | ShowClientInterface (const EffectPlugin &plugin, wxWindow &parent, wxDialog &dialog, EffectEditor *pEditor, bool forceModal=false) const =0 |
virtual std::unique_ptr< EffectEditor > | PopulateUI (const EffectPlugin &plugin, ShuttleGui &S, EffectInstance &instance, EffectSettingsAccess &access, const EffectOutputs *pOutputs) const =0 |
Adds controls to a panel that is given as the parent window of S More... | |
virtual void | ExportPresets (const EffectPlugin &plugin, const EffectSettings &settings) const =0 |
virtual OptionalMessage | ImportPresets (const EffectPlugin &plugin, EffectSettings &settings) const =0 |
virtual void | ShowOptions (const EffectPlugin &plugin) const =0 |
virtual bool | ValidateUI (const EffectPlugin &context, EffectSettings &settings) const =0 |
virtual bool | CloseUI () const =0 |
Static Public Attributes | |
static const ComponentInterfaceSymbol | Symbol { XO("DTMF Tones") } |
![]() | |
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>") |
Private Member Functions | |
const EffectParameterMethods & | Parameters () const override |
Static Private Member Functions | |
static bool | MakeDtmfTone (float *buffer, size_t len, float fs, wxChar tone, sampleCount last, sampleCount total, float amplitude) |
Static Private Attributes | |
static constexpr EffectParameter | Sequence |
static constexpr EffectParameter | DutyCycle |
static constexpr EffectParameter | Amplitude |
Additional Inherited Members | |
![]() | |
using | EffectSettingsAccessPtr = std::shared_ptr< EffectSettingsAccess > |
using | InstancePointer = std::shared_ptr< EffectInstanceEx > |
using | InstanceFinder = std::function< std::optional< InstancePointer >(EffectSettings &settings) > |
![]() | |
enum class | RealtimeSince : unsigned { Never , After_3_1 , Always } |
In which versions of Audacity was an effect realtime capable? More... | |
![]() | |
enum | : long { DefaultMessageBoxStyle = wxOK | wxCENTRE } |
![]() | |
static DtmfSettings & | GetSettings (EffectSettings &settings) |
Assume settings originated from MakeSettings() and copies thereof. More... | |
static const DtmfSettings & | GetSettings (const EffectSettings &settings) |
Assume settings originated from MakeSettings() and copies thereof. More... | |
static DtmfSettings * | FetchParameters (StatelessPerTrackEffect &, EffectSettings &s) |
![]() | |
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... | |
![]() | |
static int | DoMessageBox (const EffectPlugin &plugin, const TranslatableString &message, long style=DefaultMessageBoxStyle, const TranslatableString &titleStr={}) |
![]() | |
TrackList * | mTracks {} |
![]() | |
bool | DoPass1 () const |
bool | DoPass2 () const |
bool | Process (EffectInstance &instance, EffectSettings &settings) const |
![]() | |
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, const WaveTrack *pRight, sampleCount *start, sampleCount *len) |
void | CopyInputTracks (bool allSyncLockSelected=false) |
Track * | AddToOutputTracks (const std::shared_ptr< Track > &t) |
![]() | |
virtual std::any | BeginPreview (const EffectSettings &settings) |
Called when Preview() starts, to allow temporary effect state changes. More... | |
void | Preview (EffectSettingsAccess &access, std::function< void()> updateUI, bool dryOnly) final |
Calculate temporary tracks of limited length with effect applied and play. 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 |
![]() | |
sampleCount | mSampleCnt {} |
![]() | |
BasicUI::ProgressDialog * | mProgress {} |
double | mProjectRate {} |
WaveTrackFactory * | mFactory {} |
std::shared_ptr< TrackList > | mOutputTracks |
double | mT0 {} |
double | mT1 {} |
wxArrayString | mPresetNames |
unsigned | mUIFlags { 0 } |
![]() | |
static int | nEffectsDone = 0 |
EffectDtmf::EffectDtmf | ( | ) |
Definition at line 90 of file DtmfGen.cpp.
Referenced by Parameters().
|
virtual |
Definition at line 94 of file DtmfGen.cpp.
|
overridevirtual |
Implements ComponentInterface.
Definition at line 105 of file DtmfGen.cpp.
References XO().
|
overridevirtual |
Implements ComponentInterface.
Definition at line 100 of file DtmfGen.cpp.
References Symbol.
|
overridevirtual |
Type determines how it behaves.
Implements EffectDefinitionInterface.
Definition at line 117 of file DtmfGen.cpp.
References EffectTypeGenerate.
|
staticprivate |
Definition at line 518 of file DtmfGen.cpp.
References A, kFadeInOut, and M_PI.
Referenced by EffectDtmf::Instance::ProcessBlock().
|
overridevirtual |
Called only from PopulateUI, to add controls to effect panel.
result: result != nullptr
Implements StatelessEffectUIServices.
Definition at line 414 of file DtmfGen.cpp.
References EffectSettingsAccess::Get(), EffectWithSettings< DtmfSettings, StatelessPerTrackEffect >::GetSettings(), EffectBase::mProjectRate, S, 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 425 of file DtmfGen.cpp.
References EffectBase::mT0.
|
overridevirtual |
Name of a page in the Audacity alpha manual, default is empty.
Reimplemented from EffectDefinitionInterface.
Definition at line 110 of file DtmfGen.cpp.
|
overrideprivatevirtual |
Reimplemented from Effect.
Definition at line 36 of file DtmfGen.cpp.
References anonymous_namespace{DtmfGen.cpp}::AllSymbols(), Amplitude, DutyCycle, EffectDtmf(), and Sequence.
|
staticconstexprprivate |
Definition at line 87 of file DtmfGen.h.
Referenced by Parameters(), and EffectDtmf::Editor::PopulateOrExchange().
|
staticconstexprprivate |
Definition at line 85 of file DtmfGen.h.
Referenced by EffectDtmf::Editor::OnDutyCycle(), Parameters(), EffectDtmf::Editor::PopulateOrExchange(), EffectDtmf::Editor::UpdateUI(), and EffectDtmf::Editor::ValidateUI().
|
staticconstexprprivate |
|
static |
Definition at line 45 of file DtmfGen.h.
Referenced by GetSymbol().