Main Page | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Class Members | File Members

PluginServer Class Reference

#include <pluginserver.h>

List of all members.

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 set_title (char *string)
void generate_display_title (char *string)
KeyFrameget_prev_keyframe (int64_t position)
KeyFrameget_next_keyframe (int64_t position)
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 ()
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 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 ()

Public Attributes

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
VFrame * temp_frame
VFrame * picon

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

Friends

class PluginAClientLAD
class PluginAClientConfig
class PluginAClientWindow


Detailed Description

Definition at line 39 of file pluginserver.h.


Constructor & Destructor Documentation

PluginServer::PluginServer  ) 
 

Definition at line 42 of file pluginserver.C.

References modules, nodes, and reset_parameters().

PluginServer::PluginServer char *  path  ) 
 

Definition at line 49 of file pluginserver.C.

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

PluginServer::PluginServer PluginServer  ) 
 

Definition at line 57 of file pluginserver.C.

References attachment, audio, fileio, is_lad, keyframe, lad_descriptor, lad_descriptor_function, modules, multichannel, mwindow, new_plugin, nodes, path, plugin_fd, preferences, realtime, reset_parameters(), synthesis, theme, title, uses_gui, and video.

PluginServer::~PluginServer  )  [virtual]
 

Definition at line 96 of file pluginserver.C.

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


Member Function Documentation

void PluginServer::append_module Module module  ) 
 

Definition at line 514 of file pluginserver.C.

References modules.

Referenced by PluginArray::start_plugins().

void PluginServer::append_node VirtualNode node  ) 
 

Definition at line 519 of file pluginserver.C.

References nodes.

Referenced by AttachmentPoint::render_init().

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
 

Definition at line 854 of file pluginserver.C.

References double_buffer_in_render, double_buffer_out_render, offset_in_render, and offset_out_render.

int PluginServer::cleanup_plugin  )  [private]
 

Definition at line 137 of file pluginserver.C.

References error_flag, gui_on, in_buffer_size, new_buffers, out_buffer_size, plugin, plugin_open, shared_buffers, total_in_buffers, total_out_buffers, written_frames, and written_samples.

Referenced by close_plugin(), and reset_parameters().

void PluginServer::client_side_close  ) 
 

Definition at line 313 of file pluginserver.C.

References MWindow::hide_plugin(), mwindow, plugin, and prompt.

Referenced by PluginClient::client_side_close().

int PluginServer::close_plugin  ) 
 

Definition at line 297 of file pluginserver.C.

References cleanup_plugin(), client, and plugin_open.

Referenced by APluginThread::detach(), MWindow::init_plugin_path(), MWindow::init_theme(), MWindow::insert_effect(), Module::update_transition(), Module::~Module(), and ~PluginServer().

int PluginServer::detach_buffers  ) 
 

Definition at line 834 of file pluginserver.C.

References double_buffer_in_render, double_buffer_out_render, in_buffer_size, offset_in_render, offset_out_render, out_buffer_size, realtime_in_size, realtime_out_size, ring_buffers_in, ring_buffers_out, shared_buffers, total_in_buffers, and total_out_buffers.

void PluginServer::dump  ) 
 

Definition at line 951 of file pluginserver.C.

References path, and title.

Referenced by AttachmentPoint::dump().

void PluginServer::generate_display_title char *  string  ) 
 

Definition at line 186 of file pluginserver.C.

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

Referenced by PluginClient::update_display_title().

double PluginServer::get_framerate  ) 
 

Definition at line 787 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().

int PluginServer::get_gui_status  ) 
 

Definition at line 691 of file pluginserver.C.

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

Referenced by PluginClient::get_gui_status().

int PluginServer::get_interpolation_type  ) 
 

Definition at line 912 of file pluginserver.C.

References Edit::edl, EDLSession::interpolation_type, plugin, and EDL::session.

Referenced by PluginClient::get_interpolation_type().

KeyFrame * PluginServer::get_keyframe  ) 
 

Definition at line 903 of file pluginserver.C.

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

Referenced by PluginClient::send_configure_change().

KeyFrame * PluginServer::get_next_keyframe int64_t  position  ) 
 

Definition at line 893 of file pluginserver.C.

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

Referenced by PluginClient::get_next_keyframe().

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

Definition at line 495 of file pluginserver.C.

References client, PluginClient::end, PluginClient::plugin_get_parameters(), plugin_open, PluginClient::source_start, PluginClient::start, PluginClient::total_in_buffers, and PluginClient::total_len.

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

KeyFrame * PluginServer::get_prev_keyframe int64_t  position  ) 
 

Definition at line 883 of file pluginserver.C.

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

Referenced by PluginClient::get_prev_keyframe().

double PluginServer::get_project_framerate  ) 
 

Definition at line 818 of file pluginserver.C.

References edl, MWindow::edl, EDLSession::frame_rate, mwindow, and EDL::session.

Referenced by PluginClient::get_project_framerate().

int PluginServer::get_project_samplerate  ) 
 

Definition at line 804 of file pluginserver.C.

References edl, MWindow::edl, mwindow, EDLSession::sample_rate, and EDL::session.

Referenced by PluginClient::get_project_samplerate().

int PluginServer::get_samplerate  ) 
 

Definition at line 769 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().

Theme * PluginServer::get_theme  ) 
 

Definition at line 927 of file pluginserver.C.

References mwindow, and MWindow::theme.

Referenced by PluginClient::get_theme().

int64_t PluginServer::get_written_frames  ) 
 

Definition at line 478 of file pluginserver.C.

References plugin_open, and written_frames.

int64_t PluginServer::get_written_samples  ) 
 

Definition at line 472 of file pluginserver.C.

References plugin_open, and written_samples.

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

Definition at line 327 of file pluginserver.C.

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

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

Theme * PluginServer::new_theme  ) 
 

Definition at line 917 of file pluginserver.C.

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

Referenced by MWindow::init_theme().

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

Definition at line 195 of file pluginserver.C.

References audio, client, fileio, PluginClient::is_audio(), PluginClient::is_fileio(), is_lad, PluginClient::is_multichannel(), PluginClient::is_realtime(), PluginClient::is_synthesis(), PluginClient::is_theme(), PluginClient::is_transition(), PluginClient::is_video(), lad_descriptor, lad_descriptor_function, multichannel, PluginClient::new_picon(), new_plugin, path, picon, plugin_fd, plugin_open, PluginClient::plugin_title(), PluginAClientLAD, PLUGINSERVER_IS_LAD, PLUGINSERVER_NOT_RECOGNIZED, PLUGINSERVER_OK, realtime, set_title(), synthesis, theme, transition, PluginClient::uses_gui(), uses_gui, and video.

Referenced by APluginThread::attach(), MWindow::init_plugin_path(), MWindow::init_theme(), MWindow::insert_effect(), MenuEffectThread::run(), MWindow::show_plugin(), PluginArray::start_plugins(), and Module::update_transition().

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

Definition at line 410 of file pluginserver.C.

References client, PluginClient::direction, multichannel, plugin, plugin_open, PluginAClient::process_buffer(), PluginAClient::project_sample_rate, PluginAClient::sample_rate, PluginClient::source_position, PluginClient::source_start, Edit::startproject, and PluginClient::total_len.

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

Definition at line 378 of file pluginserver.C.

References PluginVClient::age_temp(), client, PluginClient::direction, PluginVClient::frame_rate, multichannel, plugin, plugin_open, PluginVClient::process_buffer(), PluginVClient::project_frame_rate, PluginClient::source_position, PluginClient::source_start, Edit::startproject, and PluginClient::total_len.

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

Definition at line 549 of file pluginserver.C.

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

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

Definition at line 543 of file pluginserver.C.

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

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

Definition at line 360 of file pluginserver.C.

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

void PluginServer::process_transition VFrame *  input,
VFrame *  output,
int64_t  current_position,
int64_t  total_len
 

Definition at line 345 of file pluginserver.C.

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

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

void PluginServer::raise_window  ) 
 

Definition at line 699 of file pluginserver.C.

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

int PluginServer::read_frame VFrame *  buffer,
int  channel,
int64_t  start_position,
double  frame_rate
 

Definition at line 599 of file pluginserver.C.

References modules, multichannel, and nodes.

int PluginServer::read_frame VFrame *  buffer,
int  channel,
int64_t  start_position
 

Definition at line 572 of file pluginserver.C.

References MWindow::edl, EDLSession::frame_rate, modules, mwindow, and EDL::session.

Referenced by PluginVClient::read_frame().

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

Definition at line 641 of file pluginserver.C.

References modules, multichannel, and nodes.

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

Definition at line 585 of file pluginserver.C.

References MWindow::edl, modules, mwindow, EDLSession::sample_rate, and EDL::session.

Referenced by PluginAClient::read_samples().

void PluginServer::render_gui void *  data,
int  size
 

Definition at line 459 of file pluginserver.C.

References client, and PluginClient::plugin_render_gui().

void PluginServer::render_gui void *  data  ) 
 

Definition at line 454 of file pluginserver.C.

References client, and PluginClient::plugin_render_gui().

void PluginServer::reset_nodes  ) 
 

Definition at line 524 of file pluginserver.C.

References nodes.

Referenced by AttachmentPoint::render_init().

int PluginServer::reset_parameters  )  [private]
 

Definition at line 107 of file pluginserver.C.

References audio, autos, cleanup_plugin(), client, edl, end_auto, fileio, is_lad, keyframe, lad_descriptor, lad_descriptor_function, multichannel, mwindow, new_plugin, path, picon, plugin, plugin_fd, preferences, prompt, realtime, start_auto, synthesis, theme, title, transition, uses_gui, and video.

Referenced by PluginServer().

void PluginServer::save_data KeyFrame keyframe  ) 
 

Definition at line 877 of file pluginserver.C.

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

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

int PluginServer::send_buffer_info  ) 
 

void PluginServer::send_render_gui void *  data,
int  size
 

Definition at line 448 of file pluginserver.C.

References attachmentpoint, and AttachmentPoint::render_gui().

void PluginServer::send_render_gui void *  data  ) 
 

Definition at line 442 of file pluginserver.C.

References attachmentpoint, and AttachmentPoint::render_gui().

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

void PluginServer::set_attachmentpoint AttachmentPoint attachmentpoint  ) 
 

Definition at line 156 of file pluginserver.C.

Referenced by AttachmentPoint::render_init().

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

Definition at line 867 of file pluginserver.C.

int PluginServer::set_error  ) 
 

Definition at line 529 of file pluginserver.C.

References error_flag.

int PluginServer::set_interactive  ) 
 

Definition at line 507 of file pluginserver.C.

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

Referenced by PluginArray::start_plugins().

void PluginServer::set_keyframe KeyFrame keyframe  ) 
 

Definition at line 161 of file pluginserver.C.

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

void PluginServer::set_mwindow MWindow mwindow  ) 
 

Definition at line 151 of file pluginserver.C.

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

int PluginServer::set_path char *  path  ) 
 

Definition at line 172 of file pluginserver.C.

Referenced by PluginServer().

void PluginServer::set_prompt MenuEffectPrompt prompt  ) 
 

Definition at line 166 of file pluginserver.C.

Referenced by MenuEffectThread::run().

int PluginServer::set_realtime_sched  ) 
 

Definition at line 535 of file pluginserver.C.

int PluginServer::set_string char *  string  ) 
 

Definition at line 758 of file pluginserver.C.

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

void PluginServer::set_title char *  string  ) 
 

Definition at line 179 of file pluginserver.C.

References title.

Referenced by open_plugin().

void PluginServer::show_gui  ) 
 

Definition at line 705 of file pluginserver.C.

References audio, client, MWindow::edl, EDLSession::frame_rate, LocalSession::get_selectionstart(), Edit::length, EDL::local_session, mwindow,