~PluginObj() { if( dlobj ) unload(dlobj); }
};
+class PluginGUIs : public ArrayList<PluginServer*>
+{
+ int next_id;
+ MWindow *mwindow;
+public:
+ PluginGUIs(MWindow *mwindow);
+ ~PluginGUIs();
+
+ void append(PluginServer *server);
+ PluginServer *gui_server(int gui_id);
+};
+
class PluginServer
{
PluginObj *plugin_obj;
// Called by rendering client to cause the GUI to display something with the data.
void send_render_gui(void *data);
void send_render_gui(void *data, int size);
+
// Called by MWindow to cause GUI to display
void render_gui(void *data);
void render_gui(void *data, int size);
+// PluginClientFrames queuing to gui client_frames
+ void send_reset_gui_frames();
+ void reset_gui_frames();
+ void render_gui_frames(PluginClientFrames *frames);
+ void reset_plugin_gui_frames();
+ void render_plugin_gui_frames(PluginClientFrames *frames);
// Send the boundary autos of the next fragment
int set_automation(FloatAutos *autos, FloatAuto **start_auto, FloatAuto **end_auto, int reverse);
EDL *edl;
Preferences *preferences;
MenuEffectPrompt *prompt;
- int gui_on;
+ int gui_on, gui_id;
VFrame *temp_frame;