mirror of
https://github.com/cookiengineer/audacity
synced 2025-07-29 15:09:30 +02:00
... Should have no effect on generated code, except perhaps some slight faster virtual function calls. Mostly useful as documentation of design intent. Tried to mark every one of our classes that inherits from another, or is a base for others, or has abstract virtual functions, and a few others besides.
67 lines
1.5 KiB
C++
67 lines
1.5 KiB
C++
/**********************************************************************
|
|
|
|
Audacity: A Digital Audio Editor
|
|
|
|
Echo.h
|
|
|
|
Dominic Mazzoni
|
|
Vaughan Johnson (dialog)
|
|
|
|
**********************************************************************/
|
|
|
|
#ifndef __AUDACITY_EFFECT_ECHO__
|
|
#define __AUDACITY_EFFECT_ECHO__
|
|
|
|
#include <wx/event.h>
|
|
#include <wx/string.h>
|
|
#include <wx/textctrl.h>
|
|
|
|
#include "Effect.h"
|
|
|
|
class ShuttleGui;
|
|
|
|
#define ECHO_PLUGIN_SYMBOL XO("Echo")
|
|
|
|
class EffectEcho final : public Effect
|
|
{
|
|
public:
|
|
EffectEcho();
|
|
virtual ~EffectEcho();
|
|
|
|
// IdentInterface implementation
|
|
|
|
virtual wxString GetSymbol();
|
|
virtual wxString GetDescription();
|
|
|
|
// EffectIdentInterface implementation
|
|
|
|
virtual EffectType GetType();
|
|
|
|
// EffectClientInterface implementation
|
|
|
|
virtual int GetAudioInCount();
|
|
virtual int GetAudioOutCount();
|
|
virtual bool ProcessInitialize(sampleCount totalLen, ChannelNames chanMap = NULL);
|
|
virtual bool ProcessFinalize();
|
|
virtual sampleCount ProcessBlock(float **inBlock, float **outBlock, sampleCount blockLen);
|
|
virtual bool GetAutomationParameters(EffectAutomationParameters & parms);
|
|
virtual bool SetAutomationParameters(EffectAutomationParameters & parms);
|
|
|
|
// Effect implementation
|
|
virtual void PopulateOrExchange(ShuttleGui & S);
|
|
virtual bool TransferDataToWindow();
|
|
virtual bool TransferDataFromWindow();
|
|
|
|
private:
|
|
// EffectEcho implementation
|
|
|
|
private:
|
|
double delay;
|
|
double decay;
|
|
float *history;
|
|
sampleCount histPos;
|
|
sampleCount histLen;
|
|
};
|
|
|
|
#endif // __AUDACITY_EFFECT_ECHO__
|