// Base class inherited by all the different types of plugins.
-#define MAX_FRAME_BUFFER 1024
+#define MAX_FRAME_BUFFER 8192
class PluginClient;
// 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
// 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();
// 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);
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)
PluginClientThread *thread;
// Frames for updating GUI
- PluginClientFrames frame_buffer;
+ PluginClientFrames client_frames;
// Time of last GUI update
Timer *update_timer;