Audacity  2.2.2
Public Member Functions | Private Member Functions | Private Attributes | List of all members
EffectPhaser Class Referencefinal

An Effect that changes frequencies in a time varying manner. More...

#include <Phaser.h>

Inheritance diagram for EffectPhaser:
Effect EffectClientInterface EffectUIClientInterface EffectHostInterface EffectDefinitionInterface ConfigClientInterface IdentInterface ParamsInterface

Public Member Functions

 EffectPhaser ()
 
virtual ~EffectPhaser ()
 
IdentInterfaceSymbol GetSymbol () override
 
wxString GetDescription () override
 
wxString ManualPage () override
 
EffectType GetType () override
 
bool SupportsRealtime () override
 
unsigned GetAudioInCount () override
 
unsigned GetAudioOutCount () override
 
bool ProcessInitialize (sampleCount totalLen, ChannelNames chanMap=NULL) override
 
size_t ProcessBlock (float **inBlock, float **outBlock, size_t blockLen) override
 
bool RealtimeInitialize () override
 
bool RealtimeAddProcessor (unsigned numChannels, float sampleRate) override
 
bool RealtimeFinalize () override
 
size_t RealtimeProcess (int group, float **inbuf, float **outbuf, size_t numSamples) override
 
bool DefineParams (ShuttleParams &S) override
 
bool GetAutomationParameters (CommandParameters &parms) override
 
bool SetAutomationParameters (CommandParameters &parms) override
 
void PopulateOrExchange (ShuttleGui &S) override
 
bool TransferDataToWindow () override
 
bool TransferDataFromWindow () override
 
- Public Member Functions inherited from Effect
 Effect ()
 
virtual ~Effect ()
 
wxString GetPath () override
 
IdentInterfaceSymbol GetVendor () override
 
wxString GetVersion () override
 
IdentInterfaceSymbol GetFamilyId () override
 
bool IsInteractive () override
 
bool IsDefault () override
 
bool IsLegacy () override
 
bool SupportsAutomation () override
 
bool SetHost (EffectHostInterface *host) override
 
int GetMidiInCount () override
 
int GetMidiOutCount () override
 
sampleCount GetLatency () override
 
size_t GetTailSize () override
 
void SetSampleRate (double rate) override
 
size_t SetBlockSize (size_t maxBlockSize) override
 
bool IsReady () override
 
bool ProcessFinalize () override
 
bool RealtimeSuspend () override
 
bool RealtimeResume () override
 
bool RealtimeProcessStart () override
 
bool RealtimeProcessEnd () override
 
bool ShowInterface (wxWindow *parent, bool forceModal=false) override
 
bool LoadUserPreset (const wxString &name) override
 
bool SaveUserPreset (const wxString &name) override
 
wxArrayString GetFactoryPresets () override
 
bool LoadFactoryPreset (int id) override
 
bool LoadFactoryDefaults () override
 
void SetHostUI (EffectUIHostInterface *host) override
 
bool PopulateUI (wxWindow *parent) override
 
bool IsGraphicalUI () override
 
bool ValidateUI () override
 
bool HideUI () override
 
bool CloseUI () override
 
bool CanExportPresets () override
 
void ExportPresets () override
 
void ImportPresets () override
 
bool HasOptions () override
 
void ShowOptions () override
 
double GetDefaultDuration () override
 
double GetDuration () override
 
NumericFormatId GetDurationFormat () override
 
virtual NumericFormatId GetSelectionFormat ()
 
void SetDuration (double duration) override
 
bool Apply () override
 
void Preview () override
 
wxDialog * CreateUI (wxWindow *parent, EffectUIClientInterface *client) override
 
wxString GetUserPresetsGroup (const wxString &name) override
 
wxString GetCurrentSettingsGroup () override
 
wxString GetFactoryDefaultsGroup () override
 
virtual wxString GetSavedStateGroup ()
 
bool HasSharedConfigGroup (const wxString &group) override
 
bool GetSharedConfigSubgroups (const wxString &group, wxArrayString &subgroups) override
 
bool GetSharedConfig (const wxString &group, const wxString &key, wxString &value, const wxString &defval=wxEmptyString) override
 
bool GetSharedConfig (const wxString &group, const wxString &key, int &value, int defval=0) override
 
bool GetSharedConfig (const wxString &group, const wxString &key, bool &value, bool defval=false) override
 
bool GetSharedConfig (const wxString &group, const wxString &key, float &value, float defval=0.0) override
 
bool GetSharedConfig (const wxString &group, const wxString &key, double &value, double defval=0.0) override
 
bool SetSharedConfig (const wxString &group, const wxString &key, const wxString &value) override
 
bool SetSharedConfig (const wxString &group, const wxString &key, const int &value) override
 
bool SetSharedConfig (const wxString &group, const wxString &key, const bool &value) override
 
bool SetSharedConfig (const wxString &group, const wxString &key, const float &value) override
 
bool SetSharedConfig (const wxString &group, const wxString &key, const double &value) override
 
bool RemoveSharedConfigSubgroup (const wxString &group) override
 
bool RemoveSharedConfig (const wxString &group, const wxString &key) override
 
bool HasPrivateConfigGroup (const wxString &group) override
 
bool GetPrivateConfigSubgroups (const wxString &group, wxArrayString &subgroups) override
 
bool GetPrivateConfig (const wxString &group, const wxString &key, wxString &value, const wxString &defval=wxEmptyString) override
 
bool GetPrivateConfig (const wxString &group, const wxString &key, int &value, int defval=0) override
 
bool GetPrivateConfig (const wxString &group, const wxString &key, bool &value, bool defval=false) override
 
bool GetPrivateConfig (const wxString &group, const wxString &key, float &value, float defval=0.0) override
 
bool GetPrivateConfig (const wxString &group, const wxString &key, double &value, double defval=0.0) override
 
bool SetPrivateConfig (const wxString &group, const wxString &key, const wxString &value) override
 
bool SetPrivateConfig (const wxString &group, const wxString &key, const int &value) override
 
bool SetPrivateConfig (const wxString &group, const wxString &key, const bool &value) override
 
bool SetPrivateConfig (const wxString &group, const wxString &key, const float &value) override
 
bool SetPrivateConfig (const wxString &group, const wxString &key, const double &value) override
 
bool RemovePrivateConfigSubgroup (const wxString &group) override
 
bool RemovePrivateConfig (const wxString &group, const wxString &key) override
 
virtual PluginID GetID ()
 
virtual bool Startup (EffectClientInterface *client)
 
virtual bool Startup ()
 
virtual bool GetAutomationParameters (wxString &parms)
 
virtual bool SetAutomationParameters (const wxString &parms)
 
virtual wxArrayString GetUserPresets ()
 
virtual bool HasCurrentSettings ()
 
virtual bool HasFactoryDefaults ()
 
virtual wxString GetPreset (wxWindow *parent, const wxString &parms)
 
virtual wxString HelpPage ()
 
virtual bool IsBatchProcessing ()
 
virtual void SetBatchProcessing (bool start)
 
void SetPresetParameters (const wxArrayString *Names, const wxArrayString *Values)
 
bool DoEffect (wxWindow *parent, double projectRate, TrackList *list, TrackFactory *factory, SelectedRegion *selectedRegion, bool shouldPrompt=true)
 
bool Delegate (Effect &delegate, wxWindow *parent, bool shouldPrompt)
 
bool RealtimeAddProcessor (int group, unsigned chans, float rate)
 
size_t RealtimeProcess (int group, unsigned chans, float **inbuf, float **outbuf, size_t numSamples)
 
bool IsRealtimeActive ()
 
virtual bool IsHidden ()
 
int MessageBox (const wxString &message, long style=DefaultMessageBoxStyle, const wxString &titleStr=wxString{})
 
- Public Member Functions inherited from EffectClientInterface
virtual ~EffectClientInterface ()
 
- Public Member Functions inherited from EffectDefinitionInterface
virtual ~EffectDefinitionInterface ()
 
- Public Member Functions inherited from IdentInterface
virtual ~IdentInterface ()
 
const wxString & GetTranslatedName ()
 
- Public Member Functions inherited from ParamsInterface
virtual ~ParamsInterface ()
 
virtual bool DefineParams (ShuttleParams &WXUNUSED(S))
 
- Public Member Functions inherited from EffectUIClientInterface
virtual ~EffectUIClientInterface ()
 
- Public Member Functions inherited from EffectHostInterface
virtual ~EffectHostInterface ()
 
- Public Member Functions inherited from ConfigClientInterface
virtual ~ConfigClientInterface ()
 

Private Member Functions

void InstanceInit (EffectPhaserState &data, float sampleRate)
 
size_t InstanceProcess (EffectPhaserState &data, float **inBlock, float **outBlock, size_t blockLen)
 
void OnStagesSlider (wxCommandEvent &evt)
 
void OnDryWetSlider (wxCommandEvent &evt)
 
void OnFeedbackSlider (wxCommandEvent &evt)
 
void OnDepthSlider (wxCommandEvent &evt)
 
void OnPhaseSlider (wxCommandEvent &evt)
 
void OnFreqSlider (wxCommandEvent &evt)
 
void OnGainSlider (wxCommandEvent &evt)
 
void OnStagesText (wxCommandEvent &evt)
 
void OnDryWetText (wxCommandEvent &evt)
 
void OnFeedbackText (wxCommandEvent &evt)
 
void OnDepthText (wxCommandEvent &evt)
 
void OnPhaseText (wxCommandEvent &evt)
 
void OnFreqText (wxCommandEvent &evt)
 
void OnGainText (wxCommandEvent &evt)
 

Private Attributes

EffectPhaserState mMaster
 
std::vector< EffectPhaserStatemSlaves
 
int mStages
 
int mDryWet
 
double mFreq
 
double mPhase
 
int mDepth
 
int mFeedback
 
double mOutGain
 
wxTextCtrl * mStagesT
 
wxTextCtrl * mDryWetT
 
wxTextCtrl * mFreqT
 
wxTextCtrl * mPhaseT
 
wxTextCtrl * mDepthT
 
wxTextCtrl * mFeedbackT
 
wxTextCtrl * mOutGainT
 
wxSlider * mStagesS
 
wxSlider * mDryWetS
 
wxSlider * mFreqS
 
wxSlider * mPhaseS
 
wxSlider * mDepthS
 
wxSlider * mFeedbackS
 
wxSlider * mOutGainS
 

Additional Inherited Members

- Public Types inherited from Effect
enum  : long { DefaultMessageBoxStyle = wxOK | wxCENTRE }
 
- Protected Member Functions inherited from Effect
virtual bool Init ()
 
virtual bool PromptUser (wxWindow *parent)
 
virtual bool CheckWhetherSkipEffect ()
 
virtual bool Process ()
 
virtual bool ProcessPass ()
 
virtual bool InitPass1 ()
 
virtual bool InitPass2 ()
 
virtual int GetPass ()
 
virtual void End ()
 
virtual double CalcPreviewInputLength (double previewLength)
 
virtual void Preview (bool dryOnly)
 
virtual bool EnableApply (bool enable=true)
 
virtual bool EnablePreview (bool enable=true)
 
virtual void EnableDebug (bool enable=true)
 
bool TotalProgress (double frac)
 
bool TrackProgress (int whichTrack, double frac, const wxString &=wxEmptyString)
 
bool TrackGroupProgress (int whichGroup, double frac, const wxString &=wxEmptyString)
 
int GetNumWaveTracks ()
 
int GetNumWaveGroups ()
 
void GetSamples (const WaveTrack *track, sampleCount *start, sampleCount *len)
 
void SetLinearEffectFlag (bool linearEffectFlag)
 
void SetPreviewFullSelectionFlag (bool previewDurationFlag)
 
bool IsPreviewing ()
 
void IncludeNotSelectedPreviewTracks (bool includeNotSelected)
 
void CopyInputTracks ()
 
void CopyInputTracks (int trackType)
 
std::shared_ptr
< AddedAnalysisTrack
AddAnalysisTrack (const wxString &name=wxString())
 
ModifiedAnalysisTrack ModifyAnalysisTrack (const LabelTrack *pOrigTrack, const wxString &name=wxString())
 
void ReplaceProcessedTracks (const bool bGoodResult)
 
TrackAddToOutputTracks (std::unique_ptr< Track > &&t)
 
TrackListinputTracks () const
 
- Protected Attributes inherited from Effect
ProgressDialogmProgress
 
double mProjectRate
 
double mSampleRate
 
SelectedRegionmpSelectedRegion {}
 
TrackFactorymFactory
 
std::shared_ptr< TrackListmOutputTracks
 
double mT0
 
double mT1
 
double mF0
 
double mF1
 
wxArrayString mPresetNames
 
wxArrayString mPresetValues
 
int mPass
 
wxDialog * mUIDialog
 
wxWindow * mUIParent
 
int mUIResultID
 
sampleCount mSampleCnt
 
int mOutputTracksType
 

Detailed Description

An Effect that changes frequencies in a time varying manner.

Definition at line 47 of file Phaser.h.

Constructor & Destructor Documentation

EffectPhaser::EffectPhaser ( )

Definition at line 83 of file Phaser.cpp.

84 {
85  mStages = DEF_Stages;
86  mDryWet = DEF_DryWet;
87  mFreq = DEF_Freq;
88  mPhase = DEF_Phase;
89  mDepth = DEF_Depth;
90  mFeedback = DEF_Feedback;
91  mOutGain = DEF_OutGain;
92 
93  SetLinearEffectFlag(true);
94 }
int mStages
Definition: Phaser.h:125
void SetLinearEffectFlag(bool linearEffectFlag)
Definition: Effect.cpp:1961
double mOutGain
Definition: Phaser.h:131
int mDepth
Definition: Phaser.h:129
double mPhase
Definition: Phaser.h:128
int mDryWet
Definition: Phaser.h:126
int mFeedback
Definition: Phaser.h:130
double mFreq
Definition: Phaser.h:127
EffectPhaser::~EffectPhaser ( )
virtual

Definition at line 96 of file Phaser.cpp.

97 {
98 }

Member Function Documentation

bool EffectPhaser::DefineParams ( ShuttleParams S)
override

Definition at line 196 of file Phaser.cpp.

References mDepth, mDryWet, mFeedback, mFreq, mOutGain, mPhase, and mStages.

196  {
197  S.SHUTTLE_PARAM( mStages, Stages );
198  S.SHUTTLE_PARAM( mDryWet, DryWet );
199  S.SHUTTLE_PARAM( mFreq, Freq );
200  S.SHUTTLE_PARAM( mPhase, Phase );
201  S.SHUTTLE_PARAM( mDepth, Depth );
202  S.SHUTTLE_PARAM( mFeedback, Feedback );
203  S.SHUTTLE_PARAM( mOutGain, OutGain );
204  return true;
205 }
int mStages
Definition: Phaser.h:125
double mOutGain
Definition: Phaser.h:131
int mDepth
Definition: Phaser.h:129
double mPhase
Definition: Phaser.h:128
int mDryWet
Definition: Phaser.h:126
int mFeedback
Definition: Phaser.h:130
double mFreq
Definition: Phaser.h:127
unsigned EffectPhaser::GetAudioInCount ( )
overridevirtual

Reimplemented from Effect.

Definition at line 135 of file Phaser.cpp.

136 {
137  return 1;
138 }
unsigned EffectPhaser::GetAudioOutCount ( )
overridevirtual

Reimplemented from Effect.

Definition at line 140 of file Phaser.cpp.

141 {
142  return 1;
143 }
bool EffectPhaser::GetAutomationParameters ( CommandParameters parms)
overridevirtual

Reimplemented from Effect.

Definition at line 207 of file Phaser.cpp.

References mDepth, mDryWet, mFeedback, mFreq, mOutGain, mPhase, and mStages.

208 {
209  parms.Write(KEY_Stages, mStages);
210  parms.Write(KEY_DryWet, mDryWet);
211  parms.Write(KEY_Freq, mFreq);
212  parms.Write(KEY_Phase, mPhase);
213  parms.Write(KEY_Depth, mDepth);
214  parms.Write(KEY_Feedback, mFeedback);
215  parms.Write(KEY_OutGain, mOutGain);
216 
217  return true;
218 }
int mStages
Definition: Phaser.h:125
double mOutGain
Definition: Phaser.h:131
int mDepth
Definition: Phaser.h:129
double mPhase
Definition: Phaser.h:128
int mDryWet
Definition: Phaser.h:126
int mFeedback
Definition: Phaser.h:130
double mFreq
Definition: Phaser.h:127
wxString EffectPhaser::GetDescription ( )
overridevirtual

Reimplemented from Effect.

Definition at line 107 of file Phaser.cpp.

References _().

108 {
109  return _("Combines phase-shifted signals with the original signal");
110 }
_("Move Track &Down")+wxT("\t")+(GetActiveProject() -> GetCommandManager() ->GetKeyFromName(wxT("TrackMoveDown")).Raw()), OnMoveTrack) POPUP_MENU_ITEM(OnMoveTopID, _("Move Track to &Top")+wxT("\t")+(GetActiveProject() ->GetCommandManager() ->GetKeyFromName(wxT("TrackMoveTop")).Raw()), OnMoveTrack) POPUP_MENU_ITEM(OnMoveBottomID, _("Move Track to &Bottom")+wxT("\t")+(GetActiveProject() ->GetCommandManager() ->GetKeyFromName(wxT("TrackMoveBottom")).Raw()), OnMoveTrack)#define SET_TRACK_NAME_PLUGIN_SYMBOLclass SetTrackNameCommand:public AudacityCommand
IdentInterfaceSymbol EffectPhaser::GetSymbol ( )
overridevirtual

Reimplemented from Effect.

Definition at line 102 of file Phaser.cpp.

References PHASER_PLUGIN_SYMBOL.

103 {
104  return PHASER_PLUGIN_SYMBOL;
105 }
#define PHASER_PLUGIN_SYMBOL
Definition: Phaser.h:30
EffectType EffectPhaser::GetType ( )
overridevirtual

Reimplemented from Effect.

Definition at line 119 of file Phaser.cpp.

References EffectTypeProcess.

120 {
121  return EffectTypeProcess;
122 }
void EffectPhaser::InstanceInit ( EffectPhaserState data,
float  sampleRate 
)
private

Definition at line 369 of file Phaser.cpp.

References EffectPhaserState::fbout, EffectPhaserState::gain, EffectPhaserState::laststages, mStages, EffectPhaserState::old, EffectPhaserState::outgain, EffectPhaserState::samplerate, and EffectPhaserState::skipcount.

Referenced by ProcessInitialize(), and RealtimeAddProcessor().

370 {
371  data.samplerate = sampleRate;
372 
373  for (int j = 0; j < mStages; j++)
374  {
375  data.old[j] = 0;
376  }
377 
378  data.skipcount = 0;
379  data.gain = 0;
380  data.fbout = 0;
381  data.laststages = 0;
382  data.outgain = 0;
383 
384  return;
385 }
int mStages
Definition: Phaser.h:125
double gain
Definition: Phaser.h:39
double fbout
Definition: Phaser.h:40
sampleCount skipcount
Definition: Phaser.h:37
double old[NUM_STAGES]
Definition: Phaser.h:38
double outgain
Definition: Phaser.h:41
float samplerate
Definition: Phaser.h:36
size_t EffectPhaser::InstanceProcess ( EffectPhaserState data,
float **  inBlock,
float **  outBlock,
size_t  blockLen 
)
private

Definition at line 387 of file Phaser.cpp.

References sampleCount::as_double(), DB_TO_LINEAR(), EffectPhaserState::fbout, EffectPhaserState::gain, EffectPhaserState::laststages, EffectPhaserState::lfoskip, lfoskipsamples, M_PI, mDepth, mDryWet, mFeedback, mFreq, mOutGain, mPhase, mStages, EffectPhaserState::old, EffectPhaserState::outgain, EffectPhaserState::phase, phaserlfoshape, EffectPhaserState::samplerate, and EffectPhaserState::skipcount.

Referenced by ProcessBlock(), and RealtimeProcess().

388 {
389  float *ibuf = inBlock[0];
390  float *obuf = outBlock[0];
391 
392  for (int j = data.laststages; j < mStages; j++)
393  {
394  data.old[j] = 0;
395  }
396  data.laststages = mStages;
397 
398  data.lfoskip = mFreq * 2 * M_PI / data.samplerate;
399  data.phase = mPhase * M_PI / 180;
400  data.outgain = DB_TO_LINEAR(mOutGain);
401 
402  for (decltype(blockLen) i = 0; i < blockLen; i++)
403  {
404  double in = ibuf[i];
405 
406  double m = in + data.fbout * mFeedback / 101; // Feedback must be less than 100% to avoid infinite gain.
407 
408  if (((data.skipcount++) % lfoskipsamples) == 0)
409  {
410  //compute sine between 0 and 1
411  data.gain =
412  (1.0 +
413  cos(data.skipcount.as_double() * data.lfoskip
414  + data.phase)) / 2.0;
415 
416  // change lfo shape
417  data.gain = expm1(data.gain * phaserlfoshape) / expm1(phaserlfoshape);
418 
419  // attenuate the lfo
420  data.gain = 1.0 - data.gain / 255.0 * mDepth;
421  }
422 
423  // phasing routine
424  for (int j = 0; j < mStages; j++)
425  {
426  double tmp = data.old[j];
427  data.old[j] = data.gain * tmp + m;
428  m = tmp - data.gain * data.old[j];
429  }
430  data.fbout = m;
431 
432  obuf[i] = (float) (data.outgain * (m * mDryWet + in * (255 - mDryWet)) / 255);
433  }
434 
435  return blockLen;
436 }
int mStages
Definition: Phaser.h:125
double mOutGain
Definition: Phaser.h:131
double as_double() const
Definition: Types.h:88
double gain
Definition: Phaser.h:39
double lfoskip
Definition: Phaser.h:42
double fbout
Definition: Phaser.h:40
sampleCount skipcount
Definition: Phaser.h:37
int mDepth
Definition: Phaser.h:129
double phase
Definition: Phaser.h:43
double old[NUM_STAGES]
Definition: Phaser.h:38
double outgain
Definition: Phaser.h:41
double mPhase
Definition: Phaser.h:128
int mDryWet
Definition: Phaser.h:126
int mFeedback
Definition: Phaser.h:130
#define M_PI
Definition: Distortion.cpp:28
#define phaserlfoshape
Definition: Phaser.cpp:57
double mFreq
Definition: Phaser.h:127
float samplerate
Definition: Phaser.h:36
const double MIN_Threshold_Linear DB_TO_LINEAR(MIN_Threshold_dB)
#define lfoskipsamples
Definition: Phaser.cpp:60
wxString EffectPhaser::ManualPage ( )
overridevirtual

Reimplemented from Effect.

Definition at line 112 of file Phaser.cpp.

113 {
114  return wxT("Phaser");
115 }
void EffectPhaser::OnDepthSlider ( wxCommandEvent &  evt)
private

Definition at line 470 of file Phaser.cpp.

References Effect::EnableApply(), mDepth, mDepthT, and Effect::mUIParent.

471 {
472  mDepth = evt.GetInt() / SCL_Depth;
473  mDepthT->GetValidator()->TransferToWindow();
474  EnableApply(mUIParent->Validate());
475 }
wxTextCtrl * mDepthT
Definition: Phaser.h:137
int mDepth
Definition: Phaser.h:129
wxWindow * mUIParent
Definition: Effect.h:472
virtual bool EnableApply(bool enable=true)
Definition: Effect.cpp:1886
void EffectPhaser::OnDepthText ( wxCommandEvent &  evt)
private

Definition at line 535 of file Phaser.cpp.

References Effect::EnableApply(), mDepth, mDepthS, and Effect::mUIParent.

536 {
537  if (!EnableApply(mUIParent->TransferDataFromWindow()))
538  {
539  return;
540  }
541 
542  mDepthS->SetValue((int) (mDepth * SCL_Depth));
543 }
int mDepth
Definition: Phaser.h:129
wxSlider * mDepthS
Definition: Phaser.h:145
wxWindow * mUIParent
Definition: Effect.h:472
virtual bool EnableApply(bool enable=true)
Definition: Effect.cpp:1886
void EffectPhaser::OnDryWetSlider ( wxCommandEvent &  evt)
private

Definition at line 445 of file Phaser.cpp.

References Effect::EnableApply(), mDryWet, mDryWetT, and Effect::mUIParent.

446 {
447  mDryWet = evt.GetInt() / SCL_DryWet;
448  mDryWetT->GetValidator()->TransferToWindow();
449  EnableApply(mUIParent->Validate());
450 }
wxTextCtrl * mDryWetT
Definition: Phaser.h:134
int mDryWet
Definition: Phaser.h:126
wxWindow * mUIParent
Definition: Effect.h:472
virtual bool EnableApply(bool enable=true)
Definition: Effect.cpp:1886
void EffectPhaser::OnDryWetText ( wxCommandEvent &  evt)
private

Definition at line 505 of file Phaser.cpp.

References Effect::EnableApply(), mDryWet, mDryWetS, and Effect::mUIParent.

506 {
507  if (!EnableApply(mUIParent->TransferDataFromWindow()))
508  {
509  return;
510  }
511 
512  mDryWetS->SetValue((int) (mDryWet * SCL_DryWet));
513 }
wxSlider * mDryWetS
Definition: Phaser.h:142
int mDryWet
Definition: Phaser.h:126
wxWindow * mUIParent
Definition: Effect.h:472
virtual bool EnableApply(bool enable=true)
Definition: Effect.cpp:1886
void EffectPhaser::OnFeedbackSlider ( wxCommandEvent &  evt)
private

Definition at line 477 of file Phaser.cpp.

References Effect::EnableApply(), mFeedback, mFeedbackS, mFeedbackT, and Effect::mUIParent.

478 {
479  int val = evt.GetInt();
480  val = ((val + (val > 0 ? 5 : -5)) / 10) * 10; // round to nearest multiple of 10
481  val = val > MAX_Feedback * SCL_Feedback ? MAX_Feedback * SCL_Feedback : val;
482  mFeedbackS->SetValue(val);
483  mFeedback = val / SCL_Feedback;
484  mFeedbackT->GetValidator()->TransferToWindow();
485  EnableApply(mUIParent->Validate());
486 }
wxTextCtrl * mFeedbackT
Definition: Phaser.h:138
wxSlider * mFeedbackS
Definition: Phaser.h:146
int mFeedback
Definition: Phaser.h:130
wxWindow * mUIParent
Definition: Effect.h:472
virtual bool EnableApply(bool enable=true)
Definition: Effect.cpp:1886
void EffectPhaser::OnFeedbackText ( wxCommandEvent &  evt)
private

Definition at line 545 of file Phaser.cpp.

References Effect::EnableApply(), mFeedback, mFeedbackS, and Effect::mUIParent.

546 {
547  if (!EnableApply(mUIParent->TransferDataFromWindow()))
548  {
549  return;
550  }
551 
552  mFeedbackS->SetValue((int) (mFeedback * SCL_Feedback));
553 }
wxSlider * mFeedbackS
Definition: Phaser.h:146
int mFeedback
Definition: Phaser.h:130
wxWindow * mUIParent
Definition: Effect.h:472
virtual bool EnableApply(bool enable=true)
Definition: Effect.cpp:1886
void EffectPhaser::OnFreqSlider ( wxCommandEvent &  evt)
private

Definition at line 452 of file Phaser.cpp.

References Effect::EnableApply(), mFreq, mFreqT, and Effect::mUIParent.

453 {
454  mFreq = (double) evt.GetInt() / SCL_Freq;
455  if (mFreq < MIN_Freq) mFreq = MIN_Freq;
456  mFreqT->GetValidator()->TransferToWindow();
457  EnableApply(mUIParent->Validate());
458 }
wxWindow * mUIParent
Definition: Effect.h:472
wxTextCtrl * mFreqT
Definition: Phaser.h:135
double mFreq
Definition: Phaser.h:127
virtual bool EnableApply(bool enable=true)
Definition: Effect.cpp:1886
void EffectPhaser::OnFreqText ( wxCommandEvent &  evt)
private

Definition at line 515 of file Phaser.cpp.

References Effect::EnableApply(), mFreq, mFreqS, and Effect::mUIParent.

516 {
517  if (!EnableApply(mUIParent->TransferDataFromWindow()))
518  {
519  return;
520  }
521 
522  mFreqS->SetValue((int) (mFreq * SCL_Freq));
523 }
wxSlider * mFreqS
Definition: Phaser.h:143
wxWindow * mUIParent
Definition: Effect.h:472
double mFreq
Definition: Phaser.h:127
virtual bool EnableApply(bool enable=true)
Definition: Effect.cpp:1886
void EffectPhaser::OnGainSlider ( wxCommandEvent &  evt)
private

Definition at line 488 of file Phaser.cpp.

References Effect::EnableApply(), mOutGain, mOutGainT, and Effect::mUIParent.

489 {
490  mOutGain = evt.GetInt() / SCL_OutGain;
491  mOutGainT->GetValidator()->TransferToWindow();
492  EnableApply(mUIParent->Validate());
493 }
double mOutGain
Definition: Phaser.h:131
wxTextCtrl * mOutGainT
Definition: Phaser.h:139
wxWindow * mUIParent
Definition: Effect.h:472
virtual bool EnableApply(bool enable=true)
Definition: Effect.cpp:1886
void EffectPhaser::OnGainText ( wxCommandEvent &  evt)
private

Definition at line 555 of file Phaser.cpp.

References Effect::EnableApply(), mOutGain, mOutGainS, and Effect::mUIParent.

556 {
557  if (!EnableApply(mUIParent->TransferDataFromWindow()))
558  {
559  return;
560  }
561 
562  mOutGainS->SetValue((int) (mOutGain * SCL_OutGain));
563 }
wxSlider * mOutGainS
Definition: Phaser.h:147
double mOutGain
Definition: Phaser.h:131
wxWindow * mUIParent
Definition: Effect.h:472
virtual bool EnableApply(bool enable=true)
Definition: Effect.cpp:1886
void EffectPhaser::OnPhaseSlider ( wxCommandEvent &  evt)
private

Definition at line 460 of file Phaser.cpp.

References Effect::EnableApply(), mPhase, mPhaseS, mPhaseT, and Effect::mUIParent.

461 {
462  int val = ((evt.GetInt() + 5) / 10) * 10; // round to nearest multiple of 10
463  val = val > MAX_Phase * SCL_Phase ? MAX_Phase * SCL_Phase : val;
464  mPhaseS->SetValue(val);
465  mPhase = (double) val / SCL_Phase;
466  mPhaseT->GetValidator()->TransferToWindow();
467  EnableApply(mUIParent->Validate());
468 }
wxSlider * mPhaseS
Definition: Phaser.h:144
wxTextCtrl * mPhaseT
Definition: Phaser.h:136
double mPhase
Definition: Phaser.h:128
wxWindow * mUIParent
Definition: Effect.h:472
virtual bool EnableApply(bool enable=true)
Definition: Effect.cpp:1886
void EffectPhaser::OnPhaseText ( wxCommandEvent &  evt)
private

Definition at line 525 of file Phaser.cpp.

References Effect::EnableApply(), mPhase, mPhaseS, and Effect::mUIParent.

526 {
527  if (!EnableApply(mUIParent->TransferDataFromWindow()))
528  {
529  return;
530  }
531 
532  mPhaseS->SetValue((int) (mPhase * SCL_Phase));
533 }
wxSlider * mPhaseS
Definition: Phaser.h:144
double mPhase
Definition: Phaser.h:128
wxWindow * mUIParent
Definition: Effect.h:472
virtual bool EnableApply(bool enable=true)
Definition: Effect.cpp:1886
void EffectPhaser::OnStagesSlider ( wxCommandEvent &  evt)
private

Definition at line 438 of file Phaser.cpp.

References Effect::EnableApply(), mStages, mStagesT, and Effect::mUIParent.

439 {
440  mStages = (evt.GetInt() / SCL_Stages) & ~1; // must be even;
441  mStagesT->GetValidator()->TransferToWindow();
442  EnableApply(mUIParent->Validate());
443 }
int mStages
Definition: Phaser.h:125
wxTextCtrl * mStagesT
Definition: Phaser.h:133
wxWindow * mUIParent
Definition: Effect.h:472
virtual bool EnableApply(bool enable=true)
Definition: Effect.cpp:1886
void EffectPhaser::OnStagesText ( wxCommandEvent &  evt)
private

Definition at line 495 of file Phaser.cpp.

References Effect::EnableApply(), mStages, mStagesS, and Effect::mUIParent.

496 {
497  if (!EnableApply(mUIParent->TransferDataFromWindow()))
498  {
499  return;
500  }
501 
502  mStagesS->SetValue((int) (mStages * SCL_Stages));
503 }
int mStages
Definition: Phaser.h:125
wxSlider * mStagesS
Definition: Phaser.h:141
wxWindow * mUIParent
Definition: Effect.h:472
virtual bool EnableApply(bool enable=true)
Definition: Effect.cpp:1886
void EffectPhaser::PopulateOrExchange ( ShuttleGui S)
overridevirtual

Reimplemented from Effect.

Definition at line 248 of file Phaser.cpp.

References _(), ShuttleGuiBase::AddSlider(), ShuttleGui::AddSpace(), ShuttleGuiBase::AddTextBox(), ShuttleGuiBase::EndMultiColumn(), ShuttleGui::Id(), ID_Depth, ID_DryWet, ID_Feedback, ID_Freq, ID_OutGain, ID_Phase, ID_Stages, mDepth, mDepthS, mDepthT, mDryWet, mDryWetS, mDryWetT, mFeedback, mFeedbackS, mFeedbackT, mFreq, mFreqS, mFreqT, mOutGain, mOutGainS, mOutGainT, mPhase, mPhaseS, mPhaseT, mStages, mStagesS, mStagesT, ShuttleGuiBase::SetBorder(), ShuttleGuiBase::SetStretchyCol(), ShuttleGuiBase::SetStyle(), and ShuttleGuiBase::StartMultiColumn().

249 {
250  S.SetBorder(5);
251  S.AddSpace(0, 5);
252 
253  S.StartMultiColumn(3, wxEXPAND);
254  {
255  S.SetStretchyCol(2);
256 
257  IntegerValidator<int> vldStages(&mStages);
258  vldStages.SetRange(MIN_Stages, MAX_Stages);
259  mStagesT = S.Id(ID_Stages).AddTextBox(_("&Stages:"), wxT(""), 15);
260  mStagesT->SetValidator(vldStages);
261 
262  S.SetStyle(wxSL_HORIZONTAL);
263  mStagesS = S.Id(ID_Stages).AddSlider( {}, DEF_Stages * SCL_Stages, MAX_Stages * SCL_Stages, MIN_Stages * SCL_Stages);
264  mStagesS->SetName(_("Stages"));
265  mStagesS->SetLineSize(2);
266  mStagesS->SetMinSize(wxSize(100, -1));
267 
268  IntegerValidator<int> vldDryWet(&mDryWet);
269  vldDryWet.SetRange(MIN_DryWet, MAX_DryWet);
270  mDryWetT = S.Id(ID_DryWet).AddTextBox(_("&Dry/Wet:"), wxT(""), 15);
271  mDryWetT->SetValidator(vldDryWet);
272 
273  S.SetStyle(wxSL_HORIZONTAL);
274  mDryWetS = S.Id(ID_DryWet).AddSlider( {}, DEF_DryWet * SCL_DryWet, MAX_DryWet * SCL_DryWet, MIN_DryWet * SCL_DryWet);
275  mDryWetS->SetName(_("Dry Wet"));
276  mDryWetS->SetMinSize(wxSize(100, -1));
277 
278  FloatingPointValidator<double> vldFreq(5, &mFreq, NumValidatorStyle::ONE_TRAILING_ZERO);
279  vldFreq.SetRange(MIN_Freq, MAX_Freq);
280  mFreqT = S.Id(ID_Freq).AddTextBox(_("LFO Freq&uency (Hz):"), wxT(""), 15);
281  mFreqT->SetValidator(vldFreq);
282 
283  S.SetStyle(wxSL_HORIZONTAL);
284  mFreqS = S.Id(ID_Freq).AddSlider( {}, DEF_Freq * SCL_Freq, MAX_Freq * SCL_Freq, 0.0);
285  mFreqS ->SetName(_("LFO frequency in hertz"));
286  mFreqS ->SetMinSize(wxSize(100, -1));
287 
288  FloatingPointValidator<double> vldPhase(1, &mPhase);
289  vldPhase.SetRange(MIN_Phase, MAX_Phase);
290  mPhaseT = S.Id(ID_Phase).AddTextBox(_("LFO Sta&rt Phase (deg.):"), wxT(""), 15);
291  mPhaseT->SetValidator(vldPhase);
292 
293  S.SetStyle(wxSL_HORIZONTAL);
294  mPhaseS = S.Id(ID_Phase).AddSlider( {}, DEF_Phase * SCL_Phase, MAX_Phase * SCL_Phase, MIN_Phase * SCL_Phase);
295  mPhaseS->SetName(_("LFO start phase in degrees"));
296  mPhaseS->SetLineSize(10);
297  mPhaseS->SetMinSize(wxSize(100, -1));
298 
299  IntegerValidator<int> vldDepth(&mDepth);
300  vldDepth.SetRange(MIN_Depth, MAX_Depth);
301  mDepthT = S.Id(ID_Depth).AddTextBox(_("Dept&h:"), wxT(""), 15);
302  mDepthT->SetValidator(vldDepth);
303 
304  S.SetStyle(wxSL_HORIZONTAL);
305  mDepthS = S.Id(ID_Depth).AddSlider( {}, DEF_Depth * SCL_Depth, MAX_Depth * SCL_Depth, MIN_Depth * SCL_Depth);
306  mDepthS->SetName(_("Depth in percent"));
307  mDepthS->SetMinSize(wxSize(100, -1));
308 
309  IntegerValidator<int> vldFeedback(&mFeedback);
310  vldFeedback.SetRange(MIN_Feedback, MAX_Feedback);
311  mFeedbackT = S.Id(ID_Feedback).AddTextBox(_("Feedbac&k (%):"), wxT(""), 15);
312  mFeedbackT->SetValidator(vldFeedback);
313 
314  S.SetStyle(wxSL_HORIZONTAL);
315  mFeedbackS = S.Id(ID_Feedback).AddSlider( {}, DEF_Feedback * SCL_Feedback, MAX_Feedback * SCL_Feedback, MIN_Feedback * SCL_Feedback);
316  mFeedbackS->SetName(_("Feedback in percent"));
317  mFeedbackS->SetLineSize(10);
318  mFeedbackS->SetMinSize(wxSize(100, -1));
319 
320  FloatingPointValidator<double> vldoutgain(1, &mOutGain);
321  vldoutgain.SetRange(MIN_OutGain, MAX_OutGain);
322  mOutGainT = S.Id(ID_OutGain).AddTextBox(_("&Output gain (dB):"), wxT(""), 12);
323  mOutGainT->SetValidator(vldoutgain);
324 
325  S.SetStyle(wxSL_HORIZONTAL);
326  mOutGainS = S.Id(ID_OutGain).AddSlider( {}, DEF_OutGain * SCL_OutGain, MAX_OutGain * SCL_OutGain, MIN_OutGain * SCL_OutGain);
327  mOutGainS->SetName(_("Output gain (dB)"));
328  mOutGainS->SetMinSize(wxSize(100, -1));
329  }
330  S.EndMultiColumn();
331 }
wxSlider * mOutGainS
Definition: Phaser.h:147
int mStages
Definition: Phaser.h:125
double mOutGain
Definition: Phaser.h:131
wxSlider * mPhaseS
Definition: Phaser.h:144
void EndMultiColumn()
wxSlider * mFreqS
Definition: Phaser.h:143
wxTextCtrl * mFeedbackT
Definition: Phaser.h:138
wxTextCtrl * mStagesT
Definition: Phaser.h:133
wxSlider * mStagesS
Definition: Phaser.h:141
wxTextCtrl * mDepthT
Definition: Phaser.h:137
int mDepth
Definition: Phaser.h:129
wxSlider * mDepthS
Definition: Phaser.h:145
wxTextCtrl * mPhaseT
Definition: Phaser.h:136
wxTextCtrl * mOutGainT
Definition: Phaser.h:139
wxTextCtrl * AddTextBox(const wxString &Caption, const wxString &Value, const int nChars)
Definition: ShuttleGui.cpp:540
void StartMultiColumn(int nCols, int PositionFlags=wxALIGN_LEFT)
wxTextCtrl * mDryWetT
Definition: Phaser.h:134
ShuttleGui & Id(int id)
void SetStyle(int Style)
Definition: ShuttleGui.h:287
wxSlider * mFeedbackS
Definition: Phaser.h:146
double mPhase
Definition: Phaser.h:128
wxSlider * mDryWetS
Definition: Phaser.h:142
int mDryWet
Definition: Phaser.h:126
int mFeedback
Definition: Phaser.h:130
_("Move Track &Down")+wxT("\t")+(GetActiveProject() -> GetCommandManager() ->GetKeyFromName(wxT("TrackMoveDown")).Raw()), OnMoveTrack) POPUP_MENU_ITEM(OnMoveTopID, _("Move Track to &Top")+wxT("\t")+(GetActiveProject() ->GetCommandManager() ->GetKeyFromName(wxT("TrackMoveTop")).Raw()), OnMoveTrack) POPUP_MENU_ITEM(OnMoveBottomID, _("Move Track to &Bottom")+wxT("\t")+(GetActiveProject() ->GetCommandManager() ->GetKeyFromName(wxT("TrackMoveBottom")).Raw()), OnMoveTrack)#define SET_TRACK_NAME_PLUGIN_SYMBOLclass SetTrackNameCommand:public AudacityCommand
wxTextCtrl * mFreqT
Definition: Phaser.h:135
double mFreq
Definition: Phaser.h:127
wxSizerItem * AddSpace(int width, int height)
void SetBorder(int Border)
Definition: ShuttleGui.h:286
void SetStretchyCol(int i)
Used to modify an already placed FlexGridSizer to make a column stretchy.
Definition: ShuttleGui.cpp:203
wxSlider * AddSlider(const wxString &Prompt, int pos, int Max, int Min=0)
Definition: ShuttleGui.cpp:497
size_t EffectPhaser::ProcessBlock ( float **  inBlock,
float **  outBlock,
size_t  blockLen 
)
overridevirtual

Reimplemented from Effect.

Definition at line 156 of file Phaser.cpp.

References InstanceProcess(), and mMaster.

157 {
158  return InstanceProcess(mMaster, inBlock, outBlock, blockLen);
159 }
EffectPhaserState mMaster
Definition: Phaser.h:121
size_t InstanceProcess(EffectPhaserState &data, float **inBlock, float **outBlock, size_t blockLen)
Definition: Phaser.cpp:387
bool EffectPhaser::ProcessInitialize ( sampleCount  totalLen,
ChannelNames  chanMap = NULL 
)
overridevirtual

Reimplemented from Effect.

Definition at line 145 of file Phaser.cpp.

References ChannelNameFrontRight, InstanceInit(), M_PI, mMaster, Effect::mSampleRate, and EffectPhaserState::phase.

146 {
148  if (chanMap[0] == ChannelNameFrontRight)
149  {
150  mMaster.phase += M_PI;
151  }
152 
153  return true;
154 }
EffectPhaserState mMaster
Definition: Phaser.h:121
double mSampleRate
Definition: Effect.h:455
double phase
Definition: Phaser.h:43
void InstanceInit(EffectPhaserState &data, float sampleRate)
Definition: Phaser.cpp:369
#define M_PI
Definition: Distortion.cpp:28
bool EffectPhaser::RealtimeAddProcessor ( unsigned  numChannels,
float  sampleRate 
)
overridevirtual

Reimplemented from Effect.

Definition at line 170 of file Phaser.cpp.

References InstanceInit(), and mSlaves.

171 {
172  EffectPhaserState slave;
173 
174  InstanceInit(slave, sampleRate);
175 
176  mSlaves.push_back(slave);
177 
178  return true;
179 }
std::vector< EffectPhaserState > mSlaves
Definition: Phaser.h:122
void InstanceInit(EffectPhaserState &data, float sampleRate)
Definition: Phaser.cpp:369
bool EffectPhaser::RealtimeFinalize ( )
overridevirtual

Reimplemented from Effect.

Definition at line 181 of file Phaser.cpp.

References mSlaves.

182 {
183  mSlaves.clear();
184 
185  return true;
186 }
std::vector< EffectPhaserState > mSlaves
Definition: Phaser.h:122
bool EffectPhaser::RealtimeInitialize ( )
overridevirtual

Reimplemented from Effect.

Definition at line 161 of file Phaser.cpp.

References mSlaves, and Effect::SetBlockSize().

162 {
163  SetBlockSize(512);
164 
165  mSlaves.clear();
166 
167  return true;
168 }
std::vector< EffectPhaserState > mSlaves
Definition: Phaser.h:122
size_t SetBlockSize(size_t maxBlockSize) override
Definition: Effect.cpp:332
size_t EffectPhaser::RealtimeProcess ( int  group,
float **  inbuf,
float **  outbuf,
size_t  numSamples 
)
overridevirtual

Reimplemented from Effect.

Definition at line 188 of file Phaser.cpp.

References InstanceProcess(), and mSlaves.

192 {
193 
194  return InstanceProcess(mSlaves[group], inbuf, outbuf, numSamples);
195 }
std::vector< EffectPhaserState > mSlaves
Definition: Phaser.h:122
size_t InstanceProcess(EffectPhaserState &data, float **inBlock, float **outBlock, size_t blockLen)
Definition: Phaser.cpp:387
bool EffectPhaser::SetAutomationParameters ( CommandParameters parms)
overridevirtual

Reimplemented from Effect.

Definition at line 220 of file Phaser.cpp.

References mDepth, mDryWet, mFeedback, mFreq, mOutGain, mPhase, mStages, ReadAndVerifyDouble, and ReadAndVerifyInt.

221 {
222  ReadAndVerifyInt(Stages);
223  ReadAndVerifyInt(DryWet);
224  ReadAndVerifyDouble(Freq);
225  ReadAndVerifyDouble(Phase);
226  ReadAndVerifyInt(Depth);
227  ReadAndVerifyInt(Feedback);
228  ReadAndVerifyDouble(OutGain);
229 
230  if (Stages & 1) // must be even, but don't complain about it
231  {
232  Stages &= ~1;
233  }
234 
235  mFreq = Freq;
236  mFeedback = Feedback;
237  mStages = Stages;
238  mDryWet = DryWet;
239  mDepth = Depth;
240  mPhase = Phase;
241  mOutGain = OutGain;
242 
243  return true;
244 }
int mStages
Definition: Phaser.h:125
double mOutGain
Definition: Phaser.h:131
int mDepth
Definition: Phaser.h:129
#define ReadAndVerifyInt(name)
Definition: Effect.h:797
#define ReadAndVerifyDouble(name)
Definition: Effect.h:798
double mPhase
Definition: Phaser.h:128
int mDryWet
Definition: Phaser.h:126
int mFeedback
Definition: Phaser.h:130
double mFreq
Definition: Phaser.h:127
bool EffectPhaser::SupportsRealtime ( )
overridevirtual

Reimplemented from Effect.

Definition at line 124 of file Phaser.cpp.

125 {
126 #if defined(EXPERIMENTAL_REALTIME_AUDACITY_EFFECTS)
127  return true;
128 #else
129  return false;
130 #endif
131 }
bool EffectPhaser::TransferDataFromWindow ( )
overridevirtual

Reimplemented from Effect.

Definition at line 351 of file Phaser.cpp.

References mStages, mStagesT, and Effect::mUIParent.

352 {
353  if (!mUIParent->Validate() || !mUIParent->TransferDataFromWindow())
354  {
355  return false;
356  }
357 
358  if (mStages & 1) // must be even
359  {
360  mStages &= ~1;
361  mStagesT->GetValidator()->TransferToWindow();
362  }
363 
364  return true;
365 }
int mStages
Definition: Phaser.h:125
wxTextCtrl * mStagesT
Definition: Phaser.h:133
wxWindow * mUIParent
Definition: Effect.h:472
bool EffectPhaser::TransferDataToWindow ( )
overridevirtual

Reimplemented from Effect.

Definition at line 333 of file Phaser.cpp.

References mDepth, mDepthS, mDryWet, mDryWetS, mFeedback, mFeedbackS, mFreq, mFreqS, mOutGain, mOutGainS, mPhase, mPhaseS, mStages, mStagesS, and Effect::mUIParent.

334 {
335  if (!mUIParent->TransferDataToWindow())
336  {
337  return false;
338  }
339 
340  mStagesS->SetValue((int) (mStages * SCL_Stages));
341  mDryWetS->SetValue((int) (mDryWet * SCL_DryWet));
342  mFreqS->SetValue((int) (mFreq * SCL_Freq));
343  mPhaseS->SetValue((int) (mPhase * SCL_Phase));
344  mDepthS->SetValue((int) (mDepth * SCL_Depth));
345  mFeedbackS->SetValue((int) (mFeedback * SCL_Feedback));
346  mOutGainS->SetValue((int) (mOutGain * SCL_OutGain));
347 
348  return true;
349 }
wxSlider * mOutGainS
Definition: Phaser.h:147
int mStages
Definition: Phaser.h:125
double mOutGain
Definition: Phaser.h:131
wxSlider * mPhaseS
Definition: Phaser.h:144
wxSlider * mFreqS
Definition: Phaser.h:143
wxSlider * mStagesS
Definition: Phaser.h:141
int mDepth
Definition: Phaser.h:129
wxSlider * mDepthS
Definition: Phaser.h:145
wxSlider * mFeedbackS
Definition: Phaser.h:146
double mPhase
Definition: Phaser.h:128
wxSlider * mDryWetS
Definition: Phaser.h:142
int mDryWet
Definition: Phaser.h:126
int mFeedback
Definition: Phaser.h:130
wxWindow * mUIParent
Definition: Effect.h:472
double mFreq
Definition: Phaser.h:127

Member Data Documentation

int EffectPhaser::mDepth
private
wxSlider* EffectPhaser::mDepthS
private

Definition at line 145 of file Phaser.h.

Referenced by OnDepthText(), PopulateOrExchange(), and TransferDataToWindow().

wxTextCtrl* EffectPhaser::mDepthT
private

Definition at line 137 of file Phaser.h.

Referenced by OnDepthSlider(), and PopulateOrExchange().

int EffectPhaser::mDryWet
private
wxSlider* EffectPhaser::mDryWetS
private

Definition at line 142 of file Phaser.h.

Referenced by OnDryWetText(), PopulateOrExchange(), and TransferDataToWindow().

wxTextCtrl* EffectPhaser::mDryWetT
private

Definition at line 134 of file Phaser.h.

Referenced by OnDryWetSlider(), and PopulateOrExchange().

int EffectPhaser::mFeedback
private
wxSlider* EffectPhaser::mFeedbackS
private
wxTextCtrl* EffectPhaser::mFeedbackT
private

Definition at line 138 of file Phaser.h.

Referenced by OnFeedbackSlider(), and PopulateOrExchange().

double EffectPhaser::mFreq
private
wxSlider* EffectPhaser::mFreqS
private

Definition at line 143 of file Phaser.h.

Referenced by OnFreqText(), PopulateOrExchange(), and TransferDataToWindow().

wxTextCtrl* EffectPhaser::mFreqT
private

Definition at line 135 of file Phaser.h.

Referenced by OnFreqSlider(), and PopulateOrExchange().

EffectPhaserState EffectPhaser::mMaster
private

Definition at line 121 of file Phaser.h.

Referenced by ProcessBlock(), and ProcessInitialize().

double EffectPhaser::mOutGain
private
wxSlider* EffectPhaser::mOutGainS
private

Definition at line 147 of file Phaser.h.

Referenced by OnGainText(), PopulateOrExchange(), and TransferDataToWindow().

wxTextCtrl* EffectPhaser::mOutGainT
private

Definition at line 139 of file Phaser.h.

Referenced by OnGainSlider(), and PopulateOrExchange().

double EffectPhaser::mPhase
private
wxSlider* EffectPhaser::mPhaseS
private

Definition at line 144 of file Phaser.h.

Referenced by OnPhaseSlider(), OnPhaseText(), PopulateOrExchange(), and TransferDataToWindow().

wxTextCtrl* EffectPhaser::mPhaseT
private

Definition at line 136 of file Phaser.h.

Referenced by OnPhaseSlider(), and PopulateOrExchange().

std::vector<EffectPhaserState> EffectPhaser::mSlaves
private
int EffectPhaser::mStages
private
wxSlider* EffectPhaser::mStagesS
private

Definition at line 141 of file Phaser.h.

Referenced by OnStagesText(), PopulateOrExchange(), and TransferDataToWindow().

wxTextCtrl* EffectPhaser::mStagesT
private

Definition at line 133 of file Phaser.h.

Referenced by OnStagesSlider(), PopulateOrExchange(), and TransferDataFromWindow().


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