fit keyframe spanning for sketcher,tracer,crikey, rework keyframegui preset, tweak...
[goodguy/cinelerra.git] / cinelerra-5.1 / cinelerra / pluginserver.h
index 5be37a4bd7fa750ab9b4f730550fcd26611e4a88..1808db7e2435c502795eec3b8f23e113baa1f784 100644 (file)
@@ -170,7 +170,7 @@ public:
        KeyFrame* get_keyframe();
 // Apply new settings from the plugin GUI.  Called by PluginClient::send_configure_change
 // Used in keyframe spanning mode.
-       void apply_keyframe(KeyFrame *src);
+       void apply_keyframe(Plugin *plugin, KeyFrame *src);
 
 // Create new theme object.  Used by theme plugins.
        Theme* new_theme();
@@ -216,6 +216,7 @@ public:
        void set_use_opengl(int value, VideoDevice *vdevice);
 // Plugin must call this before performing OpenGL operations.
        int get_use_opengl();
+       int to_ram(VFrame *vframe);
 
 // Called from plugin client
 // Returns 1 if a GUI is open so OpenGL routines can determine if
@@ -270,9 +271,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);
@@ -361,6 +369,7 @@ public:
 
 // client origin
        int plugin_type;
+       int plugin_id;
 
 // buffers
        int64_t out_buffer_size;   // size of a send buffer to the plugin
@@ -424,8 +433,6 @@ public:
 // Pointer to keyframe when plugin is not available
        KeyFrame *keyframe;
        AttachmentPoint *attachment;
-// Storage of keyframes and GUI status
-       Plugin *plugin;
 
 // Storage of session parameters
        EDL *edl;