|  | Audacity 3.2.0
    | 
An Effect that can generate a sine, square or sawtooth wave. An extended mode of EffectToneGen supports 'chirps' where the frequency changes smoothly during the tone. More...
#include <ToneGen.h>
| Public Member Functions | |
| EffectToneGen (bool isChirp) | |
| 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... | |
| std::unique_ptr< EffectEditor > | PopulateOrExchange (ShuttleGui &S, EffectInstance &instance, EffectSettingsAccess &access, const EffectOutputs *pOutputs) override | 
| Add controls to effect panel; always succeeds.  More... | |
| bool | TransferDataToWindow (const EffectSettings &settings) override | 
| bool | TransferDataFromWindow (EffectSettings &settings) override | 
|  Public Member Functions inherited from ToneGenBase | |
| ToneGenBase (bool isChirp) | |
| virtual | ~ToneGenBase () | 
| EffectType | GetType () const override | 
| Type determines how it behaves.  More... | |
| unsigned | GetAudioOutCount () const override | 
| How many output buffers to allocate at once.  More... | |
| bool | ProcessInitialize (EffectSettings &settings, double sampleRate, ChannelNames chanMap) override | 
| size_t | ProcessBlock (EffectSettings &settings, const float *const *inBlock, float *const *outBlock, size_t blockLen) override | 
| Called for destructive effect computation.  More... | |
|  Public Member Functions inherited from StatefulPerTrackEffect | |
| ~StatefulPerTrackEffect () override | |
| std::shared_ptr< EffectInstance > | MakeInstance () const override | 
| Make an object maintaining short-term state of an Effect.  More... | |
| size_t | SetBlockSize (size_t maxBlockSize) override | 
| size_t | GetBlockSize () const override | 
| bool | ProcessInitialize (EffectSettings &settings, double sampleRate, ChannelNames chanMap=nullptr) override | 
| bool | ProcessFinalize () noexcept override | 
| virtual size_t | ProcessBlock (EffectSettings &settings, const float *const *inBlock, float *const *outBlock, size_t blockLen)=0 | 
| Called for destructive effect computation.  More... | |
|  Public Member Functions inherited from StatefulEffectBase | |
| virtual bool | Init () | 
| virtual bool | Process (EffectInstance &instance, EffectSettings &settings)=0 | 
| virtual bool | RealtimeInitialize (EffectSettings &settings, double sampleRate) | 
| virtual bool | RealtimeAddProcessor (EffectSettings &settings, EffectOutputs *pOutputs, unsigned numChannels, float sampleRate) | 
| virtual bool | RealtimeSuspend () | 
| virtual bool | RealtimeResume () | 
| virtual bool | RealtimeProcessStart (MessagePackage &package) | 
| settings are possibly changed, since last call, by an asynchronous dialog  More... | |
| virtual size_t | RealtimeProcess (size_t group, EffectSettings &settings, const float *const *inBuf, float *const *outBuf, size_t numSamples) | 
| virtual bool | RealtimeProcessEnd (EffectSettings &settings) noexcept | 
| settings can be updated to let a dialog change appearance at idle  More... | |
| virtual bool | RealtimeFinalize (EffectSettings &settings) noexcept | 
| virtual size_t | SetBlockSize (size_t maxBlockSize) | 
| virtual size_t | GetBlockSize () const | 
| virtual unsigned | GetAudioInCount () const | 
| How many input buffers to allocate at once.  More... | |
| virtual unsigned | GetAudioOutCount () const | 
| How many output buffers to allocate at once.  More... | |
| virtual sampleCount | GetLatency () const | 
| virtual bool | NeedsDither () const | 
| virtual bool | ProcessInitialize (EffectSettings &settings, double sampleRate, ChannelNames chanMap=nullptr) | 
| virtual bool | ProcessFinalize () noexcept | 
|  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 EffectSettings | MakeSettings () const | 
| virtual bool | CopySettingsContents (const EffectSettings &src, EffectSettings &dst) const | 
| Update one settings object from another.  More... | |
| 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 | 
|  Public Member Functions inherited from StatefulEffectUIServices | |
| ~StatefulEffectUIServices () override | |
| std::unique_ptr< EffectEditor > | PopulateUI (const EffectPlugin &plugin, ShuttleGui &S, EffectInstance &instance, EffectSettingsAccess &access, const EffectOutputs *pOutputs) const override | 
| Allows PopulateOrExchange to return null.  More... | |
| virtual std::unique_ptr< EffectEditor > | PopulateOrExchange (ShuttleGui &S, EffectInstance &instance, EffectSettingsAccess &access, const EffectOutputs *pOutputs) | 
| Add controls to effect panel; always succeeds.  More... | |
| virtual bool | TransferDataToWindow (const EffectSettings &settings) | 
| virtual bool | TransferDataFromWindow (EffectSettings &settings) | 
|  Public Member Functions inherited from BasicEffectUIServices | |
| 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 | 
|  Public Member Functions inherited from EffectUIServices | |
| virtual | ~EffectUIServices () | 
| virtual int | ShowHostInterface (EffectBase &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 SMore... | |
| 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 | 
| Private Member Functions | |
| void | OnControlUpdate (wxCommandEvent &evt) | 
| Private Attributes | |
| wxWeakRef< wxWindow > | mUIParent {} | 
| NumericTextCtrl * | mToneDurationT | 
| Additional Inherited Members | |
|  Public Types inherited from StatefulEffectBase | |
| using | MessagePackage = EffectInstance::MessagePackage | 
|  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... | |
|  Public Types inherited from EffectUIServices | |
| enum | : long { DefaultMessageBoxStyle = wxOK | wxCENTRE } | 
|  Static Public Member Functions inherited from ToneGenBase | |
| static ToneGenBase * | FetchParameters (ToneGenBase &e, EffectSettings &) | 
|  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... | |
|  Static Public Member Functions inherited from EffectUIServices | |
| static int | DoMessageBox (const EffectPlugin &plugin, const TranslatableString &message, long style=DefaultMessageBoxStyle, const TranslatableString &titleStr={}) | 
|  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 } | 
|  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 inherited from ToneGenBase | |
| enum | kWaveforms { kSine , kSquare , kSawtooth , kSquareNoAlias , kTriangle , nWaveforms } | 
| enum | kInterpolations { kLinear , kLogarithmic , nInterpolations } | 
|  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 previewLengthMore... | |
| 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 | 
|  Protected Attributes inherited from ToneGenBase | |
| double | mSampleRate {} | 
| const bool | mChirp | 
| int | mWaveform | 
| int | mInterpolation | 
| double | mFrequency0 | 
| double | mFrequency1 | 
| double | mAmplitude0 | 
| double | mAmplitude1 | 
|  Protected Attributes inherited from PerTrackEffect | |
| sampleCount | mSampleCnt {} | 
|  Protected Attributes inherited from EffectBase | |
| double | mF0 {} | 
| double | mF1 {} | 
| wxArrayString | mPresetNames | 
| unsigned | mUIFlags { 0 } | 
|  Static Protected Attributes inherited from ToneGenBase | |
| static const EnumValueSymbol | kWaveStrings [nWaveforms] | 
| static const EnumValueSymbol | kInterStrings [nInterpolations] | 
| static constexpr EffectParameter | StartFreq | 
| static constexpr EffectParameter | EndFreq | 
| static constexpr EffectParameter | StartAmp | 
| static constexpr EffectParameter | EndAmp | 
| static constexpr EffectParameter | Frequency | 
| static constexpr EffectParameter | Amplitude | 
| static constexpr EnumParameter | Waveform | 
| static constexpr EnumParameter | Interp | 
An Effect that can generate a sine, square or sawtooth wave. An extended mode of EffectToneGen supports 'chirps' where the frequency changes smoothly during the tone.
| 
 | inline | 
Definition at line 29 of file ToneGen.h.
| 
 | overridevirtual | 
Implements ComponentInterface.
Definition at line 57 of file ToneGen.cpp.
References ToneGenBase::mChirp, and XO().
| 
 | overridevirtual | 
Implements ComponentInterface.
Definition at line 52 of file ToneGen.cpp.
References EffectChirp::Symbol, and EffectTone::Symbol.
| 
 | overridevirtual | 
Name of a page in the Audacity alpha manual, default is empty.
Reimplemented from EffectDefinitionInterface.
Definition at line 64 of file ToneGen.cpp.
References ToneGenBase::mChirp.
| 
 | private | 
Definition at line 225 of file ToneGen.cpp.
References EffectEditor::EnableApply(), and mUIParent.
| 
 | overridevirtual | 
Add controls to effect panel; always succeeds.
Reimplemented from StatefulEffectUIServices.
Definition at line 71 of file ToneGen.cpp.
References ToneGenBase::Amplitude, NumericTextCtrl::Options::AutoPos(), ToneGenBase::EndAmp, ToneGenBase::EndFreq, EffectSettings::extra, ToneGenBase::Frequency, EffectSettingsAccess::Get(), ToneGenBase::kInterStrings, ToneGenBase::kWaveStrings, ToneGenBase::mAmplitude0, ToneGenBase::mAmplitude1, EffectParameter< Structure, Member, Type, Value >::max, ToneGenBase::mChirp, ToneGenBase::mFrequency0, ToneGenBase::mFrequency1, EffectParameter< Structure, Member, Type, Value >::min, ToneGenBase::mInterpolation, EffectBase::mProjectRate, Msgids(), mToneDurationT, mUIParent, ToneGenBase::mWaveform, ToneGenBase::nInterpolations, NumericConverterType_TIME(), ToneGenBase::nWaveforms, S, safenew, FormatterContext::SampleRateContext(), ToneGenBase::StartAmp, ToneGenBase::StartFreq, XO(), and XXO().
| 
 | overridevirtual | 
Update the given settings from controls; default does nothing, returns true
Reimplemented from StatefulEffectUIServices.
Definition at line 205 of file ToneGen.cpp.
References NumericConverter::GetValue(), ToneGenBase::mAmplitude0, ToneGenBase::mAmplitude1, ToneGenBase::mChirp, ToneGenBase::mFrequency0, ToneGenBase::mFrequency1, mToneDurationT, mUIParent, and settings().
| 
 | overridevirtual | 
Update controls for the settings; default does nothing, returns true
Reimplemented from StatefulEffectUIServices.
Definition at line 194 of file ToneGen.cpp.
References mToneDurationT, mUIParent, settings(), and NumericTextCtrl::SetValue().
| 
 | private | 
Definition at line 57 of file ToneGen.h.
Referenced by PopulateOrExchange(), TransferDataFromWindow(), and TransferDataToWindow().
| 
 | private | 
Definition at line 56 of file ToneGen.h.
Referenced by OnControlUpdate(), PopulateOrExchange(), TransferDataFromWindow(), and TransferDataToWindow().