Audacity  2.2.0
Echo.h
Go to the documentation of this file.
1 /**********************************************************************
2 
3  Audacity: A Digital Audio Editor
4 
5  Echo.h
6 
7  Dominic Mazzoni
8  Vaughan Johnson (dialog)
9 
10 **********************************************************************/
11 
12 #ifndef __AUDACITY_EFFECT_ECHO__
13 #define __AUDACITY_EFFECT_ECHO__
14 
15 #include <wx/event.h>
16 #include <wx/string.h>
17 #include <wx/textctrl.h>
18 
19 #include "Effect.h"
20 #include "../SampleFormat.h"
21 
22 class ShuttleGui;
23 
24 #define ECHO_PLUGIN_SYMBOL XO("Echo")
25 
26 class EffectEcho final : public Effect
27 {
28 public:
29  EffectEcho();
30  virtual ~EffectEcho();
31 
32  // IdentInterface implementation
33 
34  wxString GetSymbol() override;
35  wxString GetDescription() override;
36  wxString ManualPage() override;
37 
38  // EffectIdentInterface implementation
39 
40  EffectType GetType() override;
41 
42  // EffectClientInterface implementation
43 
44  unsigned GetAudioInCount() override;
45  unsigned GetAudioOutCount() override;
46  bool ProcessInitialize(sampleCount totalLen, ChannelNames chanMap = NULL) override;
47  bool ProcessFinalize() override;
48  size_t ProcessBlock(float **inBlock, float **outBlock, size_t blockLen) override;
49  bool GetAutomationParameters(EffectAutomationParameters & parms) override;
50  bool SetAutomationParameters(EffectAutomationParameters & parms) override;
51 
52  // Effect implementation
53  void PopulateOrExchange(ShuttleGui & S) override;
54  bool TransferDataToWindow() override;
55  bool TransferDataFromWindow() override;
56 
57 private:
58  // EffectEcho implementation
59 
60 private:
61  double delay;
62  double decay;
64  size_t histPos;
65  size_t histLen;
66 };
67 
68 #endif // __AUDACITY_EFFECT_ECHO__
wxString GetSymbol() override
Definition: Echo.cpp:53
bool TransferDataFromWindow() override
Definition: Echo.cpp:183
Derived from ShuttleGuiBase, an Audacity specific class for shuttling data to and from GUI...
Definition: ShuttleGui.h:366
EffectEcho()
Definition: Echo.cpp:39
Floats history
Definition: Echo.h:63
size_t histLen
Definition: Echo.h:65
Base class for many of the effects in Audacity.
Definition: Effect.h:62
unsigned GetAudioOutCount() override
Definition: Echo.cpp:82
bool GetAutomationParameters(EffectAutomationParameters &parms) override
Definition: Echo.cpp:137
virtual ~EffectEcho()
Definition: Echo.cpp:47
bool SetAutomationParameters(EffectAutomationParameters &parms) override
Definition: Echo.cpp:145
double delay
Definition: Echo.h:61
size_t ProcessBlock(float **inBlock, float **outBlock, size_t blockLen) override
Definition: Echo.cpp:120
EffectType GetType() override
Definition: Echo.cpp:70
wxString GetDescription() override
Definition: Echo.cpp:58
bool ProcessFinalize() override
Definition: Echo.cpp:114
wxString ManualPage() override
Definition: Echo.cpp:63
size_t histPos
Definition: Echo.h:64
void PopulateOrExchange(ShuttleGui &S) override
Definition: Echo.cpp:156
bool ProcessInitialize(sampleCount totalLen, ChannelNames chanMap=NULL) override
Definition: Echo.cpp:87
double decay
Definition: Echo.h:62
An Effect that causes an echo, variable delay and volume.
Definition: Echo.h:26
unsigned GetAudioInCount() override
Definition: Echo.cpp:77
bool TransferDataToWindow() override
Definition: Echo.cpp:173