1
0
mirror of https://github.com/cookiengineer/audacity synced 2025-07-29 15:09:30 +02:00
2015-07-19 12:31:03 -04:00

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 : 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__