PluginServer Class Reference

#include <pluginserver.h>

Collaboration diagram for PluginServer:

Collaboration graph
[legend]

Public Member Functions

 PluginServer ()
 PluginServer (char *path)
 PluginServer (PluginServer &)
virtual ~PluginServer ()
int open_plugin (int master, Preferences *preferences, EDL *edl, Plugin *plugin, int lad_index)
int close_plugin ()
void dump ()
void render_stop ()
void set_title (char *string)
void generate_display_title (char *string)
KeyFrameget_prev_keyframe (int64_t position)
KeyFrameget_next_keyframe (int64_t position)
void get_camera (float *x, float *y, float *z, int64_t position, int direction)
void get_projector (float *x, float *y, float *z, int64_t position, int direction)
int get_interpolation_type ()
KeyFrameget_keyframe ()
Themenew_theme ()
Themeget_theme ()
void save_data (KeyFrame *keyframe)
void sync_parameters ()
int set_realtime_sched ()
int get_gui_status ()
void raise_window ()
void show_gui ()
void update_gui ()
void update_title ()
void client_side_close ()
void set_use_opengl (int value, VideoDevice *vdevice)
int get_use_opengl ()
int gui_open ()
void run_opengl (PluginClient *plugin_client)
int set_string (char *string)
int init_realtime (int realtime_sched, int total_in_buffers, int buffer_size)
void process_transition (VFrame *input, VFrame *output, int64_t current_position, int64_t total_len)
void process_transition (double *input, double *output, int64_t current_position, int64_t fragment_size, int64_t total_len)
void process_buffer (VFrame **frame, int64_t current_position, double frame_rate, int64_t total_len, int direction)
void process_buffer (double **buffer, int64_t current_position, int64_t fragment_size, int64_t sample_rate, int64_t total_len, int direction)
void send_render_gui (void *data)
void send_render_gui (void *data, int size)
void render_gui (void *data)
void render_gui (void *data, int size)
int set_automation (FloatAutos *autos, FloatAuto **start_auto, FloatAuto **end_auto, int reverse)
int arm_buffer (int buffer_number, int64_t in_fragment_position, int64_t out_fragment_position, int double_buffer_in, int double_buffer_out)
int detach_buffers ()
int send_buffer_info ()
int start_loop (int64_t start, int64_t end, int64_t buffer_size, int total_buffers)
int process_loop (VFrame **buffers, int64_t &write_length)
int process_loop (double **buffers, int64_t &write_length)
int stop_loop ()
int read_frame (VFrame *buffer, int channel, int64_t start_position)
int read_samples (double *buffer, int channel, int64_t start_position, int64_t total_samples)
int read_frame (VFrame *buffer, int channel, int64_t start_position, double frame_rate, int use_opengl=0)
int read_samples (double *buffer, int channel, int64_t sample_rate, int64_t start_position, int64_t len)
int get_parameters (int64_t start, int64_t end, int channels)
int get_samplerate ()
double get_framerate ()
int get_project_samplerate ()
double get_project_framerate ()
int set_path (char *path)
void set_mwindow (MWindow *mwindow)
void set_attachmentpoint (AttachmentPoint *attachmentpoint)
void set_keyframe (KeyFrame *keyframe)
void set_prompt (MenuEffectPrompt *prompt)
int set_interactive ()
int set_error ()
MainProgressBarstart_progress (char *string, int64_t length)
void append_module (Module *module)
void append_node (VirtualNode *node)
void reset_nodes ()
int64_t get_written_samples ()
int64_t get_written_frames ()

Data Fields

int64_t out_buffer_size
int64_t in_buffer_size
int total_in_buffers
int total_out_buffers
ArrayList< int > ring_buffers_in
ArrayList< int > ring_buffers_out
FloatAuto ** start_auto
FloatAuto ** end_auto
FloatAutosautos
int reverse
ArrayList< int64_t > realtime_in_size
ArrayList< int64_t > realtime_out_size
ArrayList< int64_t > offset_in_render
ArrayList< int64_t > offset_out_render
ArrayList< int64_t > double_buffer_in_render
ArrayList< int64_t > double_buffer_out_render
int shared_buffers
int new_buffers
int plugin_open
int realtime
int multichannel
int fileio
int synthesis
int audio
int video
int theme
int uses_gui
int transition
char * title
int64_t written_samples
int64_t written_frames
char * path
char * data_text
char * args [4]
int total_args
int error_flag
ArrayList< Module * > * modules
ArrayList< VirtualNode * > * nodes
AttachmentPointattachmentpoint
MWindowmwindow
KeyFramekeyframe
AttachmentPointattachment
Pluginplugin
EDLedl
Preferencespreferences
MenuEffectPromptprompt
int gui_on
VFrametemp_frame
VFramepicon

Private Member Functions

int reset_parameters ()
int cleanup_plugin ()

Private Attributes

PluginClientclient
void * plugin_fd
PluginClient *(* new_plugin )(PluginServer *)
int is_lad
LADSPA_Descriptor_Function lad_descriptor_function
const LADSPA_Descriptorlad_descriptor
int use_opengl
VideoDevicevdevice

Friends

class PluginAClientLAD
class PluginAClientConfig
class PluginAClientWindow

Detailed Description

Definition at line 40 of file pluginserver.h.


Constructor & Destructor Documentation

PluginServer::PluginServer (  ) 

Definition at line 44 of file pluginserver.C.

References modules, nodes, and reset_parameters().

Here is the call graph for this function:

PluginServer::PluginServer ( char *  path  ) 

Definition at line 51 of file pluginserver.C.

References modules, nodes, reset_parameters(), and set_path().

Here is the call graph for this function:

PluginServer::PluginServer ( PluginServer that  ) 

PluginServer::~PluginServer (  )  [virtual]

Definition at line 98 of file pluginserver.C.

References close_plugin(), modules, nodes, path, picon, and title.

Here is the call graph for this function:


Member Function Documentation

int PluginServer::open_plugin ( int  master,
Preferences preferences,
EDL edl,
Plugin plugin,
int  lad_index 
)

int PluginServer::close_plugin (  ) 

void PluginServer::dump (  ) 

Definition at line 1032 of file pluginserver.C.

References path, and title.

Referenced by AttachmentPoint::dump().

void PluginServer::render_stop (  ) 

Definition at line 331 of file pluginserver.C.

References client, and PluginClient::render_stop().

Referenced by AttachmentPoint::render_stop().

Here is the call graph for this function:

void PluginServer::set_title ( char *  string  ) 

Definition at line 183 of file pluginserver.C.

References title.

Referenced by open_plugin().

void PluginServer::generate_display_title ( char *  string  ) 

Definition at line 190 of file pluginserver.C.

References plugin, title, Track::title, and Edit::track.

Referenced by PluginClient::update_display_title().

KeyFrame * PluginServer::get_prev_keyframe ( int64_t  position  ) 

Definition at line 952 of file pluginserver.C.

References client, PluginClient::direction, Plugin::get_prev_keyframe(), keyframe, and plugin.

Referenced by PluginClient::get_prev_keyframe().

Here is the call graph for this function:

KeyFrame * PluginServer::get_next_keyframe ( int64_t  position  ) 

Definition at line 962 of file pluginserver.C.

References client, PluginClient::direction, Plugin::get_next_keyframe(), keyframe, and plugin.

Referenced by PluginClient::get_next_keyframe().

Here is the call graph for this function:

void PluginServer::get_camera ( float *  x,
float *  y,
float *  z,
int64_t  position,
int  direction 
)

Definition at line 980 of file pluginserver.C.

References Track::automation, Automation::get_camera(), plugin, and Edit::track.

Referenced by PluginClient::get_camera().

Here is the call graph for this function:

void PluginServer::get_projector ( float *  x,
float *  y,
float *  z,
int64_t  position,
int  direction 
)

Definition at line 986 of file pluginserver.C.

References Track::automation, Automation::get_projector(), plugin, and Edit::track.

Referenced by PluginClient::get_projector().

Here is the call graph for this function:

int PluginServer::get_interpolation_type (  ) 

KeyFrame * PluginServer::get_keyframe (  ) 

Definition at line 972 of file pluginserver.C.

References Plugin::get_keyframe(), keyframe, and plugin.

Referenced by PluginClient::send_configure_change().

Here is the call graph for this function:

Theme * PluginServer::new_theme (  ) 

Definition at line 998 of file pluginserver.C.

References client, PluginClient::new_theme(), and theme.

Referenced by MWindow::init_theme().

Here is the call graph for this function:

Theme * PluginServer::get_theme (  ) 

Definition at line 1008 of file pluginserver.C.

References mwindow, and MWindow::theme.

Referenced by PluginClient::get_theme().

void PluginServer::save_data ( KeyFrame keyframe  ) 

Definition at line 946 of file pluginserver.C.

References client, plugin_open, and PluginClient::save_data().

Referenced by MWindow::insert_effect(), and MenuEffectThread::run().

Here is the call graph for this function:

void PluginServer::sync_parameters (  ) 

int PluginServer::set_realtime_sched (  ) 

Definition at line 571 of file pluginserver.C.

int PluginServer::get_gui_status (  ) 

Definition at line 737 of file pluginserver.C.

References GUI_OFF, GUI_ON, plugin, and Plugin::show.

Referenced by PluginClient::get_gui_status().

void PluginServer::raise_window (  ) 

Definition at line 745 of file pluginserver.C.

References client, plugin_open, and PluginClient::raise_window().

Referenced by MWindow::show_plugin().

Here is the call graph for this function:

void PluginServer::show_gui (  ) 

void PluginServer::update_gui (  ) 

void PluginServer::update_title (  ) 

Definition at line 796 of file pluginserver.C.

References client, plugin_open, and PluginClient::update_display_title().

Referenced by MWindow::update_plugin_titles().

Here is the call graph for this function:

void PluginServer::client_side_close (  ) 

Definition at line 317 of file pluginserver.C.

References MWindow::hide_plugin(), BC_WindowBase::lock_window(), mwindow, plugin, prompt, BC_WindowBase::set_done(), and BC_WindowBase::unlock_window().

Referenced by PluginClient::client_side_close().

Here is the call graph for this function:

void PluginServer::set_use_opengl ( int  value,
VideoDevice vdevice 
)

Definition at line 818 of file pluginserver.C.

References use_opengl.

Referenced by VModule::render(), and VAttachmentPoint::render().

int PluginServer::get_use_opengl (  ) 

Definition at line 824 of file pluginserver.C.

References use_opengl.

Referenced by PluginClient::get_use_opengl().

int PluginServer::gui_open (  ) 

Definition at line 812 of file pluginserver.C.

References attachmentpoint, and AttachmentPoint::gui_open().

Referenced by PluginClient::gui_open().

Here is the call graph for this function:

void PluginServer::run_opengl ( PluginClient plugin_client  ) 

Definition at line 830 of file pluginserver.C.

References VideoDevice::get_output_base(), and vdevice.

Referenced by PluginVClient::run_opengl().

Here is the call graph for this function:

int PluginServer::set_string ( char *  string  ) 

Definition at line 804 of file pluginserver.C.

References client, plugin_open, and PluginClient::set_string_client().

Here is the call graph for this function:

int PluginServer::init_realtime ( int  realtime_sched,
int  total_in_buffers,
int  buffer_size 
)

Definition at line 338 of file pluginserver.C.

References client, PluginClient::plugin_init_realtime(), plugin_open, and total_out_buffers.

Referenced by AttachmentPoint::render_init(), PluginArray::start_plugins(), and Module::update_transition().

Here is the call graph for this function:

void PluginServer::process_transition ( VFrame input,
VFrame output,
int64_t  current_position,
int64_t  total_len 
)