Audacity  2.3.1
Public Member Functions | Private Member Functions | Private Attributes | List of all members
EffectRepeat Class Referencefinal

An Effect that repeats audio several times over. More...

#include <Repeat.h>

Inheritance diagram for EffectRepeat:
Effect EffectClientInterface EffectUIClientInterface EffectHostInterface EffectDefinitionInterface ConfigClientInterface ComponentInterface

Public Member Functions

 EffectRepeat ()
 
virtual ~EffectRepeat ()
 
ComponentInterfaceSymbol GetSymbol () override
 
wxString GetDescription () override
 
wxString ManualPage () override
 
EffectType GetType () override
 
bool DefineParams (ShuttleParams &S) override
 
bool GetAutomationParameters (CommandParameters &parms) override
 
bool SetAutomationParameters (CommandParameters &parms) override
 
bool Process () override
 
void PopulateOrExchange (ShuttleGui &S) override
 
bool TransferDataToWindow () override
 
bool TransferDataFromWindow () override
 
- Public Member Functions inherited from Effect
 Effect ()
 
virtual ~Effect ()
 
wxString GetPath () override
 
ComponentInterfaceSymbol GetVendor () override
 
wxString GetVersion () override
 
ComponentInterfaceSymbol GetFamilyId () override
 
bool IsInteractive () override
 
bool IsDefault () override
 
bool IsLegacy () override
 
bool SupportsRealtime () override
 
bool SupportsAutomation () override
 
bool SetHost (EffectHostInterface *host) override
 
unsigned GetAudioInCount () override
 
unsigned GetAudioOutCount () 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 ProcessInitialize (sampleCount totalLen, ChannelNames chanMap=NULL) override
 
bool ProcessFinalize () 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
 
bool RealtimeSuspend () override
 
bool RealtimeResume () override
 
bool RealtimeProcessStart () override
 
size_t RealtimeProcess (int group, float **inbuf, float **outbuf, size_t numSamples) 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 ()
 
virtual EffectType GetClassification ()
 
- Public Member Functions inherited from ComponentInterface
virtual ~ComponentInterface ()
 
const wxString & GetTranslatedName ()
 
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 OnRepeatTextChange (wxCommandEvent &evt)
 
void DisplayNewTime ()
 

Private Attributes

int repeatCount
 
wxTextCtrl * mRepeatCount
 
wxStaticText * mCurrentTime
 
wxStaticText * mTotalTime
 

Additional Inherited Members

- Public Types inherited from Effect
enum  : long { DefaultMessageBoxStyle = wxOK | wxCENTRE }
 
- Static Public Member Functions inherited from Effect
static void IncEffectCounter ()
 
- Protected Member Functions inherited from Effect
virtual bool Init ()
 
virtual bool PromptUser (wxWindow *parent)
 
virtual bool CheckWhetherSkipEffect ()
 
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, const wxString &=wxEmptyString)
 
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 (bool allSyncLockSelected=false)
 
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)
 
const 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
 
- Static Protected Attributes inherited from Effect
static int nEffectsDone =0
 

Detailed Description

An Effect that repeats audio several times over.

Definition at line 25 of file Repeat.h.

Constructor & Destructor Documentation

EffectRepeat::EffectRepeat ( )

Definition at line 47 of file Repeat.cpp.

48 {
49  repeatCount = DEF_Count;
50 
51  SetLinearEffectFlag(true);
52 }
void SetLinearEffectFlag(bool linearEffectFlag)
Definition: Effect.cpp:1973
int repeatCount
Definition: Repeat.h:61
EffectRepeat::~EffectRepeat ( )
virtual

Definition at line 54 of file Repeat.cpp.

55 {
56 }

Member Function Documentation

bool EffectRepeat::DefineParams ( ShuttleParams S)
override

Definition at line 83 of file Repeat.cpp.

References repeatCount.

83  {
84  S.SHUTTLE_PARAM( repeatCount, Count );
85  return true;
86 }
int repeatCount
Definition: Repeat.h:61
void EffectRepeat::DisplayNewTime ( )
private

Definition at line 214 of file Repeat.cpp.

References _(), Effect::EnableApply(), Effect::GetSelectionFormat(), NumericConverter::GetString(), mCurrentTime, Effect::mProjectRate, mRepeatCount, Effect::mT0, Effect::mT1, mTotalTime, repeatCount, NumericConverter::SetValue(), and NumericConverter::TIME.

Referenced by OnRepeatTextChange(), and TransferDataToWindow().

215 {
216  long l;
217  wxString str;
218  mRepeatCount->GetValue().ToLong(&l);
219 
222  mT1 - mT0,
223  mProjectRate);
224 
225  str = wxString::Format( _("Current selection length: %s"), nc.GetString() );
226 
227  mCurrentTime->SetLabel(str);
228  mCurrentTime->SetName(str); // fix for bug 577 (NVDA/Narrator screen readers do not read static text in dialogs)
229 
230  if (l > 0) {
231  EnableApply(true);
232  repeatCount = l;
233 
234  nc.SetValue((mT1 - mT0) * (repeatCount + 1));
235  str = wxString::Format( _("New selection length: %s"), nc.GetString() );
236  }
237  else {
238  str = _("Warning: No repeats.");
239  EnableApply(false);
240  }
241  mTotalTime->SetLabel(str);
242  mTotalTime->SetName(str); // fix for bug 577 (NVDA/Narrator screen readers do not read static text in dialogs)
243 }
double mT1
Definition: Effect.h:465
wxTextCtrl * mRepeatCount
Definition: Repeat.h:63
NumericConverter provides the advanced formatting control used in the selection bar of Audacity...
wxStaticText * mCurrentTime
Definition: Repeat.h:64
double mProjectRate
Definition: Effect.h:457
_("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
virtual NumericFormatId GetSelectionFormat()
Definition: Effect.cpp:740
wxStaticText * mTotalTime
Definition: Repeat.h:65
virtual bool EnableApply(bool enable=true)
Definition: Effect.cpp:1898
double mT0
Definition: Effect.h:464
int repeatCount
Definition: Repeat.h:61
bool EffectRepeat::GetAutomationParameters ( CommandParameters parms)
overridevirtual

Reimplemented from Effect.

Definition at line 88 of file Repeat.cpp.

References repeatCount.

89 {
90  parms.Write(KEY_Count, repeatCount);
91 
92  return true;
93 }
int repeatCount
Definition: Repeat.h:61
wxString EffectRepeat::GetDescription ( )
overridevirtual

Reimplemented from Effect.

Definition at line 65 of file Repeat.cpp.

References _().

66 {
67  return _("Repeats the selection the specified number of times");
68 }
_("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
ComponentInterfaceSymbol EffectRepeat::GetSymbol ( )
overridevirtual

Reimplemented from Effect.

Definition at line 60 of file Repeat.cpp.

References REPEAT_PLUGIN_SYMBOL.

61 {
62  return REPEAT_PLUGIN_SYMBOL;
63 }
#define REPEAT_PLUGIN_SYMBOL
Definition: Repeat.h:23
EffectType EffectRepeat::GetType ( )
overridevirtual

Reimplemented from Effect.

Definition at line 77 of file Repeat.cpp.

References EffectTypeProcess.

78 {
79  return EffectTypeProcess;
80 }
wxString EffectRepeat::ManualPage ( )
overridevirtual

Reimplemented from Effect.

Definition at line 70 of file Repeat.cpp.

71 {
72  return wxT("Repeat");
73 }
void EffectRepeat::OnRepeatTextChange ( wxCommandEvent &  evt)
private

Definition at line 245 of file Repeat.cpp.

References DisplayNewTime().

246 {
247  DisplayNewTime();
248 }
void DisplayNewTime()
Definition: Repeat.cpp:214
void EffectRepeat::PopulateOrExchange ( ShuttleGui S)
overridevirtual

Reimplemented from Effect.

Definition at line 170 of file Repeat.cpp.

References _(), ShuttleGuiBase::AddTextBox(), ShuttleGuiBase::AddVariableText(), ShuttleGuiBase::EndHorizontalLay(), ShuttleGuiBase::EndMultiColumn(), mCurrentTime, Effect::mProjectRate, mRepeatCount, mTotalTime, repeatCount, ShuttleGuiBase::StartHorizontalLay(), and ShuttleGuiBase::StartMultiColumn().

171 {
172  S.StartHorizontalLay(wxCENTER, false);
173  {
174  IntegerValidator<int> vldRepeatCount(&repeatCount);
175  vldRepeatCount.SetRange(MIN_Count, 2147483647 / mProjectRate);
176  mRepeatCount = S.AddTextBox(_("Number of repeats to add:"), wxT(""), 12);
177  mRepeatCount->SetValidator(vldRepeatCount);
178  }
179  S.EndHorizontalLay();
180 
181  S.StartMultiColumn(1, wxCENTER);
182  {
183  mCurrentTime = S.AddVariableText(_("Current selection length: dd:hh:mm:ss"));
184  mTotalTime = S.AddVariableText(_("New selection length: dd:hh:mm:ss"));
185  }
186  S.EndMultiColumn();
187 }
void EndMultiColumn()
void EndHorizontalLay()
wxTextCtrl * mRepeatCount
Definition: Repeat.h:63
wxTextCtrl * AddTextBox(const wxString &Caption, const wxString &Value, const int nChars)
Definition: ShuttleGui.cpp:548
void StartHorizontalLay(int PositionFlags=wxALIGN_CENTRE, int iProp=1)
void StartMultiColumn(int nCols, int PositionFlags=wxALIGN_LEFT)
wxStaticText * mCurrentTime
Definition: Repeat.h:64
double mProjectRate
Definition: Effect.h:457
_("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
wxStaticText * AddVariableText(const wxString &Str, bool bCenter=false, int PositionFlags=0)
Definition: ShuttleGui.cpp:422
wxStaticText * mTotalTime
Definition: Repeat.h:65
int repeatCount
Definition: Repeat.h:61
bool EffectRepeat::Process ( )
overridevirtual

Reimplemented from Effect.

Definition at line 106 of file Repeat.cpp.

References WaveTrack::Copy(), Effect::CopyInputTracks(), Track::GetSelected(), Track::IsSyncLockSelected(), WaveTrack::LongSamplesToTime(), Effect::mOutputTracks, Effect::mT0, Effect::mT1, WaveTrack::Paste(), LabelTrack::Repeat(), repeatCount, Effect::ReplaceProcessedTracks(), WaveTrack::TimeToLongSamples(), and Effect::TrackProgress().

107 {
108  // Set up mOutputTracks.
109  // This effect needs all for sync-lock grouping.
110  CopyInputTracks(true);
111 
112  int nTrack = 0;
113  bool bGoodResult = true;
114  double maxDestLen = 0.0; // used to change selection to generated bit
115 
116  mOutputTracks->Any().VisitWhile( bGoodResult,
117  [&](LabelTrack *track)
118  {
119  if (track->GetSelected() || track->IsSyncLockSelected())
120  {
121  if (!track->Repeat(mT0, mT1, repeatCount))
122  bGoodResult = false;
123  }
124  },
125  [&](WaveTrack *track, const Track::Fallthrough &fallthrough)
126  {
127  if (!track->GetSelected())
128  return fallthrough(); // Fall through to next lambda
129  auto start = track->TimeToLongSamples(mT0);
130  auto end = track->TimeToLongSamples(mT1);
131  auto len = end - start;
132  double tLen = track->LongSamplesToTime(len);
133  double tc = mT0 + tLen;
134 
135  if (len <= 0)
136  return;
137 
138  auto dest = track->Copy(mT0, mT1);
139  for(int j=0; j<repeatCount; j++)
140  {
141  if (TrackProgress(nTrack, j / repeatCount)) // TrackProgress returns true on Cancel.
142  {
143  bGoodResult = false;
144  return;
145  }
146  track->Paste(tc, dest.get());
147  tc += tLen;
148  }
149  if (tc > maxDestLen)
150  maxDestLen = tc;
151  nTrack++;
152  },
153  [&](Track *t)
154  {
155  if( t->IsSyncLockSelected() )
156  t->SyncLockAdjust(mT1, mT1 + (mT1 - mT0) * repeatCount);
157  }
158  );
159 
160  if (bGoodResult)
161  {
162  // Select the NEW bits + original bit
163  mT1 = maxDestLen;
164  }
165 
166  ReplaceProcessedTracks(bGoodResult);
167  return bGoodResult;
168 }
double mT1
Definition: Effect.h:465
bool TrackProgress(int whichTrack, double frac, const wxString &=wxEmptyString)
Definition: Effect.cpp:1997
bool GetSelected() const
Definition: Track.h:381
bool Repeat(double t0, double t1, int n)
bool IsSyncLockSelected() const
Definition: Track.cpp:318
void ReplaceProcessedTracks(const bool bGoodResult)
Definition: Effect.cpp:2169
Track::Holder Copy(double t0, double t1, bool forClipboard=true) const override
Definition: WaveTrack.cpp:627
A LabelTrack is a Track that holds labels (LabelStruct).
Definition: LabelTrack.h:113
A Track that contains audio waveform data.
Definition: WaveTrack.h:60
Fundamental data object of Audacity, placed in the TrackPanel. Classes derived form it include the Wa...
Definition: Track.h:191
void Paste(double t0, const Track *src) override
Definition: WaveTrack.cpp:1214
void CopyInputTracks(bool allSyncLockSelected=false)
Definition: Effect.cpp:2049
Continuation<> Fallthrough
Definition: Track.h:450
sampleCount TimeToLongSamples(double t0) const
Convert correctly between an (absolute) time in seconds and a number of samples.
Definition: WaveTrack.cpp:1864
double LongSamplesToTime(sampleCount pos) const
Convert correctly between an number of samples and an (absolute) time in seconds. ...
Definition: WaveTrack.cpp:1869
std::shared_ptr< TrackList > mOutputTracks
Definition: Effect.h:463
double mT0
Definition: Effect.h:464
int repeatCount
Definition: Repeat.h:61
bool EffectRepeat::SetAutomationParameters ( CommandParameters parms)
overridevirtual

Reimplemented from Effect.

Definition at line 95 of file Repeat.cpp.

References ReadAndVerifyInt, and repeatCount.

96 {
97  ReadAndVerifyInt(Count);
98 
99  repeatCount = Count;
100 
101  return true;
102 }
#define ReadAndVerifyInt(name)
Definition: Effect.h:798
int repeatCount
Definition: Repeat.h:61
bool EffectRepeat::TransferDataFromWindow ( )
overridevirtual

Reimplemented from Effect.

Definition at line 198 of file Repeat.cpp.

References mRepeatCount, Effect::mUIParent, and repeatCount.

199 {
200  if (!mUIParent->Validate())
201  {
202  return false;
203  }
204 
205  long l;
206 
207  mRepeatCount->GetValue().ToLong(&l);
208 
209  repeatCount = (int) l;
210 
211  return true;
212 }
wxTextCtrl * mRepeatCount
Definition: Repeat.h:63
wxWindow * mUIParent
Definition: Effect.h:476
int repeatCount
Definition: Repeat.h:61
bool EffectRepeat::TransferDataToWindow ( )
overridevirtual

Reimplemented from Effect.

Definition at line 189 of file Repeat.cpp.

References DisplayNewTime(), mRepeatCount, and repeatCount.

190 {
191  mRepeatCount->ChangeValue(wxString::Format(wxT("%d"), repeatCount));
192 
193  DisplayNewTime();
194 
195  return true;
196 }
wxTextCtrl * mRepeatCount
Definition: Repeat.h:63
void DisplayNewTime()
Definition: Repeat.cpp:214
int repeatCount
Definition: Repeat.h:61

Member Data Documentation

wxStaticText* EffectRepeat::mCurrentTime
private

Definition at line 64 of file Repeat.h.

Referenced by DisplayNewTime(), and PopulateOrExchange().

wxTextCtrl* EffectRepeat::mRepeatCount
private
wxStaticText* EffectRepeat::mTotalTime
private

Definition at line 65 of file Repeat.h.

Referenced by DisplayNewTime(), and PopulateOrExchange().

int EffectRepeat::repeatCount
private

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