Audacity  3.0.3
Paulstretch.h
Go to the documentation of this file.
1 /**********************************************************************
2 
3  Audacity: A Digital Audio Editor
4  Paulstretch.h
5 
6  Nasca Octavian Paul (Paul Nasca)
7 
8  **********************************************************************/
9 
10 #ifndef __AUDACITY_EFFECT_PAULSTRETCH__
11 #define __AUDACITY_EFFECT_PAULSTRETCH__
12 
13 #include "Effect.h"
14 
15 class ShuttleGui;
16 
17 class EffectPaulstretch final : public Effect
18 {
19 public:
21 
23  virtual ~EffectPaulstretch();
24 
25  // ComponentInterface implementation
26 
29  ManualPageID ManualPage() override;
30 
31  // EffectDefinitionInterface implementation
32 
33  EffectType GetType() override;
34 
35  // EffectClientInterface implementation
36 
37  bool DefineParams( ShuttleParams & S ) override;
38  bool GetAutomationParameters(CommandParameters & parms) override;
39  bool SetAutomationParameters(CommandParameters & parms) override;
40 
41  // Effect implementation
42 
43  double CalcPreviewInputLength(double previewLength) override;
44  bool Process() override;
45  void PopulateOrExchange(ShuttleGui & S) override;
46  bool TransferDataToWindow() override;
47  bool TransferDataFromWindow() override;
48 
49 private:
50  // EffectPaulstretch implementation
51 
52  void OnText(wxCommandEvent & evt);
53  size_t GetBufferSize(double rate);
54 
55  bool ProcessOne(WaveTrack *track, double t0, double t1, int count);
56 
57 private:
58  float mAmount;
59  float mTime_resolution; //seconds
60  double m_t1;
61 
62  DECLARE_EVENT_TABLE()
63 };
64 
65 #endif
66 
EffectPaulstretch::OnText
void OnText(wxCommandEvent &evt)
Definition: Paulstretch.cpp:240
TranslatableString
Holds a msgid for the translation catalog; may also bind format arguments.
Definition: TranslatableString.h:32
CommandParameters
CommandParameters, derived from wxFileConfig, is essentially doing the same things as the Shuttle cla...
Definition: EffectAutomationParameters.h:67
WaveTrack
A Track that contains audio waveform data.
Definition: WaveTrack.h:69
EffectPaulstretch::GetType
EffectType GetType() override
Definition: Paulstretch.cpp:127
EffectPaulstretch::SetAutomationParameters
bool SetAutomationParameters(CommandParameters &parms) override
Definition: Paulstretch.cpp:147
Effect.h
EffectPaulstretch::ProcessOne
bool ProcessOne(WaveTrack *track, double t0, double t1, int count)
Definition: Paulstretch.cpp:263
Effect
Base class for many of the effects in Audacity.
Definition: Effect.h:72
EffectPaulstretch::DefineParams
bool DefineParams(ShuttleParams &S) override
Definition: Paulstretch.cpp:133
ShuttleParams
Shuttle that deals with parameters. This is a base class with lots of virtual functions that do nothi...
Definition: Shuttle.h:62
EffectPaulstretch::mAmount
float mAmount
Definition: Paulstretch.h:58
EffectPaulstretch::mTime_resolution
float mTime_resolution
Definition: Paulstretch.h:59
EffectPaulstretch::ManualPage
ManualPageID ManualPage() override
Definition: Paulstretch.cpp:120
EffectPaulstretch::GetBufferSize
size_t GetBufferSize(double rate)
Definition: Paulstretch.cpp:245
ComponentInterfaceSymbol
ComponentInterfaceSymbol pairs a persistent string identifier used internally with an optional,...
Definition: ComponentInterfaceSymbol.h:27
EffectPaulstretch::GetDescription
TranslatableString GetDescription() override
Definition: Paulstretch.cpp:115
EffectPaulstretch::TransferDataFromWindow
bool TransferDataFromWindow() override
Definition: Paulstretch.cpp:228
EffectPaulstretch::CalcPreviewInputLength
double CalcPreviewInputLength(double previewLength) override
Definition: Paulstretch.cpp:160
EffectPaulstretch::GetAutomationParameters
bool GetAutomationParameters(CommandParameters &parms) override
Definition: Paulstretch.cpp:139
EffectPaulstretch::PopulateOrExchange
void PopulateOrExchange(ShuttleGui &S) override
Definition: Paulstretch.cpp:199
EffectPaulstretch::EffectPaulstretch
EffectPaulstretch()
Definition: Paulstretch.cpp:96
EffectPaulstretch::Process
bool Process() override
Definition: Paulstretch.cpp:173
EffectPaulstretch::TransferDataToWindow
bool TransferDataToWindow() override
Definition: Paulstretch.cpp:218
EffectPaulstretch::GetSymbol
ComponentInterfaceSymbol GetSymbol() override
Definition: Paulstretch.cpp:110
TaggedIdentifier< ManualPageIDTag >
EffectType
EffectType
Definition: EffectInterface.h:55
EffectPaulstretch::Symbol
static const ComponentInterfaceSymbol Symbol
Definition: Paulstretch.h:20
EffectPaulstretch::~EffectPaulstretch
virtual ~EffectPaulstretch()
Definition: Paulstretch.cpp:104
ShuttleGui
Derived from ShuttleGuiBase, an Audacity specific class for shuttling data to and from GUI.
Definition: ShuttleGui.h:631
EffectPaulstretch::m_t1
double m_t1
Definition: Paulstretch.h:60
EffectPaulstretch
An Extreme Time Stretch and Time Smear effect.
Definition: Paulstretch.h:18