X-Git-Url: https://git.cinelerra-gg.org/git/?p=goodguy%2Fcinelerra.git;a=blobdiff_plain;f=cinelerra-5.1%2Fcinelerra%2Fpluginserver.h;h=fd01f396a0c5e9154a4f3e73c766754b9dd21d8e;hp=862e22eb41fe86ab388221c46cdad7428c3bfa12;hb=32a609a6bd1181993569399ab51f314dc7cb4fba;hpb=9fed7535470aa37781733db836068da3b4c17a0d diff --git a/cinelerra-5.1/cinelerra/pluginserver.h b/cinelerra-5.1/cinelerra/pluginserver.h index 862e22eb..fd01f396 100644 --- a/cinelerra-5.1/cinelerra/pluginserver.h +++ b/cinelerra-5.1/cinelerra/pluginserver.h @@ -74,6 +74,18 @@ public: ~PluginObj() { if( dlobj ) unload(dlobj); } }; +class PluginGUIs : public ArrayList +{ + 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; @@ -258,9 +270,16 @@ public: // 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); @@ -419,7 +438,7 @@ public: EDL *edl; Preferences *preferences; MenuEffectPrompt *prompt; - int gui_on; + int gui_on, gui_id; VFrame *temp_frame;