#include <playbackengine.h>
Inherits Thread.
Inherited by CPlayback, and VPlayback.

Definition at line 22 of file playbackengine.h.
Definition at line 23 of file playbackengine.C.
References audio_cache, debug, is_playing_back, last_command, pause_lock, render_engine, start_lock, STOP, tracking_active, tracking_done, tracking_lock, tracking_position, and video_cache.
| PlaybackEngine::~PlaybackEngine | ( | ) | [virtual] |
Definition at line 42 of file playbackengine.C.
References audio_cache, command, delete_render_engine(), done, interrupt_playback(), Thread::join(), pause_lock, preferences, que, TransportQue::send_command(), start_lock, STOP, tracking_done, tracking_lock, and video_cache.

| int PlaybackEngine::create_objects | ( | ) |
Definition at line 64 of file playbackengine.C.
References TransportCommand::change_type, TransportQue::command, command, Preferences::copy_from(), done, Condition::lock(), mwindow, MWindow::preferences, preferences, que, Thread::start(), and start_lock.
Referenced by VWindow::create_objects(), and CWindow::create_objects().

| int PlaybackEngine::create_render_engine | ( | ) | [virtual] |
Reimplemented in CPlayback, and VPlayback.
Definition at line 96 of file playbackengine.C.
References command, delete_render_engine(), get_channeldb(), mwindow, output, MWindow::plugindb, preferences, and render_engine.
Referenced by VPlayback::create_render_engine(), CPlayback::create_render_engine(), and perform_change().

| void PlaybackEngine::delete_render_engine | ( | ) |
Definition at line 114 of file playbackengine.C.
References render_engine.
Referenced by create_render_engine(), and ~PlaybackEngine().
| void PlaybackEngine::arm_render_engine | ( | ) |
Definition at line 120 of file playbackengine.C.
References RenderEngine::arm_command(), command, and render_engine.
Referenced by run().

| void PlaybackEngine::start_render_engine | ( | ) |
Definition at line 129 of file playbackengine.C.
References render_engine, and RenderEngine::start_command().
Referenced by run().

| void PlaybackEngine::wait_render_engine | ( | ) |
Definition at line 134 of file playbackengine.C.
References command, Thread::join(), TransportCommand::realtime, and render_engine.
Referenced by run().

| void PlaybackEngine::create_cache | ( | ) |
Definition at line 142 of file playbackengine.C.
References audio_cache, mwindow, MWindow::plugindb, preferences, and video_cache.
Referenced by perform_change().
| void PlaybackEngine::perform_change | ( | ) |
Definition at line 155 of file playbackengine.C.
References TransportCommand::change_type, command, create_cache(), create_render_engine(), RenderEngine::edl, TransportCommand::get_edl(), render_engine, and EDL::synchronize_params().
Referenced by run().

| void PlaybackEngine::sync_parameters | ( | EDL * | edl | ) |
Definition at line 172 of file playbackengine.C.
References command, RenderEngine::edl, TransportCommand::get_edl(), render_engine, and EDL::synchronize_params().
Referenced by MWindow::sync_parameters().

| void PlaybackEngine::interrupt_playback | ( | int | wait_tracking = 0 |
) |
Definition at line 180 of file playbackengine.C.
References RenderEngine::interrupt_playback(), Condition::lock(), pause_lock, render_engine, tracking_done, and Condition::unlock().
Referenced by New::create_new_project(), VWindowSlider::handle_event(), CWindowSlider::handle_event(), PlayTransport::handle_transport(), MWindow::load_filenames(), VWindowEditing::next_label(), VWindowEditing::prev_label(), MWindow::redo_entry(), MWindow::sync_parameters(), MWindow::undo_entry(), and ~PlaybackEngine().

| int PlaybackEngine::get_output_levels | ( | double * | levels, | |
| long | position | |||
| ) |
Definition at line 198 of file playbackengine.C.
References RenderEngine::do_audio, RenderEngine::get_output_levels(), and render_engine.
Referenced by VTracking::update_meters(), and Tracking::update_meters().

| int PlaybackEngine::get_module_levels | ( | ArrayList< double > * | module_levels, | |
| long | position | |||
| ) |
Definition at line 210 of file playbackengine.C.
References RenderEngine::do_audio, RenderEngine::get_module_levels(), and render_engine.
Referenced by Tracking::update_meters().

| void PlaybackEngine::init_cursor | ( | ) | [virtual] |
Reimplemented in CPlayback, and VPlayback.
Definition at line 226 of file playbackengine.C.
Referenced by init_tracking(), and run().
| void PlaybackEngine::stop_cursor | ( | ) | [virtual] |
Reimplemented in CPlayback, and VPlayback.
Definition at line 230 of file playbackengine.C.
Referenced by run(), and stop_tracking().
| int PlaybackEngine::brender_available | ( | long | position | ) | [virtual] |
Reimplemented in CPlayback.
Definition at line 221 of file playbackengine.C.
Referenced by RenderEngine::brender_available().
| void PlaybackEngine::init_tracking | ( | ) | [virtual] |
Definition at line 235 of file playbackengine.C.
References command, init_cursor(), Condition::lock(), TransportCommand::playbackstart, TransportCommand::single_frame(), tracking_active, tracking_done, and tracking_position.
Referenced by run().

| void PlaybackEngine::stop_tracking | ( | ) | [virtual] |
Definition at line 247 of file playbackengine.C.
References stop_cursor(), tracking_active, tracking_done, and Condition::unlock().
Referenced by RenderEngine::run().

| double PlaybackEngine::get_tracking_position | ( | ) | [virtual] |
Definition at line 266 of file playbackengine.C.
References command, RenderEngine::do_video, Timer::get_difference(), TransportCommand::get_direction(), TransportCommand::get_edl(), TransportCommand::get_speed(), EDL::local_session, Mutex::lock(), LocalSession::loop_end, LocalSession::loop_playback, LocalSession::loop_start, render_engine, EDL::session, tracking_active, tracking_lock, tracking_position, tracking_timer, Mutex::unlock(), and EDLSession::video_every_frame.
Referenced by Tracking::get_tracking_position(), RenderEngine::get_tracking_position(), RenderEngine::run(), run(), and MWindow::toggle_label().

| void PlaybackEngine::update_transport | ( | int | command, | |
| int | paused | |||
| ) | [virtual] |
Definition at line 338 of file playbackengine.C.
| void PlaybackEngine::update_tracking | ( | double | position | ) |
Definition at line 254 of file playbackengine.C.
References Mutex::lock(), tracking_active, tracking_lock, tracking_position, tracking_timer, Mutex::unlock(), and Timer::update().
Referenced by VRender::run(), and ARender::run().

| ChannelDB * PlaybackEngine::get_channeldb | ( | ) |
Definition at line 81 of file playbackengine.C.
References MWindow::channeldb_buz, MWindow::channeldb_v4l2jpeg, command, VideoOutConfig::driver, TransportCommand::get_edl(), mwindow, EDLSession::playback_config, EDL::session, and PlaybackConfig::vconfig.
Referenced by create_render_engine().

| void PlaybackEngine::run | ( | ) | [virtual] |
Implements Thread.
Definition at line 345 of file playbackengine.C.
References arm_render_engine(), TransportCommand::command, TransportQue::command, command, TransportCommand::copy_from(), done, get_tracking_position(), init_cursor(), init_tracking(), TransportQue::input_lock, is_playing_back, last_command, Condition::lock(), TransportQue::output_lock, pause_lock, perform_change(), TransportCommand::playbackstart, que, TransportCommand::reset(), start_lock, start_render_engine(), STOP, stop_cursor(), Condition::unlock(), and wait_render_engine().

Definition at line 64 of file playbackengine.h.
Referenced by create_cache(), RenderEngine::get_acache(), PlaybackEngine(), MWindow::remove_asset_from_caches(), MWindow::reset_caches(), and ~PlaybackEngine().
Definition at line 64 of file playbackengine.h.
Referenced by create_cache(), RenderEngine::get_vcache(), PlaybackEngine(), MWindow::remove_asset_from_caches(), MWindow::reset_caches(), and ~PlaybackEngine().
Definition at line 66 of file playbackengine.h.
Referenced by get_tracking_position(), init_tracking(), PlaybackEngine(), stop_tracking(), and update_tracking().
Definition at line 68 of file playbackengine.h.
Referenced by get_tracking_position(), VPlayback::init_cursor(), CPlayback::init_cursor(), init_tracking(), PlaybackEngine(), RenderEngine::run(), and update_tracking().
Definition at line 71 of file playbackengine.h.
Referenced by get_tracking_position(), and update_tracking().
Definition at line 73 of file playbackengine.h.
Referenced by get_tracking_position(), PlaybackEngine(), update_tracking(), and ~PlaybackEngine().
Definition at line 75 of file playbackengine.h.
Referenced by init_tracking(), interrupt_playback(), PlaybackEngine(), stop_tracking(), and ~PlaybackEngine().
Definition at line 77 of file playbackengine.h.
Referenced by interrupt_playback(), PlaybackEngine(), run(), and ~PlaybackEngine().
Definition at line 79 of file playbackengine.h.
Referenced by create_objects(), PlaybackEngine(), run(), and ~PlaybackEngine().
Definition at line 81 of file playbackengine.h.
Referenced by CPlayback::brender_available(), create_cache(), create_objects(), create_render_engine(), get_channeldb(), CPlayback::init_cursor(), RenderEngine::RenderEngine(), and RenderEngine::update_framerate().
Definition at line 84 of file playbackengine.h.
Referenced by create_cache(), create_objects(), create_render_engine(), and ~PlaybackEngine().
Definition at line 86 of file playbackengine.h.
Referenced by MWindow::add_audio_track_entry(), MWindow::add_video_track_entry(), PreferencesThread::apply_settings(), CWindowCanvas::button_press_event(), MWindow::clear_entry(), MWindow::concatenate_tracks(), New::create_new_project(), create_objects(), MWindow::crop_video(), CWindowCanvas::cursor_motion_event(), MWindow::cut(), MWindow::delete_track(), MWindow::delete_tracks(), PlayTransport::handle_transport(), MWindow::load_filenames(), MWindow::move_edits(), MWindow::move_effect(), MWindow::mute_selection(), MWindow::paste_silence(), MWindow::redo_entry(), run(), MWindow::sync_parameters(), MWindow::trim_selection(), MWindow::undo_entry(), CWindow::update(), VWindow::update_position(), CWindowMaskGUI::update_preview(), CWindowProjectorGUI::update_preview(), CWindowCameraGUI::update_preview(), MWindow::update_project(), and ~PlaybackEngine().
Definition at line 88 of file playbackengine.h.
Referenced by arm_render_engine(), create_objects(), create_render_engine(), get_channeldb(), get_tracking_position(), PlayTransport::handle_transport(), init_tracking(), perform_change(), RenderEngine::run(), run(), sync_parameters(), MWindow::sync_parameters(), wait_render_engine(), and ~PlaybackEngine().
Definition at line 91 of file playbackengine.h.
Referenced by create_objects(), run(), and ~PlaybackEngine().
Definition at line 92 of file playbackengine.h.
Definition at line 94 of file playbackengine.h.
Referenced by arm_render_engine(), create_render_engine(), delete_render_engine(), get_module_levels(), get_output_levels(), get_tracking_position(), interrupt_playback(), perform_change(), PlaybackEngine(), start_render_engine(), sync_parameters(), and wait_render_engine().
Definition at line 97 of file playbackengine.h.
Referenced by TrackCanvas::cursor_motion_event(), PlaybackEngine(), RenderEngine::run(), run(), MWindow::sync_parameters(), and MWindow::toggle_label().
1.5.5