1 /********************************************************************** 2 3 Audacity: A Digital Audio Editor 4 5 Repeat.h 6 7 Dominic Mazzoni 8 9 **********************************************************************/ 10 11 #ifndef __AUDACITY_EFFECT_REPEAT__ 12 #define __AUDACITY_EFFECT_REPEAT__ 13 14 #include "Effect.h" 15 16 class wxTextCtrl; 17 class ShuttleGui; 18 19 class wxStaticText; 20 21 class EffectRepeat final : public Effect 22 { 23 public: 24 static const ComponentInterfaceSymbol Symbol; 25 26 EffectRepeat(); 27 virtual ~EffectRepeat(); 28 29 // ComponentInterface implementation 30 31 ComponentInterfaceSymbol GetSymbol() override; 32 TranslatableString GetDescription() override; 33 ManualPageID ManualPage() override; 34 35 // EffectDefinitionInterface implementation 36 37 EffectType GetType() override; 38 39 // EffectClientInterface implementation 40 41 bool DefineParams( ShuttleParams & S ) override; 42 bool GetAutomationParameters(CommandParameters & parms) override; 43 bool SetAutomationParameters(CommandParameters & parms) override; 44 45 // Effect implementation 46 47 bool Process() override; 48 void PopulateOrExchange(ShuttleGui & S) override; 49 bool TransferDataToWindow() override; 50 bool TransferDataFromWindow() override; 51 52 private: 53 // EffectRepeat implementation 54 55 void OnRepeatTextChange(wxCommandEvent & evt); 56 void DisplayNewTime(); 57 58 private: 59 int repeatCount; 60 61 wxTextCtrl *mRepeatCount; 62 wxStaticText *mCurrentTime; 63 wxStaticText *mTotalTime; 64 65 DECLARE_EVENT_TABLE() 66 }; 67 68 #endif 69 70