ScoreGeneratorVstFltk.hpp
Go to the documentation of this file.00001
00022 #ifndef CSOUNDVSTFLTK_H
00023 #define CSOUNDVSTFLTK_H
00024
00025 class ScoreGeneratorVst;
00026
00027 #include "public.sdk/source/vst2.x/aeffeditor.h"
00028 #include <FL/Fl_Help_View.H>
00029 #include <FL/Fl_Pack.H>
00030 #include <FL/Fl_Tabs.H>
00031 #include <FL/Fl_Input.H>
00032 #include <FL/Fl_Preferences.H>
00033 #include <FL/Fl_Browser.H>
00034 #include <FL/Fl_Text_Editor.H>
00035 #include <FL/Fl_Text_Display.H>
00036 #include <FL/Fl_Text_Buffer.H>
00037 #include <FL/Fl_Button.H>
00038 #include <FL/Fl_Check_Button.H>
00039 #include <FL/Fl_Group.H>
00040 #include <list>
00041 #undef KeyPress
00042 #include "ScoreGeneratorVst.hpp"
00043 #include "ScoreGeneratorVstUi.h"
00044
00045 #if defined(WIN32)
00046
00047 extern HINSTANCE hInstance;
00048
00049 #endif
00050
00051 class WaitCursor
00052 {
00053 void *cursor;
00054 public:
00055 WaitCursor();
00056 virtual ~WaitCursor();
00057 };
00058
00059 class ScoreGeneratorVstFltk :
00060 public AEffEditor
00061 {
00062 public:
00063 void *windowHandle;
00064 Fl_Window *scoreGeneratorVstUi;
00065 ScoreGeneratorVst *scoreGeneratorVst;
00066 int useCount;
00067 static std::string aboutText;
00068 typedef enum {
00069 kEditorWidth = 610,
00070 kEditorHeight = 430,
00071 xPad = 4,
00072 yPad = 4
00073 } AEffEditorSize;
00074 bool updateFlag;
00075 Fl_Pack *mainPack;
00076 Fl_Tabs *mainTabs;
00077 Fl_Group *runtimeMessagesGroup;
00078 Fl_Browser *runtimeMessagesBrowser;
00079 Fl_Text_Editor *scriptTextEdit;
00080 Fl_Text_Buffer *scriptTextBuffer;
00081 Fl_Text_Buffer *aboutTextBuffer;
00082 Fl_Text_Display *aboutTextDisplay;
00083 Fl_Group *scriptGroup;
00084 std::list<std::string> messages;
00085 std::string helpFilename;
00086 std::string messagebuffer;
00087 ScoreGeneratorVstFltk(AudioEffect *audioEffect);
00088 virtual ~ScoreGeneratorVstFltk(void);
00089 virtual void updateCaption();
00090 virtual void updateModel();
00091 virtual void log(char *message);
00092 virtual void logv(char *message,...);
00093
00094 virtual bool getRect(ERect **rect);
00095 virtual bool open(void *windowHandle);
00096 virtual void close();
00097 virtual void idle();
00098 virtual void update();
00099 virtual void postUpdate();
00100
00101 void onNew(Fl_Button*, ScoreGeneratorVstFltk* ScoreGeneratorVstFltk);
00102 void onNewVersion(Fl_Button*, ScoreGeneratorVstFltk* ScoreGeneratorVstFltk);
00103 void onOpen(Fl_Button*, ScoreGeneratorVstFltk* ScoreGeneratorVstFltk);
00104 void onSave(Fl_Button*, ScoreGeneratorVstFltk* ScoreGeneratorVstFltk);
00105 void onSaveAs(Fl_Button*, ScoreGeneratorVstFltk* ScoreGeneratorVstFltk);
00106 void onGenerate(Fl_Button*, ScoreGeneratorVstFltk* ScoreGeneratorVstFltk);
00107 };
00108
00109 #endif
00110