fit keyframe spanning for sketcher,tracer,crikey, rework keyframegui preset, tweak...
[goodguy/cinelerra.git] / cinelerra-5.1 / cinelerra / pluginclient.h
index 67a1148f6de91ce04c3bcf1abbab3e785bc37f69..b338debaf09f5f5037aa9fa7ed60e4dc2185d22f 100644 (file)
@@ -24,7 +24,7 @@
 
 // Base class inherited by all the different types of plugins.
 
-#define MAX_FRAME_BUFFER 1024
+#define MAX_FRAME_BUFFER 8192
 
 class PluginClient;
 
@@ -381,7 +381,7 @@ public:
 // console.  This gets a keyframe from the EDL, with the position set to the
 // EDL tracking position.
        int send_configure_change();
-
+       virtual void span_keyframes(KeyFrame *src, int64_t start, int64_t end);
 
 // Called from process_buffer
 // Returns 1 if a GUI is open so OpenGL routines can determine if
@@ -426,6 +426,7 @@ public:
 // Plugin must call this before performing OpenGL operations.
 // Returns 1 if the user supports opengl buffers.
        int get_use_opengl();
+       int to_ram(VFrame *vframe);
 
 // Get total tracks to process
        int get_total_buffers();
@@ -486,6 +487,7 @@ public:
 // GUI updating wrappers for realtime plugins
 // Append frame to queue for next send_frame_buffer
        void add_gui_frame(PluginClientFrame *frame);
+       int get_gui_frames();
 
        virtual void render_gui(void *data);
        virtual void render_gui(void *data, int size);
@@ -499,7 +501,8 @@ public:
        void reset_plugin_gui_frames();
        void plugin_reset_gui_frames();
        void plugin_render_gui_frames(PluginClientFrames *frames);
-       int get_gui_frames();
+// first frame ready
+       int pending_gui_frame();
 // Called by client to get the total number of frames to draw in update_gui
        int pending_gui_frames();
 // pop frames until buffer passes position=pos(-1 or seconds) in direction=dir(-1,0,1)
@@ -577,7 +580,7 @@ public:
        PluginClientThread *thread;
 
 // Frames for updating GUI
-       PluginClientFrames frame_buffer;
+       PluginClientFrames client_frames;
 // Time of last GUI update
        Timer *update_timer;