fix segv for plugin render_gui when plugin moved up/dn, opencv build fixes, opts...
[goodguy/cinelerra.git] / cinelerra-5.1 / cinelerra / pluginserver.h
index 36447603bb0e1c0ad2f595d04e428be035e1a7f2..5be37a4bd7fa750ab9b4f730550fcd26611e4a88 100644 (file)
@@ -74,6 +74,18 @@ public:
        ~PluginObj() { if( dlobj ) unload(dlobj); }
 };
 
        ~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;
 class PluginServer
 {
        PluginObj *plugin_obj;
@@ -150,6 +162,9 @@ public:
                        int64_t position, int direction);
 // Get interpolation used by EDL
        int get_interpolation_type();
                        int64_t position, int direction);
 // Get interpolation used by EDL
        int get_interpolation_type();
+// plugin position or -1 if no plugin
+       int64_t get_startproject();
+       int64_t get_endproject();
 // Get or create keyframe for writing, depending on whether auto keyframes
 // is enabled.  Called by PluginClient::send_configure_change
        KeyFrame* get_keyframe();
 // Get or create keyframe for writing, depending on whether auto keyframes
 // is enabled.  Called by PluginClient::send_configure_change
        KeyFrame* get_keyframe();
@@ -416,7 +431,7 @@ public:
        EDL *edl;
        Preferences *preferences;
        MenuEffectPrompt *prompt;
        EDL *edl;
        Preferences *preferences;
        MenuEffectPrompt *prompt;
-       int gui_on;
+       int gui_on, gui_id;
 
        VFrame *temp_frame;
 
 
        VFrame *temp_frame;