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

An Effect that adds a 'spectral glide'. More...

#include <Wahwah.h>

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

Public Member Functions

 EffectWahwah ()
 
virtual ~EffectWahwah ()
 
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 (EffectWahwahState &data, float sampleRate)
 
size_t InstanceProcess (EffectWahwahState &data, float **inBlock, float **outBlock, size_t blockLen)
 
void OnFreqSlider (wxCommandEvent &evt)
 
void OnPhaseSlider (wxCommandEvent &evt)
 
void OnDepthSlider (wxCommandEvent &evt)
 
void OnResonanceSlider (wxCommandEvent &evt)
 
void OnFreqOffSlider (wxCommandEvent &evt)
 
void OnGainSlider (wxCommandEvent &evt)
 
void OnFreqText (wxCommandEvent &evt)
 
void OnPhaseText (wxCommandEvent &evt)
 
void OnDepthText (wxCommandEvent &evt)
 
void OnResonanceText (wxCommandEvent &evt)
 
void OnFreqOffText (wxCommandEvent &evt)
 
void OnGainText (wxCommandEvent &evt)
 

Private Attributes

EffectWahwahState mMaster
 
std::vector< EffectWahwahStatemSlaves
 
double mFreq
 
double mPhase
 
int mDepth
 
double mRes
 
int mFreqOfs
 
double mOutGain
 
wxTextCtrl * mFreqT
 
wxTextCtrl * mPhaseT
 
wxTextCtrl * mDepthT
 
wxTextCtrl * mResT
 
wxTextCtrl * mFreqOfsT
 
wxTextCtrl * mOutGainT
 
wxSlider * mFreqS
 
wxSlider * mPhaseS
 
wxSlider * mDepthS
 
wxSlider * mResS
 
wxSlider * mFreqOfsS
 
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 adds a 'spectral glide'.

Definition at line 44 of file Wahwah.h.

Constructor & Destructor Documentation

EffectWahwah::EffectWahwah ( )

Definition at line 75 of file Wahwah.cpp.

76 {
77  mFreq = DEF_Freq;
78  mPhase = DEF_Phase;
79  mDepth = DEF_Depth;
80  mRes = DEF_Res;
81  mFreqOfs = DEF_FreqOfs;
82  mOutGain = DEF_OutGain;
83 
84  SetLinearEffectFlag(true);
85 }
double mPhase
Definition: Wahwah.h:121
void SetLinearEffectFlag(bool linearEffectFlag)
Definition: Effect.cpp:1961
double mRes
Definition: Wahwah.h:123
double mFreq
Definition: Wahwah.h:120
double mOutGain
Definition: Wahwah.h:125
int mDepth
Definition: Wahwah.h:122
int mFreqOfs
Definition: Wahwah.h:124
EffectWahwah::~EffectWahwah ( )
virtual

Definition at line 87 of file Wahwah.cpp.

88 {
89 }

Member Function Documentation

bool EffectWahwah::DefineParams ( ShuttleParams S)
override

Definition at line 189 of file Wahwah.cpp.

References mDepth, mFreq, mFreqOfs, mOutGain, mPhase, and mRes.

189  {
190  S.SHUTTLE_PARAM( mFreq, Freq );
191  S.SHUTTLE_PARAM( mPhase, Phase );
192  S.SHUTTLE_PARAM( mDepth, Depth );
193  S.SHUTTLE_PARAM( mRes, Res );
194  S.SHUTTLE_PARAM( mFreqOfs, FreqOfs );
195  S.SHUTTLE_PARAM( mOutGain, OutGain );
196  return true;
197 }
double mPhase
Definition: Wahwah.h:121
double mRes
Definition: Wahwah.h:123
double mFreq
Definition: Wahwah.h:120
double mOutGain
Definition: Wahwah.h:125
int mDepth
Definition: Wahwah.h:122
int mFreqOfs
Definition: Wahwah.h:124
unsigned EffectWahwah::GetAudioInCount ( )
overridevirtual

Reimplemented from Effect.

Definition at line 126 of file Wahwah.cpp.

127 {
128  return 1;
129 }
unsigned EffectWahwah::GetAudioOutCount ( )
overridevirtual

Reimplemented from Effect.

Definition at line 131 of file Wahwah.cpp.

132 {
133  return 1;
134 }
bool EffectWahwah::GetAutomationParameters ( CommandParameters parms)
overridevirtual

Reimplemented from Effect.

Definition at line 199 of file Wahwah.cpp.

References mDepth, mFreq, mFreqOfs, mOutGain, mPhase, and mRes.

200 {
201  parms.Write(KEY_Freq, mFreq);
202  parms.Write(KEY_Phase, mPhase);
203  parms.Write(KEY_Depth, mDepth);
204  parms.Write(KEY_Res, mRes);
205  parms.Write(KEY_FreqOfs, mFreqOfs);
206  parms.Write(KEY_OutGain, mOutGain);
207 
208  return true;
209 }
double mPhase
Definition: Wahwah.h:121
double mRes
Definition: Wahwah.h:123
double mFreq
Definition: Wahwah.h:120
double mOutGain
Definition: Wahwah.h:125
int mDepth
Definition: Wahwah.h:122
int mFreqOfs
Definition: Wahwah.h:124
wxString EffectWahwah::GetDescription ( )
overridevirtual

Reimplemented from Effect.

Definition at line 98 of file Wahwah.cpp.

References _().

99 {
100  return _("Rapid tone quality variations, like that guitar sound so popular in the 1970's");
101 }
_("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 EffectWahwah::GetSymbol ( )
overridevirtual

Reimplemented from Effect.

Definition at line 93 of file Wahwah.cpp.

References WAHWAH_PLUGIN_SYMBOL.

94 {
95  return WAHWAH_PLUGIN_SYMBOL;
96 }
#define WAHWAH_PLUGIN_SYMBOL
Definition: Wahwah.h:28
EffectType EffectWahwah::GetType ( )
overridevirtual

Reimplemented from Effect.

Definition at line 110 of file Wahwah.cpp.

References EffectTypeProcess.

111 {
112  return EffectTypeProcess;
113 }
void EffectWahwah::InstanceInit ( EffectWahwahState data,
float  sampleRate 
)
private

Definition at line 334 of file Wahwah.cpp.

References EffectWahwahState::a0, EffectWahwahState::a1, EffectWahwahState::a2, EffectWahwahState::b0, EffectWahwahState::b1, EffectWahwahState::b2, DB_TO_LINEAR(), EffectWahwahState::depth, EffectWahwahState::freqofs, EffectWahwahState::lfoskip, M_PI, mDepth, mFreq, mFreqOfs, mOutGain, mPhase, EffectWahwahState::outgain, EffectWahwahState::phase, EffectWahwahState::samplerate, EffectWahwahState::skipcount, EffectWahwahState::xn1, EffectWahwahState::xn2, EffectWahwahState::yn1, and EffectWahwahState::yn2.

Referenced by ProcessInitialize(), and RealtimeAddProcessor().

335 {
336  data.samplerate = sampleRate;
337  data.lfoskip = mFreq * 2 * M_PI / sampleRate;
338  data.skipcount = 0;
339  data.xn1 = 0;
340  data.xn2 = 0;
341  data.yn1 = 0;
342  data.yn2 = 0;
343  data.b0 = 0;
344  data.b1 = 0;
345  data.b2 = 0;
346  data.a0 = 0;
347  data.a1 = 0;
348  data.a2 = 0;
349 
350  data.depth = mDepth / 100.0;
351  data.freqofs = mFreqOfs / 100.0;
352  data.phase = mPhase * M_PI / 180.0;
353  data.outgain = DB_TO_LINEAR(mOutGain);
354 }
double yn1
Definition: Wahwah.h:40
double mPhase
Definition: Wahwah.h:121
double xn2
Definition: Wahwah.h:40
double lfoskip
Definition: Wahwah.h:38
float samplerate
Definition: Wahwah.h:33
double yn2
Definition: Wahwah.h:40
double xn1
Definition: Wahwah.h:40
double freqofs
Definition: Wahwah.h:35
double depth
Definition: Wahwah.h:34
#define M_PI
Definition: Distortion.cpp:28
unsigned long skipcount
Definition: Wahwah.h:39
double mFreq
Definition: Wahwah.h:120
double phase
Definition: Wahwah.h:36
double mOutGain
Definition: Wahwah.h:125
const double MIN_Threshold_Linear DB_TO_LINEAR(MIN_Threshold_dB)
int mDepth
Definition: Wahwah.h:122
double outgain
Definition: Wahwah.h:37
int mFreqOfs
Definition: Wahwah.h:124
size_t EffectWahwah::InstanceProcess ( EffectWahwahState data,
float **  inBlock,
float **  outBlock,
size_t  blockLen 
)
private

Definition at line 356 of file Wahwah.cpp.

References EffectWahwahState::a0, EffectWahwahState::a1, EffectWahwahState::a2, EffectWahwahState::b0, EffectWahwahState::b1, EffectWahwahState::b2, DB_TO_LINEAR(), EffectWahwahState::depth, EffectWahwahState::freqofs, EffectWahwahState::lfoskip, lfoskipsamples, M_PI, mDepth, mFreq, mFreqOfs, mOutGain, mPhase, mRes, EffectWahwahState::outgain, EffectWahwahState::phase, EffectWahwahState::samplerate, EffectWahwahState::skipcount, EffectWahwahState::xn1, EffectWahwahState::xn2, EffectWahwahState::yn1, and EffectWahwahState::yn2.

Referenced by ProcessBlock(), and RealtimeProcess().

357 {
358  float *ibuf = inBlock[0];
359  float *obuf = outBlock[0];
360  double frequency, omega, sn, cs, alpha;
361  double in, out;
362 
363  data.lfoskip = mFreq * 2 * M_PI / data.samplerate;
364  data.depth = mDepth / 100.0;
365  data.freqofs = mFreqOfs / 100.0;
366 
367  data.phase = mPhase * M_PI / 180.0;
368  data.outgain = DB_TO_LINEAR(mOutGain);
369 
370  for (decltype(blockLen) i = 0; i < blockLen; i++)
371  {
372  in = (double) ibuf[i];
373 
374  if ((data.skipcount++) % lfoskipsamples == 0)
375  {
376  frequency = (1 + cos(data.skipcount * data.lfoskip + data.phase)) / 2;
377  frequency = frequency * data.depth * (1 - data.freqofs) + data.freqofs;
378  frequency = exp((frequency - 1) * 6);
379  omega = M_PI * frequency;
380  sn = sin(omega);
381  cs = cos(omega);
382  alpha = sn / (2 * mRes);
383  data.b0 = (1 - cs) / 2;
384  data.b1 = 1 - cs;
385  data.b2 = (1 - cs) / 2;
386  data.a0 = 1 + alpha;
387  data.a1 = -2 * cs;
388  data.a2 = 1 - alpha;
389  };
390  out = (data.b0 * in + data.b1 * data.xn1 + data.b2 * data.xn2 - data.a1 * data.yn1 - data.a2 * data.yn2) / data.a0;
391  data.xn2 = data.xn1;
392  data.xn1 = in;
393  data.yn2 = data.yn1;
394  data.yn1 = out;
395  out *= data.outgain;
396 
397  obuf[i] = (float) out;
398  }
399 
400  return blockLen;
401 }
double yn1
Definition: Wahwah.h:40
double mPhase
Definition: Wahwah.h:121
double xn2
Definition: Wahwah.h:40
double lfoskip
Definition: Wahwah.h:38
float samplerate
Definition: Wahwah.h:33
double yn2
Definition: Wahwah.h:40
double xn1
Definition: Wahwah.h:40
double freqofs
Definition: Wahwah.h:35
double mRes
Definition: Wahwah.h:123
double depth
Definition: Wahwah.h:34
#define M_PI
Definition: Distortion.cpp:28
unsigned long skipcount
Definition: Wahwah.h:39
double mFreq
Definition: Wahwah.h:120
#define lfoskipsamples
Definition: Wahwah.cpp:54
double phase
Definition: Wahwah.h:36
double mOutGain
Definition: Wahwah.h:125
const double MIN_Threshold_Linear DB_TO_LINEAR(MIN_Threshold_dB)
int mDepth
Definition: Wahwah.h:122
double outgain
Definition: Wahwah.h:37
int mFreqOfs
Definition: Wahwah.h:124
wxString EffectWahwah::ManualPage ( )
overridevirtual

Reimplemented from Effect.

Definition at line 103 of file Wahwah.cpp.

104 {
105  return wxT("Wahwah");
106 }
void EffectWahwah::OnDepthSlider ( wxCommandEvent &  evt)
private

Definition at line 420 of file Wahwah.cpp.

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

421 {
422  mDepth = evt.GetInt() / SCL_Depth;
423  mDepthT->GetValidator()->TransferToWindow();
424  EnableApply(mUIParent->Validate());
425 }
wxTextCtrl * mDepthT
Definition: Wahwah.h:129
wxWindow * mUIParent
Definition: Effect.h:472
int mDepth
Definition: Wahwah.h:122
virtual bool EnableApply(bool enable=true)
Definition: Effect.cpp:1886
void EffectWahwah::OnDepthText ( wxCommandEvent &  evt)
private

Definition at line 468 of file Wahwah.cpp.

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

469 {
470  if (!EnableApply(mUIParent->TransferDataFromWindow()))
471  {
472  return;
473  }
474 
475  mDepthS->SetValue((int) (mDepth * SCL_Depth));
476 }
wxSlider * mDepthS
Definition: Wahwah.h:136
wxWindow * mUIParent
Definition: Effect.h:472
int mDepth
Definition: Wahwah.h:122
virtual bool EnableApply(bool enable=true)
Definition: Effect.cpp:1886
void EffectWahwah::OnFreqOffSlider ( wxCommandEvent &  evt)
private

Definition at line 434 of file Wahwah.cpp.

References Effect::EnableApply(), mFreqOfs, mFreqOfsT, and Effect::mUIParent.

435 {
436  mFreqOfs = evt.GetInt() / SCL_FreqOfs;
437  mFreqOfsT->GetValidator()->TransferToWindow();
438  EnableApply(mUIParent->Validate());
439 }
wxWindow * mUIParent
Definition: Effect.h:472
wxTextCtrl * mFreqOfsT
Definition: Wahwah.h:131
int mFreqOfs
Definition: Wahwah.h:124
virtual bool EnableApply(bool enable=true)
Definition: Effect.cpp:1886
void EffectWahwah::OnFreqOffText ( wxCommandEvent &  evt)
private

Definition at line 488 of file Wahwah.cpp.

References Effect::EnableApply(), mFreqOfs, mFreqOfsS, and Effect::mUIParent.

489 {
490  if (!EnableApply(mUIParent->TransferDataFromWindow()))
491  {
492  return;
493  }
494 
495  mFreqOfsS->SetValue((int) (mFreqOfs * SCL_FreqOfs));
496 }
wxWindow * mUIParent
Definition: Effect.h:472
wxSlider * mFreqOfsS
Definition: Wahwah.h:138
int mFreqOfs
Definition: Wahwah.h:124
virtual bool EnableApply(bool enable=true)
Definition: Effect.cpp:1886
void EffectWahwah::OnFreqSlider ( wxCommandEvent &  evt)
private

Definition at line 403 of file Wahwah.cpp.

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

404 {
405  mFreq = (double) evt.GetInt() / SCL_Freq;
406  mFreqT->GetValidator()->TransferToWindow();
407  EnableApply(mUIParent->Validate());
408 }
wxTextCtrl * mFreqT
Definition: Wahwah.h:127
wxWindow * mUIParent
Definition: Effect.h:472
double mFreq
Definition: Wahwah.h:120
virtual bool EnableApply(bool enable=true)
Definition: Effect.cpp:1886
void EffectWahwah::OnFreqText ( wxCommandEvent &  evt)
private

Definition at line 448 of file Wahwah.cpp.

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

449 {
450  if (!EnableApply(mUIParent->TransferDataFromWindow()))
451  {
452  return;
453  }
454 
455  mFreqS->SetValue((int) (mFreq * SCL_Freq));
456 }
wxSlider * mFreqS
Definition: Wahwah.h:134
wxWindow * mUIParent
Definition: Effect.h:472
double mFreq
Definition: Wahwah.h:120
virtual bool EnableApply(bool enable=true)
Definition: Effect.cpp:1886
void EffectWahwah::OnGainSlider ( wxCommandEvent &  evt)
private

Definition at line 441 of file Wahwah.cpp.

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

442 {
443  mOutGain = evt.GetInt() / SCL_OutGain;
444  mOutGainT->GetValidator()->TransferToWindow();
445  EnableApply(mUIParent->Validate());
446 }
wxTextCtrl * mOutGainT
Definition: Wahwah.h:132
wxWindow * mUIParent
Definition: Effect.h:472
double mOutGain
Definition: Wahwah.h:125
virtual bool EnableApply(bool enable=true)
Definition: Effect.cpp:1886
void EffectWahwah::OnGainText ( wxCommandEvent &  evt)
private

Definition at line 498 of file Wahwah.cpp.

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

499 {
500  if (!EnableApply(mUIParent->TransferDataFromWindow()))
501  {
502  return;
503  }
504 
505  mOutGainS->SetValue((int) (mOutGain * SCL_OutGain));
506 }
wxSlider * mOutGainS
Definition: Wahwah.h:139
wxWindow * mUIParent
Definition: Effect.h:472
double mOutGain
Definition: Wahwah.h:125
virtual bool EnableApply(bool enable=true)
Definition: Effect.cpp:1886
void EffectWahwah::OnPhaseSlider ( wxCommandEvent &  evt)
private

Definition at line 410 of file Wahwah.cpp.

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

411 {
412  int val = ((evt.GetInt() + 5) / 10) * 10; // round to nearest multiple of 10
413  val = val > MAX_Phase * SCL_Phase ? MAX_Phase * SCL_Phase : val;
414  mPhaseS->SetValue(val);
415  mPhase = (double) val / SCL_Phase;
416  mPhaseT->GetValidator()->TransferToWindow();
417  EnableApply(mUIParent->Validate());
418 }
double mPhase
Definition: Wahwah.h:121
wxSlider * mPhaseS
Definition: Wahwah.h:135
wxTextCtrl * mPhaseT
Definition: Wahwah.h:128
wxWindow * mUIParent
Definition: Effect.h:472
virtual bool EnableApply(bool enable=true)
Definition: Effect.cpp:1886
void EffectWahwah::OnPhaseText ( wxCommandEvent &  evt)
private

Definition at line 458 of file Wahwah.cpp.

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

459 {
460  if (!EnableApply(mUIParent->TransferDataFromWindow()))
461  {
462  return;
463  }
464 
465  mPhaseS->SetValue((int) (mPhase * SCL_Phase));
466 }
double mPhase
Definition: Wahwah.h:121
wxSlider * mPhaseS
Definition: Wahwah.h:135
wxWindow * mUIParent
Definition: Effect.h:472
virtual bool EnableApply(bool enable=true)
Definition: Effect.cpp:1886
void EffectWahwah::OnResonanceSlider ( wxCommandEvent &  evt)
private

Definition at line 427 of file Wahwah.cpp.

References Effect::EnableApply(), mRes, mResT, and Effect::mUIParent.

428 {
429  mRes = (double) evt.GetInt() / SCL_Res;
430  mResT->GetValidator()->TransferToWindow();
431  EnableApply(mUIParent->Validate());
432 }
wxTextCtrl * mResT
Definition: Wahwah.h:130
double mRes
Definition: Wahwah.h:123
wxWindow * mUIParent
Definition: Effect.h:472
virtual bool EnableApply(bool enable=true)
Definition: Effect.cpp:1886
void EffectWahwah::OnResonanceText ( wxCommandEvent &  evt)
private

Definition at line 478 of file Wahwah.cpp.

References Effect::EnableApply(), mRes, mResS, and Effect::mUIParent.

479 {
480  if (!EnableApply(mUIParent->TransferDataFromWindow()))
481  {
482  return;
483  }
484 
485  mResS->SetValue((int) (mRes * SCL_Res));
486 }
double mRes
Definition: Wahwah.h:123
wxWindow * mUIParent
Definition: Effect.h:472
wxSlider * mResS
Definition: Wahwah.h:137
virtual bool EnableApply(bool enable=true)
Definition: Effect.cpp:1886
void EffectWahwah::PopulateOrExchange ( ShuttleGui S)
overridevirtual

Reimplemented from Effect.

Definition at line 232 of file Wahwah.cpp.

References _(), ShuttleGuiBase::AddSlider(), ShuttleGui::AddSpace(), ShuttleGuiBase::AddTextBox(), ShuttleGuiBase::EndMultiColumn(), ShuttleGui::Id(), ID_Depth, ID_Freq, ID_FreqOfs, ID_OutGain, ID_Phase, ID_Res, mDepth, mDepthS, mDepthT, mFreq, mFreqOfs, mFreqOfsS, mFreqOfsT, mFreqS, mFreqT, mOutGain, mOutGainS, mOutGainT, mPhase, mPhaseS, mPhaseT, mRes, mResS, mResT, ShuttleGuiBase::SetBorder(), ShuttleGuiBase::SetStretchyCol(), ShuttleGuiBase::SetStyle(), and ShuttleGuiBase::StartMultiColumn().

233 {
234  S.SetBorder(5);
235  S.AddSpace(0, 5);
236 
237  S.StartMultiColumn(3, wxEXPAND);
238  {
239  S.SetStretchyCol(2);
240 
241  FloatingPointValidator<double> vldfreq(5, &mFreq, NumValidatorStyle::ONE_TRAILING_ZERO);
242  vldfreq.SetRange(MIN_Freq, MAX_Freq);
243  mFreqT = S.Id(ID_Freq).AddTextBox(_("LFO Freq&uency (Hz):"), wxT(""), 12);
244  mFreqT->SetValidator(vldfreq);
245 
246  S.SetStyle(wxSL_HORIZONTAL);
247  mFreqS = S.Id(ID_Freq).AddSlider( {}, DEF_Freq * SCL_Freq, MAX_Freq * SCL_Freq, MIN_Freq * SCL_Freq);
248  mFreqS->SetName(_("LFO frequency in hertz"));
249  mFreqS->SetMinSize(wxSize(100, -1));
250 
251  FloatingPointValidator<double> vldphase(1, &mPhase);
252  vldphase.SetRange(MIN_Phase, MAX_Phase);
253  mPhaseT = S.Id(ID_Phase).AddTextBox(_("LFO Sta&rt Phase (deg.):"), wxT(""), 12);
254  mPhaseT->SetValidator(vldphase);
255 
256  S.SetStyle(wxSL_HORIZONTAL);
257  mPhaseS = S.Id(ID_Phase).AddSlider( {}, DEF_Phase * SCL_Phase, MAX_Phase * SCL_Phase, MIN_Phase * SCL_Phase);
258  mPhaseS->SetName(_("LFO start phase in degrees"));
259  mPhaseS->SetLineSize(10);
260  mPhaseS->SetMinSize(wxSize(100, -1));
261 
262  IntegerValidator<int> vlddepth(&mDepth);
263  vlddepth.SetRange(MIN_Depth, MAX_Depth);
264  mDepthT = S.Id(ID_Depth).AddTextBox(_("Dept&h (%):"), wxT(""), 12);
265  mDepthT->SetValidator(vlddepth);
266 
267  S.SetStyle(wxSL_HORIZONTAL);
268  mDepthS = S.Id(ID_Depth).AddSlider( {}, DEF_Depth * SCL_Depth, MAX_Depth * SCL_Depth, MIN_Depth * SCL_Depth);
269  mDepthS->SetName(_("Depth in percent"));
270  mDepthS->SetMinSize(wxSize(100, -1));
271 
272  FloatingPointValidator<double> vldres(1, &mRes);
273  vldres.SetRange(MIN_Res, MAX_Res);
274  mResT = S.Id(ID_Res).AddTextBox(_("Reso&nance:"), wxT(""), 12);
275  mResT->SetValidator(vldres);
276 
277  S.SetStyle(wxSL_HORIZONTAL);
278  mResS = S.Id(ID_Res).AddSlider( {}, DEF_Res * SCL_Res, MAX_Res * SCL_Res, MIN_Res * SCL_Res);
279  mResS->SetName(_("Resonance"));
280  mResS->SetMinSize(wxSize(100, -1));
281 
282  IntegerValidator<int> vldfreqoffset(&mFreqOfs);
283  vldfreqoffset.SetRange(MIN_FreqOfs, MAX_FreqOfs);
284  mFreqOfsT = S.Id(ID_FreqOfs).AddTextBox(_("Wah Frequency Offse&t (%):"), wxT(""), 12);
285  mFreqOfsT->SetValidator(vldfreqoffset);
286 
287  S.SetStyle(wxSL_HORIZONTAL);
288  mFreqOfsS = S.Id(ID_FreqOfs).AddSlider( {}, DEF_FreqOfs * SCL_FreqOfs, MAX_FreqOfs * SCL_FreqOfs, MIN_FreqOfs * SCL_FreqOfs);
289  mFreqOfsT->SetName(_("Wah frequency offset in percent"));
290  mFreqOfsT->SetMinSize(wxSize(100, -1));
291 
292  FloatingPointValidator<double> vldoutgain(1, &mOutGain);
293  vldoutgain.SetRange(MIN_OutGain, MAX_OutGain);
294  mOutGainT = S.Id(ID_OutGain).AddTextBox(_("&Output gain (dB):"), wxT(""), 12);
295  mOutGainT->SetValidator(vldoutgain);
296 
297  S.SetStyle(wxSL_HORIZONTAL);
298  mOutGainS = S.Id(ID_OutGain).AddSlider( {}, DEF_OutGain * SCL_OutGain, MAX_OutGain * SCL_OutGain, MIN_OutGain * SCL_OutGain);
299  mOutGainS->SetName(_("Output gain (dB)"));
300  mOutGainS->SetMinSize(wxSize(100, -1));
301  }
302  S.EndMultiColumn();
303 }
wxTextCtrl * mResT
Definition: Wahwah.h:130
double mPhase
Definition: Wahwah.h:121
wxTextCtrl * mFreqT
Definition: Wahwah.h:127
wxTextCtrl * mOutGainT
Definition: Wahwah.h:132
void EndMultiColumn()
wxSlider * mOutGainS
Definition: Wahwah.h:139
wxTextCtrl * mDepthT
Definition: Wahwah.h:129
wxTextCtrl * AddTextBox(const wxString &Caption, const wxString &Value, const int nChars)
Definition: ShuttleGui.cpp:540
wxSlider * mFreqS
Definition: Wahwah.h:134
wxSlider * mDepthS
Definition: Wahwah.h:136
wxSlider * mPhaseS
Definition: Wahwah.h:135
void StartMultiColumn(int nCols, int PositionFlags=wxALIGN_LEFT)
ShuttleGui & Id(int id)
void SetStyle(int Style)
Definition: ShuttleGui.h:287
double mRes
Definition: Wahwah.h:123
wxTextCtrl * mPhaseT
Definition: Wahwah.h:128
_("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
wxSlider * mFreqOfsS
Definition: Wahwah.h:138
wxTextCtrl * mFreqOfsT
Definition: Wahwah.h:131
double mFreq
Definition: Wahwah.h:120
wxSizerItem * AddSpace(int width, int height)
wxSlider * mResS
Definition: Wahwah.h:137
double mOutGain
Definition: Wahwah.h:125
void SetBorder(int Border)
Definition: ShuttleGui.h:286
int mDepth
Definition: Wahwah.h:122
int mFreqOfs
Definition: Wahwah.h:124
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 EffectWahwah::ProcessBlock ( float **  inBlock,
float **  outBlock,
size_t  blockLen 
)
overridevirtual

Reimplemented from Effect.

Definition at line 148 of file Wahwah.cpp.

References InstanceProcess(), and mMaster.

149 {
150  return InstanceProcess(mMaster, inBlock, outBlock, blockLen);
151 }
size_t InstanceProcess(EffectWahwahState &data, float **inBlock, float **outBlock, size_t blockLen)
Definition: Wahwah.cpp:356
EffectWahwahState mMaster
Definition: Wahwah.h:105
bool EffectWahwah::ProcessInitialize ( sampleCount  totalLen,
ChannelNames  chanMap = NULL 
)
overridevirtual

Reimplemented from Effect.

Definition at line 136 of file Wahwah.cpp.

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

137 {
139 
140  if (chanMap[0] == ChannelNameFrontRight)
141  {
142  mMaster.phase += M_PI;
143  }
144 
145  return true;
146 }
double mSampleRate
Definition: Effect.h:455
void InstanceInit(EffectWahwahState &data, float sampleRate)
Definition: Wahwah.cpp:334
EffectWahwahState mMaster
Definition: Wahwah.h:105
#define M_PI
Definition: Distortion.cpp:28
double phase
Definition: Wahwah.h:36
bool EffectWahwah::RealtimeAddProcessor ( unsigned  numChannels,
float  sampleRate 
)
overridevirtual

Reimplemented from Effect.

Definition at line 162 of file Wahwah.cpp.

References InstanceInit(), and mSlaves.

163 {
164  EffectWahwahState slave;
165 
166  InstanceInit(slave, sampleRate);
167 
168  mSlaves.push_back(slave);
169 
170  return true;
171 }
std::vector< EffectWahwahState > mSlaves
Definition: Wahwah.h:106
void InstanceInit(EffectWahwahState &data, float sampleRate)
Definition: Wahwah.cpp:334
bool EffectWahwah::RealtimeFinalize ( )
overridevirtual

Reimplemented from Effect.

Definition at line 173 of file Wahwah.cpp.

References mSlaves.

174 {
175  mSlaves.clear();
176 
177  return true;
178 }
std::vector< EffectWahwahState > mSlaves
Definition: Wahwah.h:106
bool EffectWahwah::RealtimeInitialize ( )
overridevirtual

Reimplemented from Effect.

Definition at line 153 of file Wahwah.cpp.

References mSlaves, and Effect::SetBlockSize().

154 {
155  SetBlockSize(512);
156 
157  mSlaves.clear();
158 
159  return true;
160 }
size_t SetBlockSize(size_t maxBlockSize) override
Definition: Effect.cpp:332
std::vector< EffectWahwahState > mSlaves
Definition: Wahwah.h:106
size_t EffectWahwah::RealtimeProcess ( int  group,
float **  inbuf,
float **  outbuf,
size_t  numSamples 
)
overridevirtual

Reimplemented from Effect.

Definition at line 180 of file Wahwah.cpp.

References InstanceProcess(), and mSlaves.

184 {
185 
186  return InstanceProcess(mSlaves[group], inbuf, outbuf, numSamples);
187 }
std::vector< EffectWahwahState > mSlaves
Definition: Wahwah.h:106
size_t InstanceProcess(EffectWahwahState &data, float **inBlock, float **outBlock, size_t blockLen)
Definition: Wahwah.cpp:356
bool EffectWahwah::SetAutomationParameters ( CommandParameters parms)
overridevirtual

Reimplemented from Effect.

Definition at line 211 of file Wahwah.cpp.

References mDepth, mFreq, mFreqOfs, mOutGain, mPhase, mRes, ReadAndVerifyDouble, and ReadAndVerifyInt.

212 {
213  ReadAndVerifyDouble(Freq);
214  ReadAndVerifyDouble(Phase);
215  ReadAndVerifyInt(Depth);
216  ReadAndVerifyDouble(Res);
217  ReadAndVerifyInt(FreqOfs);
218  ReadAndVerifyDouble(OutGain);
219 
220  mFreq = Freq;
221  mPhase = Phase;
222  mDepth = Depth;
223  mRes = Res;
224  mFreqOfs = FreqOfs;
225  mOutGain = OutGain;
226 
227  return true;
228 }
double mPhase
Definition: Wahwah.h:121
#define ReadAndVerifyInt(name)
Definition: Effect.h:797
#define ReadAndVerifyDouble(name)
Definition: Effect.h:798
double mRes
Definition: Wahwah.h:123
double mFreq
Definition: Wahwah.h:120
double mOutGain
Definition: Wahwah.h:125
int mDepth
Definition: Wahwah.h:122
int mFreqOfs
Definition: Wahwah.h:124
bool EffectWahwah::SupportsRealtime ( )
overridevirtual

Reimplemented from Effect.

Definition at line 115 of file Wahwah.cpp.

116 {
117 #if defined(EXPERIMENTAL_REALTIME_AUDACITY_EFFECTS)
118  return true;
119 #else
120  return false;
121 #endif
122 }
bool EffectWahwah::TransferDataFromWindow ( )
overridevirtual

Reimplemented from Effect.

Definition at line 322 of file Wahwah.cpp.

References Effect::mUIParent.

323 {
324  if (!mUIParent->Validate() || !mUIParent->TransferDataFromWindow())
325  {
326  return false;
327  }
328 
329  return true;
330 }
wxWindow * mUIParent
Definition: Effect.h:472
bool EffectWahwah::TransferDataToWindow ( )
overridevirtual

Reimplemented from Effect.

Definition at line 305 of file Wahwah.cpp.

References mDepth, mDepthS, mFreq, mFreqOfs, mFreqOfsS, mFreqS, mOutGain, mOutGainS, mPhase, mPhaseS, mRes, mResS, and Effect::mUIParent.

306 {
307  if (!mUIParent->TransferDataToWindow())
308  {
309  return false;
310  }
311 
312  mFreqS->SetValue((int) (mFreq * SCL_Freq));
313  mPhaseS->SetValue((int) (mPhase * SCL_Phase));
314  mDepthS->SetValue((int) (mDepth * SCL_Depth));
315  mResS->SetValue((int) (mRes * SCL_Res));
316  mFreqOfsS->SetValue((int) (mFreqOfs * SCL_FreqOfs));
317  mOutGainS->SetValue((int) (mOutGain * SCL_OutGain));
318 
319  return true;
320 }
double mPhase
Definition: Wahwah.h:121
wxSlider * mOutGainS
Definition: Wahwah.h:139
wxSlider * mFreqS
Definition: Wahwah.h:134
wxSlider * mDepthS
Definition: Wahwah.h:136
wxSlider * mPhaseS
Definition: Wahwah.h:135
double mRes
Definition: Wahwah.h:123
wxWindow * mUIParent
Definition: Effect.h:472
wxSlider * mFreqOfsS
Definition: Wahwah.h:138
double mFreq
Definition: Wahwah.h:120
wxSlider * mResS
Definition: Wahwah.h:137
double mOutGain
Definition: Wahwah.h:125
int mDepth
Definition: Wahwah.h:122
int mFreqOfs
Definition: Wahwah.h:124

Member Data Documentation

int EffectWahwah::mDepth
private
wxSlider* EffectWahwah::mDepthS
private

Definition at line 136 of file Wahwah.h.

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

wxTextCtrl* EffectWahwah::mDepthT
private

Definition at line 129 of file Wahwah.h.

Referenced by OnDepthSlider(), and PopulateOrExchange().

double EffectWahwah::mFreq
private
int EffectWahwah::mFreqOfs
private
wxSlider* EffectWahwah::mFreqOfsS
private

Definition at line 138 of file Wahwah.h.

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

wxTextCtrl* EffectWahwah::mFreqOfsT
private

Definition at line 131 of file Wahwah.h.

Referenced by OnFreqOffSlider(), and PopulateOrExchange().

wxSlider* EffectWahwah::mFreqS
private

Definition at line 134 of file Wahwah.h.

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

wxTextCtrl* EffectWahwah::mFreqT
private

Definition at line 127 of file Wahwah.h.

Referenced by OnFreqSlider(), and PopulateOrExchange().

EffectWahwahState EffectWahwah::mMaster
private

Definition at line 105 of file Wahwah.h.

Referenced by ProcessBlock(), and ProcessInitialize().

double EffectWahwah::mOutGain
private
wxSlider* EffectWahwah::mOutGainS
private

Definition at line 139 of file Wahwah.h.

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

wxTextCtrl* EffectWahwah::mOutGainT
private

Definition at line 132 of file Wahwah.h.

Referenced by OnGainSlider(), and PopulateOrExchange().

double EffectWahwah::mPhase
private
wxSlider* EffectWahwah::mPhaseS
private

Definition at line 135 of file Wahwah.h.

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

wxTextCtrl* EffectWahwah::mPhaseT
private

Definition at line 128 of file Wahwah.h.

Referenced by OnPhaseSlider(), and PopulateOrExchange().

double EffectWahwah::mRes
private
wxSlider* EffectWahwah::mResS
private

Definition at line 137 of file Wahwah.h.

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

wxTextCtrl* EffectWahwah::mResT
private

Definition at line 130 of file Wahwah.h.

Referenced by OnResonanceSlider(), and PopulateOrExchange().

std::vector<EffectWahwahState> EffectWahwah::mSlaves
private

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