RenderEngine Class Reference

#include <renderengine.h>

Inherits Thread.

Collaboration diagram for RenderEngine:

Collaboration graph
[legend]

Public Member Functions

 RenderEngine (PlaybackEngine *playback_engine, Preferences *preferences, TransportCommand *command, Canvas *output, ArrayList< PluginServer * > *plugindb, ChannelDB *channeldb)
 ~RenderEngine ()
void get_duty ()
void create_render_threads ()
void arm_render_threads ()
void start_render_threads ()
void wait_render_threads ()
void interrupt_playback ()
int get_output_w ()
int get_output_h ()
int brender_available (int position, int direction)
Channelget_current_channel ()
double get_tracking_position ()
PluginServerscan_plugindb (char *title, int data_type)
CICacheget_acache ()
CICacheget_vcache ()
void set_acache (CICache *cache)
void set_vcache (CICache *cache)
void get_output_levels (double *levels, int64_t position)
void get_module_levels (ArrayList< double > *module_levels, int64_t position)
void run ()
int arm_command (TransportCommand *command, int &current_vchannel, int &current_achannel)
int start_command ()
int open_output ()
int close_output ()
int64_t sync_position ()
void reset_sync_position ()
int64_t session_position ()
void update_framerate (float framerate)
 RenderEngine (MWindow *mwindow, AudioDevice *audio=0, VideoDevice *video=0, PlaybackEngine *playbackengine=0)
int reset_parameters ()
int arm_playback_audio (int64_t input_length, int64_t amodule_render_fragment, int64_t playback_buffer, int64_t output_length)
int arm_playback_video (int every_frame, int64_t read_length, int64_t output_length, int track_w, int track_h, int output_w, int output_h)
int64_t get_correction_factor (int reset)
int start_video ()

Data Fields

TransportCommandcommand
EDLedl
PlaybackConfigconfig
PlaybackEngineplayback_engine
Preferencespreferences
Canvasoutput
Conditioninput_lock
Conditionstart_lock
Conditionoutput_lock
Conditionfirst_frame_lock
Mutexinterrupt_lock
int show_tc
int done
AudioDeviceaudio
VideoDevicevideo
ARenderarender
VRendervrender
int do_audio
int do_video
Timer timer
float actual_frame_rate
int interrupted
ArrayList< PluginServer * > * plugindb
ChannelDBchanneldb
int64_t fragment_len
int64_t adjusted_fragment_len
CICacheaudio_cache
CICachevideo_cache
int follow_loop
int infinite
int64_t start_position
int64_t end_position
int64_t current_sample
int every_frame
MWindowmwindow

Detailed Description

Definition at line 24 of file renderengine.h.


Constructor & Destructor Documentation

RenderEngine::RenderEngine ( PlaybackEngine playback_engine,
Preferences preferences,
TransportCommand command,
Canvas output,
ArrayList< PluginServer * > *  plugindb,
ChannelDB channeldb 
)

RenderEngine::~RenderEngine (  ) 

Definition at line 72 of file renderengine.C.

References arender, close_output(), command, config, edl, first_frame_lock, input_lock, interrupt_lock, output_lock, preferences, start_lock, and vrender.

Here is the call graph for this function:

RenderEngine::RenderEngine ( MWindow mwindow,
AudioDevice audio = 0,
VideoDevice video = 0,
PlaybackEngine playbackengine = 0 
)


Member Function Documentation

void RenderEngine::get_duty (  ) 

void RenderEngine::create_render_threads (  ) 

Definition at line 184 of file renderengine.C.

References arender, do_audio, do_video, and vrender.

Referenced by arm_command().

void RenderEngine::arm_render_threads (  ) 

Definition at line 405 of file renderengine.C.

References arender, CommonRender::arm_command(), ARender::arm_command(), do_audio, do_video, and vrender.

Referenced by arm_command().

Here is the call graph for this function:

void RenderEngine::start_render_threads (  ) 

Definition at line 419 of file renderengine.C.

References arender, do_audio, do_video, CommonRender::start_command(), timer, Timer::update(), and vrender.

Referenced by run().

Here is the call graph for this function:

void RenderEngine::wait_render_threads (  ) 

Definition at line 441 of file renderengine.C.

References arender, do_audio, do_video, and vrender.

Referenced by run().

void RenderEngine::interrupt_playback (  ) 

int RenderEngine::get_output_w (  ) 

Definition at line 198 of file renderengine.C.

References edl, EDLSession::output_w, and EDL::session.

Referenced by open_output().

int RenderEngine::get_output_h (  ) 

Definition at line 203 of file renderengine.C.

References edl, EDLSession::output_h, and EDL::session.

Referenced by open_output().

int RenderEngine::brender_available ( int  position,
int  direction 
)

Definition at line 208 of file renderengine.C.

References PlaybackEngine::brender_available(), and playback_engine.

Referenced by VRender::get_use_vconsole().

Here is the call graph for this function:

Channel * RenderEngine::get_current_channel (  ) 

Definition at line 221 of file renderengine.C.

References VideoOutConfig::buz_out_channel, channeldb, config, VideoOutConfig::driver, ChannelDB::get(), ChannelDB::size(), and PlaybackConfig::vconfig.

Referenced by open_output().

Here is the call graph for this function:

double RenderEngine::get_tracking_position (  ) 

Definition at line 269 of file renderengine.C.

References PlaybackEngine::get_tracking_position(), and playback_engine.

Here is the call graph for this function:

PluginServer * RenderEngine::scan_plugindb ( char *  title,
int  data_type 
)

CICache * RenderEngine::get_acache (  ) 

Definition at line 242 of file renderengine.C.

References audio_cache, PlaybackEngine::audio_cache, and playback_engine.

Referenced by AModule::get_cache().

CICache * RenderEngine::get_vcache (  ) 

void RenderEngine::set_acache ( CICache cache  ) 

Definition at line 258 of file renderengine.C.

References audio_cache.

Referenced by PackageRenderer::create_engine().

void RenderEngine::set_vcache ( CICache cache  ) 

Definition at line 263 of file renderengine.C.

References video_cache.

Referenced by PackageRenderer::create_engine().

void RenderEngine::get_output_levels ( double *  levels,
int64_t  position 
)

Definition at line 491 of file renderengine.C.

References arender, ARender::audio_out, do_audio, ARender::get_history_number(), ARender::level_history, ARender::level_samples, and MAXCHANNELS.

Referenced by PlaybackEngine::get_output_levels().

Here is the call graph for this function:

void RenderEngine::get_module_levels ( ArrayList< double > *  module_levels,
int64_t  position 
)

Definition at line 505 of file renderengine.C.

References ArrayList< TYPE >::append(), arender, do_audio, ARender::get_history_number(), CommonRender::modules, and CommonRender::total_modules.

Referenced by PlaybackEngine::get_module_levels().

Here is the call graph for this function:

void RenderEngine::run (  )  [virtual]

int RenderEngine::arm_command ( TransportCommand command,
int &  current_vchannel,
int &  current_achannel 
)

int RenderEngine::start_command (  ) 

Definition at line 392 of file renderengine.C.

References command, interrupt_lock, Condition::lock(), Mutex::lock(), TransportCommand::realtime, Thread::start(), start_lock, and Condition::unlock().

Referenced by PlaybackEngine::start_render_engine().

Here is the call graph for this function:

int RenderEngine::open_output (  ) 

int RenderEngine::close_output (  ) 

Definition at line 471 of file renderengine.C.

References audio, VideoDevice::close_all(), AudioDevice::close_all(), and video.

Referenced by run(), and ~RenderEngine().

Here is the call graph for this function:

int64_t RenderEngine::sync_position (  ) 

Definition at line 360 of file renderengine.C.

References audio, AudioDevice::current_position(), do_audio, do_video, edl, Timer::get_scaled_difference(), EDLSession::sample_rate, EDL::session, and timer.

Referenced by VRender::run().

Here is the call graph for this function:

void RenderEngine::reset_sync_position (  ) 

Definition at line 355 of file renderengine.C.

References timer, and Timer::update().

Referenced by VRender::run().

Here is the call graph for this function:

int64_t RenderEngine::session_position (  ) 

void RenderEngine::update_framerate ( float  framerate  ) 

int RenderEngine::reset_parameters (  ) 

Definition at line 603 of file renderengine.C.

References do_audio, do_video, done, end_position, follow_loop, infinite, and start_position.

Referenced by RenderEngine().

int RenderEngine::arm_playback_audio ( int64_t  input_length,
int64_t  amodule_render_fragment,
int64_t  playback_buffer,
int64_t  output_length 
)

Definition at line 615 of file renderengine.C.

References arender, ARender::arm_playback(), current_sample, and do_audio.

Here is the call graph for this function:

int RenderEngine::arm_playback_video ( int  every_frame,
int64_t  read_length,
int64_t  output_length,
int  track_w,
int  track_h,
int  output_w,
int  output_h 
)

Definition at line 631 of file renderengine.C.

References do_video, and vrender.

int64_t RenderEngine::get_correction_factor ( int  reset  ) 

Definition at line 661 of file renderengine.C.

References every_frame, and BC_WindowBase::x.

int RenderEngine::start_video (  ) 

Definition at line 653 of file renderengine.C.

References VRender::start_playback(), VideoDevice::start_playback(), video, and vrender.

Here is the call graph for this function:


Field Documentation

Definition at line 89 of file renderengine.h.

Referenced by open_output().

Definition at line 93 of file renderengine.h.

Referenced by arm_command(), RenderEngine(), run(), and ~RenderEngine().

Definition at line 95 of file renderengine.h.

Referenced by RenderEngine(), run(), start_command(), and ~RenderEngine().

Definition at line 96 of file renderengine.h.

Referenced by RenderEngine(), and ~RenderEngine().

Definition at line 100 of file renderengine.h.

Referenced by interrupt_playback(), RenderEngine(), run(), start_command(), and ~RenderEngine().

Definition at line 105 of file renderengine.h.

Referenced by arm_command(), and reset_parameters().

Definition at line 113 of file renderengine.h.

Referenced by reset_sync_position(), start_render_threads(), and sync_position().

Definition at line 114 of file renderengine.h.

Referenced by RenderEngine().

Definition at line 116 of file renderengine.h.

Referenced by arm_command(), interrupt_playback(), RenderEngine(), and run().

Definition at line 118 of file renderengine.h.

Referenced by scan_plugindb().

Definition at line 120 of file renderengine.h.

Referenced by get_current_channel().

Definition at line 125 of file renderengine.h.

Referenced by arm_command(), ARender::init_output_buffers(), and open_output().

Definition at line 127 of file renderengine.h.

Referenced by get_acache(), RenderEngine(), and set_acache().

Definition at line 127 of file renderengine.h.

Referenced by get_vcache(), RenderEngine(), and set_vcache().

Definition at line 174 of file renderengine.h.

Referenced by reset_parameters().

Definition at line 175 of file renderengine.h.

Referenced by reset_parameters().

Definition at line 177 of file renderengine.h.

Referenced by ARender::arm_playback(), and reset_parameters().

Definition at line 178 of file renderengine.h.

Referenced by ARender::arm_playback(), and reset_parameters().

Definition at line 179 of file renderengine.h.

Referenced by arm_playback_audio().

Definition at line 180 of file renderengine.h.

Referenced by get_correction_factor().


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

Generated on Mon Apr 28 14:40:18 2008 for Cinelerra by  doxygen 1.5.5