Audacity  2.2.2
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 IdentInterfaceSymbol{ XO("Echo") }
25 
26 class EffectEcho final : public Effect
27 {
28 public:
29  EffectEcho();
30  virtual ~EffectEcho();
31 
32  // IdentInterface implementation
33 
35  wxString GetDescription() override;
36  wxString ManualPage() override;
37 
38  // EffectDefinitionInterface 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 DefineParams( ShuttleParams & S ) override;
50  bool GetAutomationParameters(CommandParameters & parms) override;
51  bool SetAutomationParameters(CommandParameters & parms) override;
52 
53  // Effect implementation
54  void PopulateOrExchange(ShuttleGui & S) override;
55  bool TransferDataToWindow() override;
56  bool TransferDataFromWindow() override;
57 
58 private:
59  // EffectEcho implementation
60 
61 private:
62  double delay;
63  double decay;
65  size_t histPos;
66  size_t histLen;
67 };
68 
69 #endif // __AUDACITY_EFFECT_ECHO__
bool TransferDataFromWindow() override
Definition: Echo.cpp:192
Derived from ShuttleGuiBase, an Audacity specific class for shuttling data to and from GUI...
Definition: ShuttleGui.h:409
EffectEcho()
Definition: Echo.cpp:41
Floats history
Definition: Echo.h:64
size_t histLen
Definition: Echo.h:66
Base class for many of the effects in Audacity.
Definition: Effect.h:62
Shuttle that deals with parameters. This is a base class with lots of virtual functions that do nothi...
Definition: Shuttle.h:60
unsigned GetAudioOutCount() override
Definition: Echo.cpp:84
virtual ~EffectEcho()
Definition: Echo.cpp:49
IdentInterfaceSymbol GetSymbol() override
Definition: Echo.cpp:55
double delay
Definition: Echo.h:62
CommandParameters, derived from wxFileConfig, is essentially doing the same things as the Shuttle cla...
size_t ProcessBlock(float **inBlock, float **outBlock, size_t blockLen) override
Definition: Echo.cpp:122
bool DefineParams(ShuttleParams &S) override
Definition: Echo.cpp:139
IdentInterfaceSymbol pairs a persistent string identifier used internally with an optional...
enum ChannelName * ChannelNames
EffectType GetType() override
Definition: Echo.cpp:72
wxString GetDescription() override
Definition: Echo.cpp:60
EffectType
bool ProcessFinalize() override
Definition: Echo.cpp:116
wxString ManualPage() override
Definition: Echo.cpp:65
bool GetAutomationParameters(CommandParameters &parms) override
Definition: Echo.cpp:146
size_t histPos
Definition: Echo.h:65
void PopulateOrExchange(ShuttleGui &S) override
Definition: Echo.cpp:165
bool ProcessInitialize(sampleCount totalLen, ChannelNames chanMap=NULL) override
Definition: Echo.cpp:89
double decay
Definition: Echo.h:63
An Effect that causes an echo, variable delay and volume.
Definition: Echo.h:26
unsigned GetAudioInCount() override
Definition: Echo.cpp:79
bool SetAutomationParameters(CommandParameters &parms) override
Definition: Echo.cpp:154
bool TransferDataToWindow() override
Definition: Echo.cpp:182