Audacity  3.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 "Effect.h"
16 
17 class ShuttleGui;
18 
20 
21 class EffectEcho final : public Effect
22 {
23 public:
25 
26  EffectEcho();
27  virtual ~EffectEcho();
28 
29  // ComponentInterface implementation
30 
33  ManualPageID ManualPage() override;
34 
35  // EffectDefinitionInterface implementation
36 
37  EffectType GetType() override;
38  bool GetAutomationParameters(CommandParameters & parms) override;
39  bool SetAutomationParameters(CommandParameters & parms) override;
40 
41  // EffectProcessor implementation
42 
43  unsigned GetAudioInCount() override;
44  unsigned GetAudioOutCount() override;
45  bool ProcessInitialize(sampleCount totalLen, ChannelNames chanMap = NULL) override;
46  bool ProcessFinalize() override;
47  size_t ProcessBlock(float **inBlock, float **outBlock, size_t blockLen) override;
48  bool DefineParams( ShuttleParams & S ) override;
49 
50  // Effect implementation
51  void PopulateOrExchange(ShuttleGui & S) override;
52  bool TransferDataToWindow() override;
53  bool TransferDataFromWindow() override;
54 
55 private:
56  // EffectEcho implementation
57 
58 private:
59  double delay;
60  double decay;
62  size_t histPos;
63  size_t histLen;
64 };
65 
66 #endif // __AUDACITY_EFFECT_ECHO__
EffectEcho::TransferDataFromWindow
bool TransferDataFromWindow() override
Definition: Echo.cpp:200
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
EffectEcho::GetAudioOutCount
unsigned GetAudioOutCount() override
Definition: Echo.cpp:89
EffectEcho::TransferDataToWindow
bool TransferDataToWindow() override
Definition: Echo.cpp:190
S
#define S(N)
Definition: ToChars.cpp:64
Effect.h
EffectEcho::GetAudioInCount
unsigned GetAudioInCount() override
Definition: Echo.cpp:84
EffectEcho::Symbol
static const ComponentInterfaceSymbol Symbol
Definition: Echo.h:24
EffectEcho::histLen
size_t histLen
Definition: Echo.h:63
Effect
An Effect object is at once host and client: it is self-hosting.
Definition: Effect.h:77
EffectEcho::decay
double decay
Definition: Echo.h:60
EffectEcho::history
Floats history
Definition: Echo.h:61
EffectEcho::GetType
EffectType GetType() override
Type determines how it behaves.
Definition: Echo.cpp:77
EffectEcho::PopulateOrExchange
void PopulateOrExchange(ShuttleGui &S) override
Definition: Echo.cpp:170
EffectEcho::SetAutomationParameters
bool SetAutomationParameters(CommandParameters &parms) override
Change settings to those stored in parms.
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: ComponentInterfaceSymbol.h:27
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:22
EffectEcho::GetAutomationParameters
bool GetAutomationParameters(CommandParameters &parms) override
Save current settings into parms.
Definition: Echo.cpp:151
EffectEcho::ManualPage
ManualPageID ManualPage() override
Name of a page in the Audacity alpha manual, default is empty.
Definition: Echo.cpp:70
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
Called for destructive, non-realtime effect computation.
Definition: Echo.cpp:121
EffectEcho::~EffectEcho
virtual ~EffectEcho()
Definition: Echo.cpp:54
TaggedIdentifier< ManualPageIDTag >
sampleCount
Positions or offsets within audio files need a wide type.
Definition: SampleCount.h:18
EffectEcho::histPos
size_t histPos
Definition: Echo.h:62
EffectEcho::GetSymbol
ComponentInterfaceSymbol GetSymbol() override
Definition: Echo.cpp:60
EffectEcho::ProcessBlock
size_t ProcessBlock(float **inBlock, float **outBlock, size_t blockLen) override
Called for destructive, non-realtime effect computation.
Definition: Echo.cpp:127
EffectType
EffectType
Definition: EffectInterface.h:52
EffectEcho::delay
double delay
Definition: Echo.h:59
ArrayOf< float >
EffectEcho::ProcessInitialize
bool ProcessInitialize(sampleCount totalLen, ChannelNames chanMap=NULL) override
Called for destructive, non-realtime effect computation.
Definition: Echo.cpp:94
ShuttleGui
Derived from ShuttleGuiBase, an Audacity specific class for shuttling data to and from GUI.
Definition: ShuttleGui.h:631