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