aboutsummaryrefslogtreecommitdiff
path: root/Vst/AEffEditor.h
blob: 16d5fa13ee72143b08499bd093d03e3cb53f8861 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
#ifndef __AEffEditor__
#define __AEffEditor__

class AudioEffect;

struct ERect
{
	short top;
	short left;
	short bottom;
	short right;
};

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;}
	
protected:
	AEffEditor () {};

	AudioEffect *effect;
	void *systemWindow;
	long updateFlag;
};

#endif