Audacity  3.0.3
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 "Effect.h"
16 
17 class ShuttleGui;
18 
19 class EffectEcho final : public Effect
20 {
21 public:
23 
24  EffectEcho();
25  virtual ~EffectEcho();
26 
27  // ComponentInterface implementation
28 
31  wxString ManualPage() override;
32 
33  // EffectDefinitionInterface implementation
34 
35  EffectType GetType() override;
36 
37  // EffectClientInterface implementation
38 
39  unsigned GetAudioInCount() override;
40  unsigned GetAudioOutCount() override;
41  bool ProcessInitialize(sampleCount totalLen, ChannelNames chanMap = NULL) override;
42  bool ProcessFinalize() override;
43  size_t ProcessBlock(float **inBlock, float **outBlock, size_t blockLen) override;
44  bool DefineParams( ShuttleParams & S ) override;
45  bool GetAutomationParameters(CommandParameters & parms) override;
46  bool SetAutomationParameters(CommandParameters & parms) override;
47 
48  // Effect implementation
49  void PopulateOrExchange(ShuttleGui & S) override;
50  bool TransferDataToWindow() override;
51  bool TransferDataFromWindow() override;
52 
53 private:
54  // EffectEcho implementation
55 
56 private:
57  double delay;
58  double decay;
60  size_t histPos;
61  size_t histLen;
62 };
63 
64 #endif // __AUDACITY_EFFECT_ECHO__
EffectEcho::TransferDataFromWindow
bool TransferDataFromWindow() override
Definition: Echo.cpp:200
TranslatableString
Definition: Types.h:290
CommandParameters
CommandParameters, derived from wxFileConfig, is essentially doing the same things as the Shuttle cla...
Definition: EffectAutomationParameters.h:67
EffectEcho::GetAudioOutCount
unsigned GetAudioOutCount() override
Definition: Echo.cpp:89
EffectEcho::TransferDataToWindow
bool TransferDataToWindow() override
Definition: Echo.cpp:190
Effect.h
EffectEcho::GetAudioInCount
unsigned GetAudioInCount() override
Definition: Echo.cpp:84
EffectEcho::Symbol
static const ComponentInterfaceSymbol Symbol
Definition: Echo.h:22
EffectEcho::histLen
size_t histLen
Definition: Echo.h:61
Effect
Base class for many of the effects in Audacity.
Definition: Effect.h:71
EffectEcho::decay
double decay
Definition: Echo.h:58
EffectEcho::history
Floats history
Definition: Echo.h:59
EffectEcho::GetType
EffectType GetType() override
Definition: Echo.cpp:77
EffectEcho::PopulateOrExchange
void PopulateOrExchange(ShuttleGui &S) override
Definition: Echo.cpp:170
EffectEcho::SetAutomationParameters
bool SetAutomationParameters(CommandParameters &parms) override
Definition: Echo.cpp:159
ShuttleParams
Shuttle that deals with parameters. This is a base class with lots of virtual functions that do nothi...
Definition: Shuttle.h:61
ComponentInterfaceSymbol
ComponentInterfaceSymbol pairs a persistent string identifier used internally with an optional,...
Definition: ComponentInterface.h:60
EffectEcho::DefineParams
bool DefineParams(ShuttleParams &S) override
Definition: Echo.cpp:144
EffectEcho
An Effect that causes an echo, variable delay and volume.
Definition: Echo.h:20
EffectEcho::GetAutomationParameters
bool GetAutomationParameters(CommandParameters &parms) override
Definition: Echo.cpp:151
ChannelNames
enum ChannelName * ChannelNames
EffectEcho::GetDescription
TranslatableString GetDescription() override
Definition: Echo.cpp:65
EffectEcho::EffectEcho
EffectEcho()
Definition: Echo.cpp:46
EffectEcho::ProcessFinalize
bool ProcessFinalize() override
Definition: Echo.cpp:121
EffectEcho::~EffectEcho
virtual ~EffectEcho()
Definition: Echo.cpp:54
sampleCount
Definition: Types.h:589
EffectEcho::ManualPage
wxString ManualPage() override
Definition: Echo.cpp:70
EffectEcho::histPos
size_t histPos
Definition: Echo.h:60
EffectEcho::GetSymbol
ComponentInterfaceSymbol GetSymbol() override
Definition: Echo.cpp:60
EffectEcho::ProcessBlock
size_t ProcessBlock(float **inBlock, float **outBlock, size_t blockLen) override
Definition: Echo.cpp:127
EffectType
EffectType
Definition: EffectInterface.h:55
EffectEcho::delay
double delay
Definition: Echo.h:57
ArrayOf< float >
EffectEcho::ProcessInitialize
bool ProcessInitialize(sampleCount totalLen, ChannelNames chanMap=NULL) override
Definition: Echo.cpp:94
ShuttleGui
Derived from ShuttleGuiBase, an Audacity specific class for shuttling data to and from GUI.
Definition: ShuttleGui.h:638