logo
Main Page | Namespaces | Classes | Compounds | Files | Compound Members | Related

vstgui.h

00001 
00002 
00003 #ifndef __vstgui__
00004 #define __vstgui__
00005 
00006 class AudioEffect;
00007 class Window;
00008 #include <windows.h>
00009 #include "MainDialog.h"
00010 
00011 using namespace SynthGUI;
00012 
00013 struct ERect
00014 {
00015         short top;
00016         short left;
00017         short bottom;
00018         short right;
00019 };
00020 
00021 
00022 class AEffEditor
00023 {
00024 public:
00025         AEffEditor (AudioEffect *effect) {this->effect = effect; updateFlag = 0; }
00026         virtual ~AEffEditor() {}
00027 
00028         virtual long getRect(ERect **rect) {*rect = 0; return 0;}
00029         virtual long open(void *ptr) {systemWindow = ptr; return 0;}
00030         virtual void close() {}
00031         virtual void idle() { if(updateFlag) {updateFlag = 0; update();} }
00032         /*
00033 #if MAC
00034         virtual void draw(ERect *rect) {rect = rect;}
00035         virtual long mouse(long x, long y) {x = x; y = y; return 0;}
00036         virtual long key(long keyCode) {keyCode = keyCode; return 0;}
00037         virtual void top() {}
00038         virtual void sleep() {}
00039 #endif
00040         */
00041         virtual void update() {}
00042         virtual void postUpdate() {updateFlag = 1;}
00043         
00044 protected:
00045         AEffEditor () {};
00046 
00047         AudioEffect *effect;
00048         void *systemWindow;
00049         long updateFlag;
00050 };
00051 
00052 
00053 class ADEditor : public AEffEditor
00054 {
00055 public:
00056         ADEditor (AudioEffect *effect);
00057         virtual ~ADEditor() ;
00058 
00059         virtual long getRect(ERect **rect) ;
00060         virtual long open(void *ptr) ;
00061         virtual void close() ;
00062         virtual void idle() ;
00063         virtual void update() ;
00064         //virtual void postUpdate() ;
00065         HWND delayFader;
00066         HWND feedbackFader;
00067         HWND volumeFader;
00068         mainDialog * mitVindue;
00069 };
00070 
00071 #endif

Syntopia Project. Visit the web page, or the SourceForge page.
Docs made by Doxygen. Email: Mikael Christensen