51 lines
1.4 KiB
C++
Executable File
51 lines
1.4 KiB
C++
Executable File
/*-----------------------------------------------------------------------------
|
|
|
|
� 1999, Steinberg Soft und Hardware GmbH, All Rights Reserved
|
|
|
|
-----------------------------------------------------------------------------*/
|
|
#ifndef __PLUGIN_H
|
|
#define __PLUGIN_H
|
|
|
|
#include "public.sdk/source/vst2.x/audioeffectx.h"
|
|
#include <reverb/reverb.hpp>
|
|
#include "param.hpp"
|
|
|
|
class Plugin : public AudioEffectX
|
|
{
|
|
static const uint DELAY_MAX = 48000;
|
|
static const uint NUM_PARMS = 8;
|
|
|
|
public:
|
|
Plugin(audioMasterCallback audioMaster);
|
|
~Plugin();
|
|
|
|
// Processing
|
|
virtual void processReplacing (float** inputs, float** outputs, VstInt32 sampleFrames);
|
|
|
|
// Program
|
|
virtual void setProgramName (char* name);
|
|
virtual void getProgramName (char* name);
|
|
|
|
// Parameters
|
|
virtual void setParameter (VstInt32 index, float value);
|
|
virtual float getParameter (VstInt32 index);
|
|
virtual void getParameterLabel (VstInt32 index, char* label);
|
|
virtual void getParameterDisplay (VstInt32 index, char* text);
|
|
virtual void getParameterName (VstInt32 index, char* text);
|
|
|
|
virtual void setSampleRate(float sampleRate);
|
|
virtual void setBlockSize(VstInt32 blockSize);
|
|
|
|
protected:
|
|
char programName[32];
|
|
char dbgStr[80];
|
|
|
|
private:
|
|
Reverb<float, 8> m_reverb_1;
|
|
Reverb<float, 8> m_reverb_2;
|
|
uint m_feedback_delay[2];
|
|
Param *m_params[NUM_PARMS];
|
|
};
|
|
|
|
#endif // __PLUGIN_H
|