#include <renderengine.h>
Inherits Thread.

Definition at line 24 of file renderengine.h.
| RenderEngine::RenderEngine | ( | PlaybackEngine * | playback_engine, | |
| Preferences * | preferences, | |||
| TransportCommand * | command, | |||
| Canvas * | output, | |||
| ArrayList< PluginServer * > * | plugindb, | |||
| ChannelDB * | channeldb | |||
| ) |
Definition at line 25 of file renderengine.C.
References actual_frame_rate, arender, audio, audio_cache, config, EDL::copy_all(), TransportCommand::copy_from(), Preferences::copy_from(), EDL::create_objects(), do_audio, do_video, edl, first_frame_lock, TransportCommand::get_edl(), input_lock, interrupt_lock, interrupted, mwindow, PlaybackEngine::mwindow, output_lock, reset_parameters(), show_tc, start_lock, video, video_cache, and vrender.

| 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.

| RenderEngine::RenderEngine | ( | MWindow * | mwindow, | |
| AudioDevice * | audio = 0, |
|||
| VideoDevice * | video = 0, |
|||
| PlaybackEngine * | playbackengine = 0 | |||
| ) |
| void RenderEngine::get_duty | ( | ) |
Definition at line 165 of file renderengine.C.
References EDLSession::audio_channels, command, do_audio, do_video, edl, Tracks::playable_audio_tracks(), Tracks::playable_video_tracks(), EDL::session, TransportCommand::single_frame(), and EDL::tracks.
Referenced by arm_command().

| 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().

| 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().

| void RenderEngine::wait_render_threads | ( | ) |
| void RenderEngine::interrupt_playback | ( | ) |
Definition at line 454 of file renderengine.C.
References audio, interrupt_lock, VideoDevice::interrupt_playback(), AudioDevice::interrupt_playback(), interrupted, Mutex::lock(), Mutex::unlock(), and video.
Referenced by PlaybackEngine::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().

| 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().

| double RenderEngine::get_tracking_position | ( | ) |
Definition at line 269 of file renderengine.C.
References PlaybackEngine::get_tracking_position(), and playback_engine.

| PluginServer * RenderEngine::scan_plugindb | ( | char * | title, | |
| int | data_type | |||
| ) |
Definition at line 378 of file renderengine.C.
References PluginServer::audio, plugindb, PluginServer::title, ArrayList< TYPE >::total, TRACK_AUDIO, TRACK_VIDEO, ArrayList< TYPE >::values, and PluginServer::video.
Referenced by AttachmentPoint::AttachmentPoint(), Plugin::is_synthesis(), and Module::update_transition().
| 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 | ( | ) |
Definition at line 250 of file renderengine.C.
References playback_engine, video_cache, and PlaybackEngine::video_cache.
Referenced by VModule::get_cache(), VRender::get_colormodel(), and VRender::process_buffer().
| 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().

| 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().

| void RenderEngine::run | ( | ) | [virtual] |
Implements Thread.
Definition at line 523 of file renderengine.C.
References arender, close_output(), PlaybackEngine::command, TransportCommand::command, command, CommonRender::current_position, do_audio, do_video, EDLSession::frame_rate, TransportCommand::get_edl(), PlaybackEngine::get_tracking_position(), input_lock, interrupt_lock, interrupted, PlaybackEngine::is_playing_back, Mutex::lock(), playback_engine, TransportCommand::playbackstart, EDLSession::sample_rate, EDL::session, start_lock, start_render_threads(), STOP, PlaybackEngine::stop_tracking(), PlaybackEngine::tracking_position, Mutex::unlock(), Condition::unlock(), vrender, and wait_render_threads().

| int RenderEngine::arm_command | ( | TransportCommand * | command, | |
| int & | current_vchannel, | |||
| int & | current_achannel | |||
| ) |
Definition at line 88 of file renderengine.C.
References PlaybackConfig::aconfig, adjusted_fragment_len, arm_render_threads(), Preferences::brender_asset, config, PlaybackConfig::copy_from(), TransportCommand::copy_from(), create_render_threads(), do_audio, do_video, done, VideoOutConfig::driver, first_frame_lock, fragment_len, AudioOutConfig::fragment_size, EDLSession::frame_rate, Asset::frame_rate, get_duty(), TransportCommand::get_edl(), TransportCommand::get_speed(), Condition::get_value(), Asset::height, input_lock, interrupted, Asset::layers, Condition::lock(), open_output(), EDLSession::output_h, EDLSession::output_w, EDLSession::playback_config, preferences, TransportCommand::realtime, EDL::session, TransportCommand::single_frame(), Condition::unlock(), Asset::use_header, PlaybackConfig::vconfig, Asset::video_data, and Asset::width.
Referenced by PlaybackEngine::arm_render_engine(), and PackageRenderer::create_engine().

| 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().

| int RenderEngine::open_output | ( | ) |
Definition at line 277 of file renderengine.C.
References PlaybackConfig::aconfig, adjusted_fragment_len, audio, EDLSession::audio_channels, command, config, do_audio, do_video, edl, EDLSession::frame_rate, get_current_channel(), get_output_h(), get_output_w(), VideoDevice::open_output(), AudioDevice::open_output(), output, EDLSession::playback_software_position, preferences, Preferences::processors, EDLSession::real_time_playback, TransportCommand::realtime, EDLSession::sample_rate, EDL::session, VideoDevice::set_adevice(), VideoDevice::set_channel(), VideoDevice::set_cpus(), VideoDevice::set_quality(), AudioDevice::set_software_positioning(), AudioDevice::set_vdevice(), TransportCommand::single_frame(), AudioDevice::start_playback(), PlaybackConfig::vconfig, and video.
Referenced by arm_command().

| 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().

| 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().

| void RenderEngine::reset_sync_position | ( | ) |
Definition at line 355 of file renderengine.C.
References timer, and Timer::update().
Referenced by VRender::run().

| int64_t RenderEngine::session_position | ( | ) |
Definition at line 339 of file renderengine.C.
References audio, command, AudioDevice::current_position(), do_audio, do_video, edl, EDLSession::frame_rate, TransportCommand::get_speed(), EDLSession::sample_rate, EDL::session, VRender::session_frame, and vrender.

| void RenderEngine::update_framerate | ( | float | framerate | ) |
Definition at line 435 of file renderengine.C.
References EDLSession::actual_frame_rate, MWindow::edl, PlaybackEngine::mwindow, playback_engine, MWindow::preferences_thread, EDL::session, and PreferencesThread::update_framerate().
Referenced by VRender::run().

| 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.

| 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 | |||
| ) |
| int64_t RenderEngine::get_correction_factor | ( | int | reset | ) |
| int RenderEngine::start_video | ( | ) |
Definition at line 653 of file renderengine.C.
References VRender::start_playback(), VideoDevice::start_playback(), video, and vrender.

Definition at line 79 of file renderengine.h.
Referenced by CommonRender::advance_position(), CommonRender::arm_command(), ARender::arm_playback(), Module::create_new_attachments(), VirtualNode::expand_as_module(), CommonRender::get_boundaries(), VRender::get_colormodel(), get_duty(), VRender::get_use_vconsole(), VModule::import_frame(), ARender::init_output_buffers(), PlayableTracks::is_playable(), open_output(), VRender::process_buffer(), VirtualAConsole::process_buffer(), VirtualVNode::read_data(), VirtualANode::read_data(), VAttachmentPoint::render(), AAttachmentPoint::render(), VirtualVNode::render_as_module(), VirtualANode::render_as_module(), AttachmentPoint::render_init(), VirtualVNode::render_mask(), VirtualVNode::render_projector(), VRender::run(), run(), ARender::run(), session_position(), start_command(), CommonRender::start_command(), VRender::start_playback(), Module::test_plugins(), VirtualConsole::test_reconfigure(), Module::update_transition(), and ~RenderEngine().
Definition at line 81 of file renderengine.h.
Referenced by CommonRender::advance_position(), ARender::arm_playback(), ARender::calculate_history_size(), CommonRender::create_modules(), VRender::flash_output(), VRender::fromunits(), ARender::fromunits(), CommonRender::get_boundaries(), VRender::get_colormodel(), get_duty(), Module::get_edl(), get_output_h(), get_output_w(), VRender::get_total_tracks(), ARender::get_total_tracks(), VRender::get_use_vconsole(), VModule::import_frame(), VRender::insert_timecode(), VirtualConsole::module_number(), open_output(), PlaybackEngine::perform_change(), PlayableTracks::PlayableTracks(), VRender::process_buffer(), VirtualVConsole::process_buffer(), VirtualAConsole::process_buffer(), VirtualVNode::read_data(), VirtualANode::read_data(), VAttachmentPoint::render(), AAttachmentPoint::render(), VirtualVNode::render_as_module(), VirtualANode::render_as_module(), VirtualVNode::render_fade(), VirtualANode::render_fade(), AttachmentPoint::render_init(), VirtualVNode::render_mask(), VirtualANode::render_pan(), VirtualVNode::render_projector(), RenderEngine(), VRender::run(), ARender::run(), session_position(), CommonRender::start_command(), PlaybackEngine::sync_parameters(), sync_position(), VirtualConsole::test_reconfigure(), VRender::tounits(), ARender::tounits(), and ~RenderEngine().
Definition at line 83 of file renderengine.h.
Referenced by arm_command(), AAttachmentPoint::get_buffer_size(), VRender::get_colormodel(), get_current_channel(), open_output(), RenderEngine(), and ~RenderEngine().
Definition at line 85 of file renderengine.h.
Referenced by brender_available(), get_acache(), get_tracking_position(), get_vcache(), VRender::run(), run(), ARender::run(), and update_framerate().
Definition at line 87 of file renderengine.h.
Referenced by arm_command(), VRender::get_colormodel(), open_output(), VRender::process_buffer(), AttachmentPoint::render_init(), Module::update_transition(), VirtualVNode::VirtualVNode(), VModule::VModule(), VRender::VRender(), and ~RenderEngine().
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 98 of file renderengine.h.
Referenced by arm_command(), VirtualAConsole::process_buffer(), RenderEngine(), VRender::run(), and ~RenderEngine().
Definition at line 100 of file renderengine.h.
Referenced by interrupt_playback(), RenderEngine(), run(), start_command(), and ~RenderEngine().
Definition at line 103 of file renderengine.h.
Referenced by VRender::process_buffer(), VirtualVNode::render_as_module(), and RenderEngine().
Definition at line 106 of file renderengine.h.
Referenced by close_output(), interrupt_playback(), open_output(), VirtualAConsole::process_buffer(), RenderEngine(), ARender::run(), ARender::send_last_buffer(), VirtualAConsole::send_last_output_buffer(), session_position(), sync_position(), and ARender::wait_device_completion().
Definition at line 107 of file renderengine.h.
Referenced by close_output(), VRender::flash_output(), VirtualVConsole::get_vdriver(), VModule::import_frame(), VRender::init_device_buffers(), interrupt_playback(), open_output(), VRender::process_buffer(), VirtualVConsole::process_buffer(), VModule::render(), VAttachmentPoint::render(), RenderEngine(), VRender::run(), and start_video().
Definition at line 108 of file renderengine.h.
Referenced by arm_playback_audio(), arm_render_threads(), create_render_threads(), PackageRenderer::do_audio(), get_module_levels(), get_output_levels(), RenderEngine(), run(), start_render_threads(), wait_render_threads(), and ~RenderEngine().
Definition at line 109 of file renderengine.h.
Referenced by arm_playback_video(), arm_render_threads(), create_render_threads(), PackageRenderer::do_video(), VRender::insert_timecode(), VModule::render(), VirtualVNode::render_as_module(), RenderEngine(), run(), session_position(), start_render_threads(), start_video(), wait_render_threads(), and ~RenderEngine().
Definition at line 110 of file renderengine.h.
Referenced by arm_command(), arm_playback_audio(), arm_render_threads(), create_render_threads(), get_duty(), get_module_levels(), PlaybackEngine::get_module_levels(), get_output_levels(), PlaybackEngine::get_output_levels(), open_output(), RenderEngine(), reset_parameters(), run(), session_position(), start_render_threads(), sync_position(), and wait_render_threads().
Definition at line 111 of file renderengine.h.
Referenced by arm_command(), arm_playback_video(), arm_render_threads(), create_render_threads(), get_duty(), PlaybackEngine::get_tracking_position(), open_output(), RenderEngine(), reset_parameters(), run(), ARender::run(), session_position(), start_render_threads(), sync_position(), and wait_render_threads().
Definition at line 113 of file renderengine.h.
Referenced by reset_sync_position(), start_render_threads(), and sync_position().
Definition at line 116 of file renderengine.h.
Referenced by arm_command(), interrupt_playback(), RenderEngine(), and run().
| int64_t RenderEngine::fragment_len |
Definition at line 123 of file renderengine.h.
Referenced by arm_command(), ARender::calculate_history_size(), AModule::get_buffer_size(), and ARender::run().
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().
| int64_t RenderEngine::start_position |
Definition at line 177 of file renderengine.h.
Referenced by ARender::arm_playback(), and reset_parameters().
| int64_t RenderEngine::end_position |
Definition at line 178 of file renderengine.h.
Referenced by ARender::arm_playback(), and reset_parameters().
| int64_t RenderEngine::current_sample |
Definition at line 182 of file renderengine.h.
Referenced by AttachmentPoint::gui_open(), AttachmentPoint::render_gui(), and RenderEngine().
1.5.5