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 
)

void PluginServer::process_transition ( double *  input,
double *  output,
int64_t  current_position,
int64_t  fragment_size,
int64_t  total_len 
)

Definition at line 382 of file pluginserver.C.

References client, plugin_open, PluginAClient::process_realtime(), PluginClient::source_position, PluginClient::source_start, and PluginClient::total_len.

Here is the call graph for this function:

void PluginServer::process_buffer ( VFrame **  frame,
int64_t  current_position,
double  frame_rate,
int64_t  total_len,
int  direction 
)

void PluginServer::process_buffer ( double **  buffer,
int64_t  current_position,
int64_t  fragment_size,
int64_t  sample_rate,
int64_t  total_len,
int  direction 
)

void PluginServer::send_render_gui ( void *  data  ) 

Definition at line 478 of file pluginserver.C.

References attachmentpoint, and AttachmentPoint::render_gui().

Referenced by PluginVClient::send_render_gui(), and PluginAClient::send_render_gui().

Here is the call graph for this function:

void PluginServer::send_render_gui ( void *  data,
int  size 
)

Definition at line 484 of file pluginserver.C.

References attachmentpoint, and AttachmentPoint::render_gui().

Here is the call graph for this function:

void PluginServer::render_gui ( void *  data  ) 

Definition at line 490 of file pluginserver.C.

References client, and PluginClient::plugin_render_gui().

Referenced by MWindow::render_plugin_gui().

Here is the call graph for this function:

void PluginServer::render_gui ( void *  data,
int  size 
)

Definition at line 495 of file pluginserver.C.

References client, and PluginClient::plugin_render_gui().

Here is the call graph for this function:

int PluginServer::set_automation ( FloatAutos autos,
FloatAuto **  start_auto,
FloatAuto **  end_auto,
int  reverse 
)

Definition at line 936 of file pluginserver.C.

int PluginServer::arm_buffer ( int  buffer_number,
int64_t  in_fragment_position,
int64_t  out_fragment_position,
int  double_buffer_in,
int  double_buffer_out 
)

int PluginServer::detach_buffers (  ) 

int PluginServer::send_buffer_info (  ) 

int PluginServer::start_loop ( int64_t  start,
int64_t  end,
int64_t  buffer_size,
int  total_buffers 
)

Definition at line 592 of file pluginserver.C.

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

Referenced by PluginArray::start_plugins().

Here is the call graph for this function:

int PluginServer::process_loop ( VFrame **  buffers,
int64_t &  write_length 
)

Definition at line 579 of file pluginserver.C.

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

Referenced by VPluginArray::process_loop(), and APluginArray::process_loop().

Here is the call graph for this function:

int PluginServer::process_loop ( double **  buffers,
int64_t &  write_length 
)

Definition at line 585 of file pluginserver.C.

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

Here is the call graph for this function:

int PluginServer::stop_loop (  ) 

Definition at line 602 of file pluginserver.C.

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

Referenced by PluginArray::stop_plugins().

Here is the call graph for this function:

int PluginServer::read_frame ( VFrame buffer,
int  channel,
int64_t  start_position 
)

int PluginServer::read_samples ( double *  buffer,
int  channel,
int64_t  start_position,
int64_t  total_samples 
)

int PluginServer::read_frame ( VFrame buffer,
int  channel,
int64_t  start_position,
double  frame_rate,
int  use_opengl = 0 
)

Definition at line 635 of file pluginserver.C.

References modules, multichannel, nodes, VFrame::pop_next_effect(), VFrame::push_next_effect(), title, ArrayList< TYPE >::total, and ArrayList< TYPE >::values.

Here is the call graph for this function:

int PluginServer::read_samples ( double *  buffer,
int  channel,
int64_t  sample_rate,
int64_t  start_position,
int64_t  len 
)

int PluginServer::get_parameters ( int64_t  start,
int64_t  end,
int  channels 
)

int PluginServer::get_samplerate (  ) 

Definition at line 838 of file pluginserver.C.

References audio, client, MWindow::edl, PluginClient::get_samplerate(), mwindow, plugin_open, EDLSession::sample_rate, and EDL::session.

Referenced by MenuEffectThread::run().

Here is the call graph for this function:

double PluginServer::get_framerate (  ) 

Definition at line 856 of file pluginserver.C.

References client, MWindow::edl, EDLSession::frame_rate, PluginClient::get_framerate(), mwindow, plugin_open, EDL::session, and video.

Referenced by MenuEffectThread::run().

Here is the call graph for this function:

int PluginServer::get_project_samplerate (  ) 

double PluginServer::get_project_framerate (  ) 

int PluginServer::set_path ( char *  path  ) 

Definition at line 176 of file pluginserver.C.

Referenced by PluginServer().

void PluginServer::set_mwindow ( MWindow mwindow  ) 

void PluginServer::set_attachmentpoint ( AttachmentPoint attachmentpoint  ) 

Definition at line 160 of file pluginserver.C.

Referenced by AttachmentPoint::render_init().

void PluginServer::set_keyframe ( KeyFrame keyframe  ) 

Definition at line 165 of file pluginserver.C.

Referenced by MenuEffectThread::run(), and PluginArray::start_plugins().

void PluginServer::set_prompt ( MenuEffectPrompt prompt  ) 

Definition at line 170 of file pluginserver.C.

Referenced by MenuEffectThread::run().

int PluginServer::set_interactive (  ) 

Definition at line 543 of file pluginserver.C.

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

Referenced by PluginArray::start_plugins().

Here is the call graph for this function:

int PluginServer::set_error (  ) 

Definition at line 565 of file pluginserver.C.

References error_flag.

MainProgressBar * PluginServer::start_progress ( char *  string,
int64_t  length 
)

void PluginServer::append_module ( Module module  ) 

Definition at line 550 of file pluginserver.C.

References ArrayList< TYPE >::append(), and modules.

Referenced by PluginArray::start_plugins().

Here is the call graph for this function:

void PluginServer::append_node ( VirtualNode node  ) 

Definition at line 555 of file pluginserver.C.

References ArrayList< TYPE >::append(), and nodes.

Referenced by AttachmentPoint::render_init().

Here is the call graph for this function:

void PluginServer::reset_nodes (  ) 

Definition at line 560 of file pluginserver.C.

References nodes, and ArrayList< TYPE >::remove_all().

Referenced by AttachmentPoint::render_init().

Here is the call graph for this function:

int64_t PluginServer::get_written_samples (  ) 

Definition at line 508 of file pluginserver.C.

References plugin_open, and written_samples.

int64_t PluginServer::get_written_frames (  ) 

Definition at line 514 of file pluginserver.C.

References plugin_open, and written_frames.

int PluginServer::reset_parameters (  )  [private]

int PluginServer::cleanup_plugin (  )  [private]


Friends And Related Function Documentation

friend class PluginAClientLAD [friend]

Definition at line 49 of file pluginserver.h.

Referenced by open_plugin().

friend class PluginAClientConfig [friend]

Definition at line 50 of file pluginserver.h.

friend class PluginAClientWindow [friend]

Definition at line 51 of file pluginserver.h.


Field Documentation

Definition at line 263 of file pluginserver.h.

Referenced by cleanup_plugin(), and detach_buffers().

Definition at line 264 of file pluginserver.h.

Referenced by cleanup_plugin(), and detach_buffers().

Definition at line 265 of file pluginserver.h.

Referenced by cleanup_plugin(), detach_buffers(), and process_buffer().

Definition at line 266 of file pluginserver.h.

Referenced by cleanup_plugin(), detach_buffers(), and init_realtime().

Definition at line 269 of file pluginserver.h.

Referenced by detach_buffers().

Definition at line 270 of file pluginserver.h.

Referenced by detach_buffers().

Definition at line 272 of file pluginserver.h.

Referenced by reset_parameters().

Definition at line 272 of file pluginserver.h.

Referenced by reset_parameters().

Definition at line 273 of file pluginserver.h.

Referenced by reset_parameters().

Definition at line 274 of file pluginserver.h.

Definition at line 277 of file pluginserver.h.

Referenced by detach_buffers().

Definition at line 278 of file pluginserver.h.

Referenced by detach_buffers().

Definition at line 282 of file pluginserver.h.

Referenced by arm_buffer(), and detach_buffers().

Definition at line 283 of file pluginserver.h.

Referenced by arm_buffer(), and detach_buffers().

Definition at line 284 of file pluginserver.h.

Referenced by arm_buffer(), and detach_buffers().

Definition at line 285 of file pluginserver.h.

Referenced by arm_buffer(), and detach_buffers().

Definition at line 288 of file pluginserver.h.

Referenced by cleanup_plugin(), and detach_buffers().

Definition at line 290 of file pluginserver.h.

Referenced by cleanup_plugin().

Definition at line 295 of file pluginserver.h.

Referenced by open_plugin(), PluginServer(), and reset_parameters().

Definition at line 297 of file pluginserver.h.

Referenced by Plugin::is_synthesis(), open_plugin(), PluginServer(), and reset_parameters().

Definition at line 301 of file pluginserver.h.

Referenced by open_plugin(), PluginServer(), reset_parameters(), and MWindow::show_plugin().

Definition at line 307 of file pluginserver.h.

Referenced by cleanup_plugin(), and get_written_samples().

Definition at line 307 of file pluginserver.h.

Referenced by cleanup_plugin(), and get_written_frames().

Definition at line 309 of file pluginserver.h.

Definition at line 310 of file pluginserver.h.

Definition at line 311 of file pluginserver.h.

Definition at line 312 of file pluginserver.h.

Referenced by cleanup_plugin(), and set_error().

Definition at line 315 of file pluginserver.h.

Referenced by append_module(), PluginServer(), read_frame(), read_samples(), and ~PluginServer().

Definition at line 319 of file pluginserver.h.

Referenced by gui_open(), and send_render_gui().

Definition at line 323 of file pluginserver.h.

Referenced by PluginServer().

Definition at line 330 of file pluginserver.h.

Referenced by client_side_close(), and reset_parameters().

Definition at line 331 of file pluginserver.h.

Referenced by cleanup_plugin().

Definition at line 333 of file pluginserver.h.

void* PluginServer::plugin_fd [private]

Definition at line 346 of file pluginserver.h.

Referenced by open_plugin(), PluginServer(), and reset_parameters().

int PluginServer::is_lad [private]

Definition at line 352 of file pluginserver.h.

Referenced by open_plugin(), PluginServer(), and reset_parameters().

Definition at line 353 of file pluginserver.h.

Referenced by open_plugin(), PluginServer(), and reset_parameters().

int PluginServer::use_opengl [private]

Definition at line 357 of file pluginserver.h.

Referenced by reset_parameters(), and run_opengl().


The documentation for this class was generated from the following files:

Generated on Mon Apr 28 14:36:44 2008 for Cinelerra by  doxygen 1.5.5