Audacity 3.2.0
Public Member Functions | Static Public Member Functions | Static Public Attributes | Private Member Functions | Static Private Member Functions | Private Attributes | Static Private Attributes | List of all members
EffectTimeScale Class Referencefinal

An EffectTimeScale does high quality sliding time scaling/pitch shifting. More...

#include <TimeScale.h>

Inheritance diagram for EffectTimeScale:
[legend]
Collaboration diagram for EffectTimeScale:
[legend]

Public Member Functions

 EffectTimeScale ()
 
virtual ~EffectTimeScale ()
 
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...
 
void Preview (EffectSettingsAccess &access, bool dryOnly) override
 
bool Process (EffectInstance &instance, EffectSettings &settings) override
 Actually do the effect here. More...
 
std::unique_ptr< EffectUIValidatorPopulateOrExchange (ShuttleGui &S, EffectInstance &instance, EffectSettingsAccess &access, const EffectOutputs *pOutputs) override
 Add controls to effect panel; always succeeds. More...
 
bool TransferDataToWindow (const EffectSettings &settings) override
 Update controls for the settings. More...
 
bool TransferDataFromWindow (EffectSettings &settings) override
 Update the given settings from controls. More...
 
double CalcPreviewInputLength (const EffectSettings &settings, double previewLength) const override
 Default implementation returns previewLength More...
 
- Public Member Functions inherited from EffectSBSMS
bool Process (EffectInstance &instance, EffectSettings &settings) override
 Actually do the effect here. More...
 
void setParameters (double rateStart, double rateEnd, double pitchStart, double pitchEnd, SlideType rateSlideType, SlideType pitchSlideType, bool bLinkRatePitch, bool bRateReferenceInput, bool bPitchReferenceInput)
 
void setParameters (double tempoRatio, double pitchRatio)
 
- Public Member Functions inherited from StatefulEffect
std::shared_ptr< EffectInstanceMakeInstance () const override
 Make an object maintaining short-term state of an Effect. More...
 
- Public Member Functions inherited from StatefulEffectBase
virtual bool Init ()
 Call once to set up state for whole list of tracks to be processed. More...
 
virtual bool Process (EffectInstance &instance, EffectSettings &settings)=0
 Actually do the effect here. More...
 
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
 
- 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
 
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 EffectParameterMethodsParameters () const
 
int ShowClientInterface (wxWindow &parent, wxDialog &dialog, EffectUIValidator *pValidator, bool forceModal) override
 
EffectUIClientInterfaceGetEffectUIClientInterface () override
 Returns the EffectUIClientInterface instance for this effect. More...
 
std::unique_ptr< EffectUIValidatorPopulateUI (ShuttleGui &S, EffectInstance &instance, EffectSettingsAccess &access, const EffectOutputs *pOutputs) 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
 
OptionalMessage ImportPresets (EffectSettings &settings) override
 
bool HasOptions () override
 
void ShowOptions () override
 
const EffectSettingsManagerGetDefinition () const override
 
virtual NumericFormatSymbol GetSelectionFormat ()
 
int ShowHostInterface (wxWindow &parent, const EffectDialogFactory &factory, std::shared_ptr< EffectInstance > &pInstance, EffectSettingsAccess &access, bool forceModal=false) override
 Usually applies factory to self and given access. More...
 
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
 
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 ()
 
- Public Member Functions inherited from EffectBase
 EffectBase ()
 
 ~EffectBase () override
 
void SetTracks (TrackList *pTracks)
 
- Public Member Functions inherited from EffectUIClientInterface
virtual ~EffectUIClientInterface ()
 
virtual int ShowClientInterface (wxWindow &parent, wxDialog &dialog, EffectUIValidator *pValidator, bool forceModal=false)=0
 
virtual bool IsGraphicalUI ()=0
 
virtual std::unique_ptr< EffectUIValidatorPopulateUI (ShuttleGui &S, EffectInstance &instance, EffectSettingsAccess &access, const EffectOutputs *pOutputs)=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 OptionalMessage ImportPresets (EffectSettings &settings)=0
 
virtual bool HasOptions ()=0
 
virtual void ShowOptions ()=0
 
virtual bool ValidateUI (EffectSettings &settings)=0
 
virtual bool CloseUI ()=0
 
- Public Member Functions inherited from EffectPlugin
EffectPluginoperator= (EffectPlugin &)=delete
 
virtual ~EffectPlugin ()
 
virtual const EffectSettingsManagerGetDefinition () const =0
 
virtual int ShowHostInterface (wxWindow &parent, const EffectDialogFactory &factory, std::shared_ptr< EffectInstance > &pInstance, EffectSettingsAccess &access, bool forceModal=false)=0
 Usually applies factory to self and given access. More...
 
virtual EffectUIClientInterfaceGetEffectUIClientInterface ()=0
 Returns the EffectUIClientInterface instance for this effect. More...
 
virtual void Preview (EffectSettingsAccess &access, bool dryOnly)=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, 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...
 
- Public Member Functions inherited from EffectInstanceFactory
virtual ~EffectInstanceFactory ()
 
virtual std::shared_ptr< EffectInstanceMakeInstance () 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< EffectOutputsMakeOutputs () 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 Member Functions

static EffectTimeScaleFetchParameters (EffectTimeScale &e, EffectSettings &)
 
- Static Public Member Functions inherited from EffectSBSMS
static double getInvertedStretchedTime (double rateStart, double rateEnd, SlideType slideType, double outputTime)
 
static double getRate (double rateStart, double rateEnd, SlideType slideType, double t)
 
- Static Public Member Functions inherited from Effect
static EffectFetchParameters (Effect &e, EffectSettings &)
 
static void IncEffectCounter ()
 
- 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 Attributes

static const ComponentInterfaceSymbol Symbol { wxT("Sliding Stretch"), XO("Sliding Stretch") }
 
- 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>")
 

Private Member Functions

void OnText_RatePercentChangeStart (wxCommandEvent &evt)
 
void OnText_RatePercentChangeEnd (wxCommandEvent &evt)
 
void OnText_PitchPercentChangeStart (wxCommandEvent &evt)
 
void OnText_PitchPercentChangeEnd (wxCommandEvent &evt)
 
void OnText_PitchHalfStepsStart (wxCommandEvent &evt)
 
void OnText_PitchHalfStepsEnd (wxCommandEvent &evt)
 
void OnSlider_RatePercentChangeStart (wxCommandEvent &evt)
 
void OnSlider_RatePercentChangeEnd (wxCommandEvent &evt)
 
void OnCheckBox_PreAnalyze (wxCommandEvent &evt)
 
void Update_Text_RatePercentChangeStart ()
 
void Update_Text_RatePercentChangeEnd ()
 
void Update_Text_PitchPercentChangeStart ()
 
void Update_Text_PitchPercentChangeEnd ()
 
void Update_Text_PitchHalfStepsStart ()
 
void Update_Text_PitchHalfStepsEnd ()
 
void Update_Slider_RatePercentChangeStart ()
 
void Update_Slider_RatePercentChangeEnd ()
 
const EffectParameterMethodsParameters () const override
 

Static Private Member Functions

static double PercentChangeToRatio (double percentChange)
 
static double HalfStepsToPercentChange (double halfSteps)
 
static double PercentChangeToHalfSteps (double percentChange)
 

Private Attributes

bool bPreview
 
double previewSelectedDuration
 
SlideType slideTypeRate
 
SlideType slideTypePitch
 
double m_RatePercentChangeStart
 
double m_RatePercentChangeEnd
 
double m_PitchHalfStepsStart
 
double m_PitchHalfStepsEnd
 
double m_PitchPercentChangeStart
 
double m_PitchPercentChangeEnd
 
wxTextCtrl * m_pTextCtrl_RatePercentChangeStart
 
wxTextCtrl * m_pTextCtrl_RatePercentChangeEnd
 
wxSlider * m_pSlider_RatePercentChangeStart
 
wxSlider * m_pSlider_RatePercentChangeEnd
 
wxTextCtrl * m_pTextCtrl_PitchHalfStepsStart
 
wxTextCtrl * m_pTextCtrl_PitchHalfStepsEnd
 
wxTextCtrl * m_pTextCtrl_PitchPercentChangeStart
 
wxTextCtrl * m_pTextCtrl_PitchPercentChangeEnd
 

Static Private Attributes

static constexpr EffectParameter RatePercentStart
 
static constexpr EffectParameter RatePercentEnd
 
static constexpr EffectParameter HalfStepsStart
 
static constexpr EffectParameter HalfStepsEnd
 
static constexpr EffectParameter PitchPercentStart
 
static constexpr EffectParameter PitchPercentEnd
 

Additional Inherited Members

- Public Types inherited from StatefulEffectBase
using MessagePackage = EffectInstance::MessagePackage
 
- Public Types inherited from Effect
enum  : long { DefaultMessageBoxStyle = wxOK | wxCENTRE }
 
- Public Types inherited from EffectPlugin
using EffectSettingsAccessPtr = std::shared_ptr< EffectSettingsAccess >
 
- Public Types inherited from EffectDefinitionInterface
enum class  RealtimeSince : unsigned { Never , Since_3_2 , Always }
 In which versions of Audacity was an effect realtime capable? More...
 
ComponentInterfaceSymbol GetSymbol () const override
 
- Protected Member Functions inherited from Effect
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< EffectUIValidatorPopulateOrExchange (ShuttleGui &S, EffectInstance &instance, EffectSettingsAccess &access, const EffectOutputs *pOutputs)
 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< AddedAnalysisTrackAddAnalysisTrack (const wxString &name=wxString())
 
ModifiedAnalysisTrack ModifyAnalysisTrack (const LabelTrack *pOrigTrack, const wxString &name=wxString())
 
TrackAddToOutputTracks (const std::shared_ptr< Track > &t)
 
- Protected Member Functions inherited from EffectBase
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 TrackListinputTracks () const
 
const AudacityProjectFindProject () const
 
- Protected Attributes inherited from EffectSBSMS
TranslatableString mProxyEffectName { XO("SBSMS Time / Pitch Stretch") }
 
- Protected Attributes inherited from Effect
wxWeakRef< wxDialog > mHostUIDialog
 This smart pointer tracks the lifetime of the dialog. More...
 
wxWindow * mUIParent {}
 
- Protected Attributes inherited from EffectBase
BasicUI::ProgressDialogmProgress {}
 
double mProjectRate {}
 
WaveTrackFactorymFactory {}
 
std::shared_ptr< TrackListmOutputTracks
 
double mT0 {}
 
double mT1 {}
 
wxArrayString mPresetNames
 
unsigned mUIFlags { 0 }
 
- Static Protected Attributes inherited from EffectBase
static int nEffectsDone = 0
 

Detailed Description

An EffectTimeScale does high quality sliding time scaling/pitch shifting.

Definition at line 25 of file TimeScale.h.

Constructor & Destructor Documentation

◆ EffectTimeScale()

EffectTimeScale::EffectTimeScale ( )

Definition at line 70 of file TimeScale.cpp.

71{
72 Parameters().Reset(*this);
73
74 slideTypeRate = SlideLinearOutputRate;
75 slideTypePitch = SlideLinearOutputRate;
76 bPreview = false;
78
80}
void SetLinearEffectFlag(bool linearEffectFlag)
Definition: EffectBase.cpp:222
virtual void Reset(Effect &effect) const =0
SlideType slideTypePitch
Definition: TimeScale.h:86
double previewSelectedDuration
Definition: TimeScale.h:84
SlideType slideTypeRate
Definition: TimeScale.h:85
const EffectParameterMethods & Parameters() const override
Definition: TimeScale.cpp:41

Referenced by Parameters().

Here is the caller graph for this function:

◆ ~EffectTimeScale()

EffectTimeScale::~EffectTimeScale ( )
virtual

Definition at line 82 of file TimeScale.cpp.

83{
84}

Member Function Documentation

◆ CalcPreviewInputLength()

double EffectTimeScale::CalcPreviewInputLength ( const EffectSettings settings,
double  previewLength 
) const
overridevirtual

Default implementation returns previewLength

Reimplemented from Effect.

Definition at line 112 of file TimeScale.cpp.

114{
115 double inputLength = settings.extra.GetDuration();
116 if(inputLength == 0.0) {
117 return 0.0;
118 } else {
121 double tOut = previewLength/inputLength;
122 double t = EffectSBSMS::getInvertedStretchedTime(rateStart1,rateEnd1,slideTypeRate,tOut);
123 return t * inputLength;
124 }
125}
static Settings & settings()
Definition: TrackInfo.cpp:87
static double getInvertedStretchedTime(double rateStart, double rateEnd, SlideType slideType, double outputTime)
static double PercentChangeToRatio(double percentChange)
Definition: TimeScale.cpp:281
double m_RatePercentChangeEnd
Definition: TimeScale.h:88
double m_RatePercentChangeStart
Definition: TimeScale.h:87

References EffectSBSMS::getInvertedStretchedTime(), m_RatePercentChangeEnd, m_RatePercentChangeStart, PercentChangeToRatio(), settings(), and slideTypeRate.

Here is the call graph for this function:

◆ FetchParameters()

static EffectTimeScale * EffectTimeScale::FetchParameters ( EffectTimeScale e,
EffectSettings  
)
inlinestatic

Definition at line 29 of file TimeScale.h.

29{ return &e; }

◆ GetDescription()

TranslatableString EffectTimeScale::GetDescription ( ) const
overridevirtual

Reimplemented from Effect.

Definition at line 93 of file TimeScale.cpp.

94{
95 return XO("Allows continuous changes to the tempo and/or pitch");
96}
#define XO(s)
Definition: Internat.h:31

References XO.

◆ GetSymbol()

ComponentInterfaceSymbol EffectTimeScale::GetSymbol ( ) const
overridevirtual

Reimplemented from EffectSBSMS.

Definition at line 88 of file TimeScale.cpp.

89{
90 return Symbol;
91}
static const ComponentInterfaceSymbol Symbol
Definition: TimeScale.h:30

References Symbol.

◆ GetType()

EffectType EffectTimeScale::GetType ( ) const
overridevirtual

Type determines how it behaves.

Reimplemented from Effect.

Definition at line 105 of file TimeScale.cpp.

106{
107 return EffectTypeProcess;
108}
@ EffectTypeProcess

References EffectTypeProcess.

◆ HalfStepsToPercentChange()

double EffectTimeScale::HalfStepsToPercentChange ( double  halfSteps)
inlinestaticprivate

Definition at line 286 of file TimeScale.cpp.

287{
288 return 100.0 * (pow(2.0,halfSteps/12.0) - 1.0);
289}

Referenced by OnText_PitchHalfStepsEnd(), and OnText_PitchHalfStepsStart().

Here is the caller graph for this function:

◆ ManualPage()

ManualPageID EffectTimeScale::ManualPage ( ) const
overridevirtual

Name of a page in the Audacity alpha manual, default is empty.

Reimplemented from EffectDefinitionInterface.

Definition at line 98 of file TimeScale.cpp.

99{
100 return L"Sliding_Stretch";
101}

◆ OnCheckBox_PreAnalyze()

void EffectTimeScale::OnCheckBox_PreAnalyze ( wxCommandEvent &  evt)
private

◆ OnSlider_RatePercentChangeEnd()

void EffectTimeScale::OnSlider_RatePercentChangeEnd ( wxCommandEvent &  evt)
private

Definition at line 364 of file TimeScale.cpp.

365{
366 m_RatePercentChangeEnd = (double) evt.GetInt();
367
369}
void Update_Text_RatePercentChangeEnd()
Definition: TimeScale.cpp:302

References m_RatePercentChangeEnd, and Update_Text_RatePercentChangeEnd().

Here is the call graph for this function:

◆ OnSlider_RatePercentChangeStart()

void EffectTimeScale::OnSlider_RatePercentChangeStart ( wxCommandEvent &  evt)
private

Definition at line 357 of file TimeScale.cpp.

358{
359 m_RatePercentChangeStart = (double) evt.GetInt();
360
362}
void Update_Text_RatePercentChangeStart()
Definition: TimeScale.cpp:297

References m_RatePercentChangeStart, and Update_Text_RatePercentChangeStart().

Here is the call graph for this function:

◆ OnText_PitchHalfStepsEnd()

void EffectTimeScale::OnText_PitchHalfStepsEnd ( wxCommandEvent &  evt)
private

Definition at line 382 of file TimeScale.cpp.

383{
384 if (!EnableApply(mUIParent->TransferDataFromWindow()))
385 {
386 return;
387 }
388
391}
bool EnableApply(bool enable=true)
Definition: Effect.cpp:612
wxWindow * mUIParent
Definition: Effect.h:307
static double HalfStepsToPercentChange(double halfSteps)
Definition: TimeScale.cpp:286
double m_PitchHalfStepsEnd
Definition: TimeScale.h:90
double m_PitchPercentChangeEnd
Definition: TimeScale.h:92
void Update_Text_PitchPercentChangeEnd()
Definition: TimeScale.cpp:332

References Effect::EnableApply(), HalfStepsToPercentChange(), m_PitchHalfStepsEnd, m_PitchPercentChangeEnd, Effect::mUIParent, and Update_Text_PitchPercentChangeEnd().

Here is the call graph for this function:

◆ OnText_PitchHalfStepsStart()

void EffectTimeScale::OnText_PitchHalfStepsStart ( wxCommandEvent &  evt)
private

Definition at line 371 of file TimeScale.cpp.

372{
373 if (!EnableApply(mUIParent->TransferDataFromWindow()))
374 {
375 return;
376 }
377
380}
double m_PitchPercentChangeStart
Definition: TimeScale.h:91
double m_PitchHalfStepsStart
Definition: TimeScale.h:89
void Update_Text_PitchPercentChangeStart()
Definition: TimeScale.cpp:327

References Effect::EnableApply(), HalfStepsToPercentChange(), m_PitchHalfStepsStart, m_PitchPercentChangeStart, Effect::mUIParent, and Update_Text_PitchPercentChangeStart().

Here is the call graph for this function:

◆ OnText_PitchPercentChangeEnd()

void EffectTimeScale::OnText_PitchPercentChangeEnd ( wxCommandEvent &  evt)
private

Definition at line 404 of file TimeScale.cpp.

405{
406 if (!EnableApply(mUIParent->TransferDataFromWindow()))
407 {
408 return;
409 }
410
413}
static double PercentChangeToHalfSteps(double percentChange)
Definition: TimeScale.cpp:292
void Update_Text_PitchHalfStepsEnd()
Definition: TimeScale.cpp:322

References Effect::EnableApply(), m_PitchHalfStepsEnd, m_PitchPercentChangeEnd, Effect::mUIParent, PercentChangeToHalfSteps(), and Update_Text_PitchHalfStepsEnd().

Here is the call graph for this function:

◆ OnText_PitchPercentChangeStart()

void EffectTimeScale::OnText_PitchPercentChangeStart ( wxCommandEvent &  evt)
private

Definition at line 393 of file TimeScale.cpp.

394{
395 if (!EnableApply(mUIParent->TransferDataFromWindow()))
396 {
397 return;
398 }
399
402}
void Update_Text_PitchHalfStepsStart()
Definition: TimeScale.cpp:317

References Effect::EnableApply(), m_PitchHalfStepsStart, m_PitchPercentChangeStart, Effect::mUIParent, PercentChangeToHalfSteps(), and Update_Text_PitchHalfStepsStart().

Here is the call graph for this function:

◆ OnText_RatePercentChangeEnd()

void EffectTimeScale::OnText_RatePercentChangeEnd ( wxCommandEvent &  evt)
private

Definition at line 347 of file TimeScale.cpp.

348{
349 if (!EnableApply(mUIParent->TransferDataFromWindow()))
350 {
351 return;
352 }
353
355}
void Update_Slider_RatePercentChangeEnd()
Definition: TimeScale.cpp:312

References Effect::EnableApply(), Effect::mUIParent, and Update_Slider_RatePercentChangeEnd().

Here is the call graph for this function:

◆ OnText_RatePercentChangeStart()

void EffectTimeScale::OnText_RatePercentChangeStart ( wxCommandEvent &  evt)
private

Definition at line 337 of file TimeScale.cpp.

338{
339 if (!EnableApply(mUIParent->TransferDataFromWindow()))
340 {
341 return;
342 }
343
345}
void Update_Slider_RatePercentChangeStart()
Definition: TimeScale.cpp:307

References Effect::EnableApply(), Effect::mUIParent, and Update_Slider_RatePercentChangeStart().

Here is the call graph for this function:

◆ Parameters()

const EffectParameterMethods & EffectTimeScale::Parameters ( ) const
overrideprivatevirtual

Reimplemented from Effect.

Definition at line 41 of file TimeScale.cpp.

42{
46 > parameters;
47 return parameters;
48}
Generates EffectParameterMethods overrides from variadic template arguments.
static constexpr EffectParameter RatePercentEnd
Definition: TimeScale.h:108
static constexpr EffectParameter RatePercentStart
Definition: TimeScale.h:106
static constexpr EffectParameter HalfStepsEnd
Definition: TimeScale.h:112
static constexpr EffectParameter PitchPercentEnd
Definition: TimeScale.h:116
static constexpr EffectParameter PitchPercentStart
Definition: TimeScale.h:114
static constexpr EffectParameter HalfStepsStart
Definition: TimeScale.h:110

References EffectTimeScale(), HalfStepsEnd, HalfStepsStart, PitchPercentEnd, PitchPercentStart, RatePercentEnd, and RatePercentStart.

Here is the call graph for this function:

◆ PercentChangeToHalfSteps()

double EffectTimeScale::PercentChangeToHalfSteps ( double  percentChange)
inlinestaticprivate

Definition at line 292 of file TimeScale.cpp.

293{
294 return 12.0 * log2(PercentChangeToRatio(percentChange));
295}

References PercentChangeToRatio().

Referenced by OnText_PitchPercentChangeEnd(), and OnText_PitchPercentChangeStart().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ PercentChangeToRatio()

double EffectTimeScale::PercentChangeToRatio ( double  percentChange)
inlinestaticprivate

Definition at line 281 of file TimeScale.cpp.

282{
283 return 1.0 + percentChange / 100.0;
284}

Referenced by CalcPreviewInputLength(), PercentChangeToHalfSteps(), and Process().

Here is the caller graph for this function:

◆ PopulateOrExchange()

std::unique_ptr< EffectUIValidator > EffectTimeScale::PopulateOrExchange ( ShuttleGui S,
EffectInstance instance,
EffectSettingsAccess access,
const EffectOutputs pOutputs 
)
overridevirtual

Add controls to effect panel; always succeeds.

Returns
if not null, then return it from Effect::PopulateUI instead of a DefaultEffectUIValidator; default implementation returns null

Reimplemented from Effect.

Definition at line 152 of file TimeScale.cpp.

155{
156 S.SetBorder(5);
157 S.AddSpace(0, 5);
158
159 S.StartMultiColumn(2, wxALIGN_CENTER);
160 {
161 // Rate Start
162 S.StartStatic(XO("Initial Tempo Change (%)"));
163 {
164 S.StartMultiColumn(1, wxCENTER);
165 {
167 .Validator<FloatingPointValidator<double>>(
169 NumValidatorStyle::NO_TRAILING_ZEROES,
171 .AddTextBox( {}, L"", 12);
172 }
173 S.EndMultiColumn();
174 S.StartHorizontalLay(wxEXPAND, 0);
175 {
177 .Style(wxSL_HORIZONTAL)
179 }
180 S.EndHorizontalLay();
181 }
182 S.EndStatic();
183
184 S.StartStatic(XO("Final Tempo Change (%)"));
185 {
186 S.StartMultiColumn(1, wxCENTER);
187 {
189 .Validator<FloatingPointValidator<double>>(
191 NumValidatorStyle::NO_TRAILING_ZEROES,
193 .AddTextBox( {}, L"", 12);
194 }
195 S.EndMultiColumn();
196 S.StartHorizontalLay(wxEXPAND, 0);
197 {
199 .Style(wxSL_HORIZONTAL)
201 }
202 S.EndHorizontalLay();
203 }
204 S.EndStatic();
205
206 // Pitch Start
207 S.StartStatic(XO("Initial Pitch Shift"));
208 {
209 S.StartMultiColumn(2, wxCENTER);
210 {
212 .Validator<FloatingPointValidator<double>>(
214 NumValidatorStyle::NO_TRAILING_ZEROES,
216 .AddTextBox(XXO("(&semitones) [-12 to 12]:"), L"", 12);
217
218
220 .Validator<FloatingPointValidator<double>>(
222 NumValidatorStyle::NO_TRAILING_ZEROES,
224 .AddTextBox(XXO("(%) [-50 to 100]:"), L"", 12);
225 }
226 S.EndMultiColumn();
227 }
228 S.EndStatic();
229
230 // Pitch End
231 S.StartStatic(XO("Final Pitch Shift"));
232 {
233 S.StartMultiColumn(2, wxCENTER);
234 {
236 .Validator<FloatingPointValidator<double>>(
238 NumValidatorStyle::NO_TRAILING_ZEROES,
240 .AddTextBox(XXO("(s&emitones) [-12 to 12]:"), L"", 12);
241
243 .Validator<FloatingPointValidator<double>>(
245 NumValidatorStyle::NO_TRAILING_ZEROES,
247 .AddTextBox(XXO("(%) [-50 to 100]:"), L"", 12);
248 }
249 S.EndMultiColumn();
250 }
251 S.EndStatic();
252 }
253 S.EndMultiColumn();
254
255 return nullptr;
256}
#define XXO(s)
Definition: Internat.h:44
@ ID_RatePercentChangeEnd
Definition: TimeScale.cpp:34
@ ID_PitchHalfStepsEnd
Definition: TimeScale.cpp:36
@ ID_RatePercentChangeStart
Definition: TimeScale.cpp:33
@ ID_PitchPercentChangeEnd
Definition: TimeScale.cpp:38
@ ID_PitchHalfStepsStart
Definition: TimeScale.cpp:35
@ ID_PitchPercentChangeStart
Definition: TimeScale.cpp:37
#define S(N)
Definition: ToChars.cpp:64
wxTextCtrl * m_pTextCtrl_PitchHalfStepsEnd
Definition: TimeScale.h:99
wxSlider * m_pSlider_RatePercentChangeStart
Definition: TimeScale.h:96
wxTextCtrl * m_pTextCtrl_RatePercentChangeStart
Definition: TimeScale.h:94
wxTextCtrl * m_pTextCtrl_RatePercentChangeEnd
Definition: TimeScale.h:95
wxSlider * m_pSlider_RatePercentChangeEnd
Definition: TimeScale.h:97
wxTextCtrl * m_pTextCtrl_PitchHalfStepsStart
Definition: TimeScale.h:98
wxTextCtrl * m_pTextCtrl_PitchPercentChangeStart
Definition: TimeScale.h:100
wxTextCtrl * m_pTextCtrl_PitchPercentChangeEnd
Definition: TimeScale.h:101
const Type def
Default value.
Definition: Shuttle.h:29
const Type min
Minimum value.
Definition: Shuttle.h:30
const Type max
Maximum value.
Definition: Shuttle.h:31

References EffectParameter< Structure, Member, Type, Value >::def, HalfStepsEnd, HalfStepsStart, ID_PitchHalfStepsEnd, ID_PitchHalfStepsStart, ID_PitchPercentChangeEnd, ID_PitchPercentChangeStart, ID_RatePercentChangeEnd, ID_RatePercentChangeStart, m_PitchHalfStepsEnd, m_PitchHalfStepsStart, m_PitchPercentChangeEnd, m_PitchPercentChangeStart, m_pSlider_RatePercentChangeEnd, m_pSlider_RatePercentChangeStart, m_pTextCtrl_PitchHalfStepsEnd, m_pTextCtrl_PitchHalfStepsStart, m_pTextCtrl_PitchPercentChangeEnd, m_pTextCtrl_PitchPercentChangeStart, m_pTextCtrl_RatePercentChangeEnd, m_pTextCtrl_RatePercentChangeStart, m_RatePercentChangeEnd, m_RatePercentChangeStart, EffectParameter< Structure, Member, Type, Value >::max, EffectParameter< Structure, Member, Type, Value >::min, PitchPercentStart, RatePercentEnd, RatePercentStart, S, XO, and XXO.

◆ Preview()

void EffectTimeScale::Preview ( EffectSettingsAccess access,
bool  dryOnly 
)
overridevirtual

Reimplemented from EffectBase.

Definition at line 127 of file TimeScale.cpp.

128{
130 auto cleanup = valueRestorer( bPreview, true );
131 Effect::Preview(access, dryOnly);
132}
ValueRestorer< T > valueRestorer(T &var)
inline functions provide convenient parameter type deduction
Definition: MemoryX.h:234
void Preview(EffectSettingsAccess &access, bool dryOnly) override
Definition: EffectBase.cpp:332
virtual const EffectSettings & Get()=0
double GetDuration() const
EffectSettingsExtra extra

References bPreview, EffectSettings::extra, EffectSettingsAccess::Get(), EffectSettingsExtra::GetDuration(), EffectBase::Preview(), previewSelectedDuration, and valueRestorer().

Here is the call graph for this function:

◆ Process()

bool EffectTimeScale::Process ( EffectInstance instance,
EffectSettings settings 
)
overridevirtual

Actually do the effect here.

Returns
success

Reimplemented from EffectSBSMS.

Definition at line 134 of file TimeScale.cpp.

136{
141
142 if(bPreview) {
143 double t = (mT1-mT0) / previewSelectedDuration;
144 rateEnd1 = EffectSBSMS::getRate(rateStart1,rateEnd1,slideTypeRate,t);
145 pitchEnd1 = EffectSBSMS::getRate(pitchStart1,pitchEnd1,slideTypePitch,t);
146 }
147
148 EffectSBSMS::setParameters(rateStart1,rateEnd1,pitchStart1,pitchEnd1,slideTypeRate,slideTypePitch,false,false,false);
149 return EffectSBSMS::Process(instance, settings);
150}
double mT1
Definition: EffectBase.h:109
double mT0
Definition: EffectBase.h:108
void setParameters(double rateStart, double rateEnd, double pitchStart, double pitchEnd, SlideType rateSlideType, SlideType pitchSlideType, bool bLinkRatePitch, bool bRateReferenceInput, bool bPitchReferenceInput)
bool Process(EffectInstance &instance, EffectSettings &settings) override
Actually do the effect here.
static double getRate(double rateStart, double rateEnd, SlideType slideType, double t)

References bPreview, EffectSBSMS::getRate(), m_PitchPercentChangeEnd, m_PitchPercentChangeStart, m_RatePercentChangeEnd, m_RatePercentChangeStart, EffectBase::mT0, EffectBase::mT1, PercentChangeToRatio(), previewSelectedDuration, EffectSBSMS::Process(), EffectSBSMS::setParameters(), settings(), slideTypePitch, and slideTypeRate.

Here is the call graph for this function:

◆ TransferDataFromWindow()

bool EffectTimeScale::TransferDataFromWindow ( EffectSettings settings)
overridevirtual

Update the given settings from controls.

Reimplemented from Effect.

Definition at line 271 of file TimeScale.cpp.

272{
273 if (!mUIParent->Validate() || !mUIParent->TransferDataFromWindow())
274 {
275 return false;
276 }
277
278 return true;
279}

References Effect::mUIParent.

◆ TransferDataToWindow()

bool EffectTimeScale::TransferDataToWindow ( const EffectSettings settings)
overridevirtual

Update controls for the settings.

Reimplemented from Effect.

Definition at line 258 of file TimeScale.cpp.

259{
260 if (!mUIParent->TransferDataToWindow())
261 {
262 return false;
263 }
264
267
268 return true;
269}

References Effect::mUIParent, Update_Slider_RatePercentChangeEnd(), and Update_Slider_RatePercentChangeStart().

Here is the call graph for this function:

◆ Update_Slider_RatePercentChangeEnd()

void EffectTimeScale::Update_Slider_RatePercentChangeEnd ( )
private

Definition at line 312 of file TimeScale.cpp.

313{
315}

References m_pSlider_RatePercentChangeEnd, and m_RatePercentChangeEnd.

Referenced by OnText_RatePercentChangeEnd(), and TransferDataToWindow().

Here is the caller graph for this function:

◆ Update_Slider_RatePercentChangeStart()

void EffectTimeScale::Update_Slider_RatePercentChangeStart ( )
private

Definition at line 307 of file TimeScale.cpp.

308{
310}

References m_pSlider_RatePercentChangeStart, and m_RatePercentChangeStart.

Referenced by OnText_RatePercentChangeStart(), and TransferDataToWindow().

Here is the caller graph for this function:

◆ Update_Text_PitchHalfStepsEnd()

void EffectTimeScale::Update_Text_PitchHalfStepsEnd ( )
private

Definition at line 322 of file TimeScale.cpp.

323{
324 m_pTextCtrl_PitchHalfStepsEnd->GetValidator()->TransferToWindow();
325}

References m_pTextCtrl_PitchHalfStepsEnd.

Referenced by OnText_PitchPercentChangeEnd().

Here is the caller graph for this function:

◆ Update_Text_PitchHalfStepsStart()

void EffectTimeScale::Update_Text_PitchHalfStepsStart ( )
private

Definition at line 317 of file TimeScale.cpp.

318{
319 m_pTextCtrl_PitchHalfStepsStart->GetValidator()->TransferToWindow();
320}

References m_pTextCtrl_PitchHalfStepsStart.

Referenced by OnText_PitchPercentChangeStart().

Here is the caller graph for this function:

◆ Update_Text_PitchPercentChangeEnd()

void EffectTimeScale::Update_Text_PitchPercentChangeEnd ( )
private

Definition at line 332 of file TimeScale.cpp.

333{
334 m_pTextCtrl_PitchPercentChangeEnd->GetValidator()->TransferToWindow();
335}

References m_pTextCtrl_PitchPercentChangeEnd.

Referenced by OnText_PitchHalfStepsEnd().

Here is the caller graph for this function:

◆ Update_Text_PitchPercentChangeStart()

void EffectTimeScale::Update_Text_PitchPercentChangeStart ( )
private

Definition at line 327 of file TimeScale.cpp.

328{
329 m_pTextCtrl_PitchPercentChangeStart->GetValidator()->TransferToWindow();
330}

References m_pTextCtrl_PitchPercentChangeStart.

Referenced by OnText_PitchHalfStepsStart().

Here is the caller graph for this function:

◆ Update_Text_RatePercentChangeEnd()

void EffectTimeScale::Update_Text_RatePercentChangeEnd ( )
private

Definition at line 302 of file TimeScale.cpp.

303{
304 m_pTextCtrl_RatePercentChangeEnd->GetValidator()->TransferToWindow();
305}

References m_pTextCtrl_RatePercentChangeEnd.

Referenced by OnSlider_RatePercentChangeEnd().

Here is the caller graph for this function:

◆ Update_Text_RatePercentChangeStart()

void EffectTimeScale::Update_Text_RatePercentChangeStart ( )
private

Definition at line 297 of file TimeScale.cpp.

298{
299 m_pTextCtrl_RatePercentChangeStart->GetValidator()->TransferToWindow();
300}

References m_pTextCtrl_RatePercentChangeStart.

Referenced by OnSlider_RatePercentChangeStart().

Here is the caller graph for this function:

Member Data Documentation

◆ bPreview

bool EffectTimeScale::bPreview
private

Definition at line 83 of file TimeScale.h.

Referenced by Preview(), and Process().

◆ HalfStepsEnd

constexpr EffectParameter EffectTimeScale::HalfStepsEnd
staticconstexprprivate
Initial value:
L"PitchHalfStepsEnd", 0.0, -12.0, 12.0, 1 }

Definition at line 112 of file TimeScale.h.

Referenced by Parameters(), and PopulateOrExchange().

◆ HalfStepsStart

constexpr EffectParameter EffectTimeScale::HalfStepsStart
staticconstexprprivate
Initial value:
L"PitchHalfStepsStart", 0.0, -12.0, 12.0, 1 }

Definition at line 110 of file TimeScale.h.

Referenced by Parameters(), and PopulateOrExchange().

◆ m_PitchHalfStepsEnd

double EffectTimeScale::m_PitchHalfStepsEnd
private

◆ m_PitchHalfStepsStart

double EffectTimeScale::m_PitchHalfStepsStart
private

◆ m_PitchPercentChangeEnd

double EffectTimeScale::m_PitchPercentChangeEnd
private

◆ m_PitchPercentChangeStart

double EffectTimeScale::m_PitchPercentChangeStart
private

◆ m_pSlider_RatePercentChangeEnd

wxSlider* EffectTimeScale::m_pSlider_RatePercentChangeEnd
private

Definition at line 97 of file TimeScale.h.

Referenced by PopulateOrExchange(), and Update_Slider_RatePercentChangeEnd().

◆ m_pSlider_RatePercentChangeStart

wxSlider* EffectTimeScale::m_pSlider_RatePercentChangeStart
private

Definition at line 96 of file TimeScale.h.

Referenced by PopulateOrExchange(), and Update_Slider_RatePercentChangeStart().

◆ m_pTextCtrl_PitchHalfStepsEnd

wxTextCtrl* EffectTimeScale::m_pTextCtrl_PitchHalfStepsEnd
private

Definition at line 99 of file TimeScale.h.

Referenced by PopulateOrExchange(), and Update_Text_PitchHalfStepsEnd().

◆ m_pTextCtrl_PitchHalfStepsStart

wxTextCtrl* EffectTimeScale::m_pTextCtrl_PitchHalfStepsStart
private

Definition at line 98 of file TimeScale.h.

Referenced by PopulateOrExchange(), and Update_Text_PitchHalfStepsStart().

◆ m_pTextCtrl_PitchPercentChangeEnd

wxTextCtrl* EffectTimeScale::m_pTextCtrl_PitchPercentChangeEnd
private

Definition at line 101 of file TimeScale.h.

Referenced by PopulateOrExchange(), and Update_Text_PitchPercentChangeEnd().

◆ m_pTextCtrl_PitchPercentChangeStart

wxTextCtrl* EffectTimeScale::m_pTextCtrl_PitchPercentChangeStart
private

Definition at line 100 of file TimeScale.h.

Referenced by PopulateOrExchange(), and Update_Text_PitchPercentChangeStart().

◆ m_pTextCtrl_RatePercentChangeEnd

wxTextCtrl* EffectTimeScale::m_pTextCtrl_RatePercentChangeEnd
private

Definition at line 95 of file TimeScale.h.

Referenced by PopulateOrExchange(), and Update_Text_RatePercentChangeEnd().

◆ m_pTextCtrl_RatePercentChangeStart

wxTextCtrl* EffectTimeScale::m_pTextCtrl_RatePercentChangeStart
private

Definition at line 94 of file TimeScale.h.

Referenced by PopulateOrExchange(), and Update_Text_RatePercentChangeStart().

◆ m_RatePercentChangeEnd

double EffectTimeScale::m_RatePercentChangeEnd
private

◆ m_RatePercentChangeStart

double EffectTimeScale::m_RatePercentChangeStart
private

◆ PitchPercentEnd

constexpr EffectParameter EffectTimeScale::PitchPercentEnd
staticconstexprprivate
Initial value:
L"PitchPercentChangeEnd", 0.0, -50.0, 100.0, 1 }

Definition at line 116 of file TimeScale.h.

Referenced by Parameters().

◆ PitchPercentStart

constexpr EffectParameter EffectTimeScale::PitchPercentStart
staticconstexprprivate
Initial value:
L"PitchPercentChangeStart", 0.0, -50.0, 100.0, 1 }

Definition at line 114 of file TimeScale.h.

Referenced by Parameters(), and PopulateOrExchange().

◆ previewSelectedDuration

double EffectTimeScale::previewSelectedDuration
private

Definition at line 84 of file TimeScale.h.

Referenced by Preview(), and Process().

◆ RatePercentEnd

constexpr EffectParameter EffectTimeScale::RatePercentEnd
staticconstexprprivate
Initial value:
L"RatePercentChangeEnd", 0.0, -90.0, 500, 1 }

Definition at line 108 of file TimeScale.h.

Referenced by Parameters(), and PopulateOrExchange().

◆ RatePercentStart

constexpr EffectParameter EffectTimeScale::RatePercentStart
staticconstexprprivate
Initial value:
L"RatePercentChangeStart", 0.0, -90.0, 500, 1 }

Definition at line 106 of file TimeScale.h.

Referenced by Parameters(), and PopulateOrExchange().

◆ slideTypePitch

SlideType EffectTimeScale::slideTypePitch
private

Definition at line 86 of file TimeScale.h.

Referenced by Process().

◆ slideTypeRate

SlideType EffectTimeScale::slideTypeRate
private

Definition at line 85 of file TimeScale.h.

Referenced by CalcPreviewInputLength(), and Process().

◆ Symbol

const ComponentInterfaceSymbol EffectTimeScale::Symbol { wxT("Sliding Stretch"), XO("Sliding Stretch") }
static

Definition at line 30 of file TimeScale.h.

Referenced by GetSymbol().


The documentation for this class was generated from the following files: