72 lines
2.1 KiB
C++
72 lines
2.1 KiB
C++
//-------------------------------------------------------------------------------------------------------
|
|
// VST Plug-Ins SDK
|
|
// Version 2.3 Extension
|
|
// © 2003, Steinberg Media Technologies, All Rights Reserved
|
|
//-------------------------------------------------------------------------------------------------------
|
|
|
|
#ifndef __AEffEditor__
|
|
#define __AEffEditor__
|
|
|
|
class AudioEffect;
|
|
|
|
//----------------------------------------------------------------------
|
|
struct ERect
|
|
{
|
|
short top;
|
|
short left;
|
|
short bottom;
|
|
short right;
|
|
};
|
|
|
|
#ifndef __aeffectx__
|
|
#include "aeffectx.h"
|
|
#endif
|
|
|
|
#define VST_2_1_EXTENSIONS 1
|
|
|
|
//----------------------------------------------------------------------
|
|
// class AEffEditor Declaration
|
|
//----------------------------------------------------------------------
|
|
class AEffEditor
|
|
{
|
|
public:
|
|
AEffEditor (AudioEffect *effect) { this->effect = effect; updateFlag = 0; }
|
|
virtual ~AEffEditor() {}
|
|
|
|
virtual long getRect (ERect **rect) { *rect = 0; return 0; }
|
|
virtual long open (void *ptr) { systemWindow = ptr; return 0; }
|
|
virtual void close () {}
|
|
virtual void idle () { if(updateFlag) { updateFlag = 0; update ();} }
|
|
|
|
#if MAC
|
|
virtual void draw (ERect *rect) { rect = rect; }
|
|
virtual long mouse (long x, long y) { x = x; y = y; return 0; }
|
|
virtual long key (long keyCode) { keyCode = keyCode; return 0; }
|
|
virtual void top () {}
|
|
virtual void sleep () {}
|
|
#endif
|
|
|
|
virtual void update () {}
|
|
virtual void postUpdate () { updateFlag = 1; }
|
|
|
|
#if VST_2_1_EXTENSIONS
|
|
virtual long onKeyDown (VstKeyCode &keyCode) { keyCode = keyCode; return -1; }
|
|
virtual long onKeyUp (VstKeyCode &keyCode) { keyCode = keyCode; return -1; }
|
|
virtual long setKnobMode (int val) { return 0; };
|
|
|
|
virtual bool onWheel (float distance) { return false; };
|
|
#endif
|
|
|
|
protected:
|
|
AEffEditor () {};
|
|
|
|
AudioEffect *effect;
|
|
void *systemWindow;
|
|
long updateFlag;
|
|
};
|
|
|
|
#endif // __AEffEditor__
|
|
//-------------------------------------------------------------------------------------------------------
|
|
//-------------------------------------------------------------------------------------------------------
|
|
|