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

PlaybackEngine Class Reference

#include <playbackengine.h>

Inheritance diagram for PlaybackEngine:

CPlayback VPlayback List of all members.

Public Member Functions

 PlaybackEngine (MWindow *mwindow, Canvas *output)
virtual ~PlaybackEngine ()
int create_objects ()
virtual int create_render_engine ()
void delete_render_engine ()
void arm_render_engine ()
void start_render_engine ()
void wait_render_engine ()
void create_cache ()
void perform_change ()
void sync_parameters (EDL *edl)
void interrupt_playback (int wait_tracking=0)
int get_output_levels (double *levels, long position)
int get_module_levels (ArrayList< double > *module_levels, long position)
virtual void init_cursor ()
virtual void stop_cursor ()
virtual int brender_available (long position)
virtual void init_tracking ()
virtual void stop_tracking ()
virtual double get_tracking_position ()
virtual void update_transport (int command, int paused)
void update_tracking (double position)
ChannelDBget_channeldb ()
void run ()

Public Attributes

CICacheaudio_cache
CICachevideo_cache
int tracking_active
double tracking_position
Timer tracking_timer
Mutex * tracking_lock
Condition * tracking_done
Condition * pause_lock
Condition * start_lock
MWindowmwindow
Canvasoutput
Preferencespreferences
TransportQueque
TransportCommandcommand
int last_command
int done
int do_cwindow
RenderEnginerender_engine
int is_playing_back
int debug

Detailed Description

Definition at line 23 of file playbackengine.h.


Constructor & Destructor Documentation

PlaybackEngine::PlaybackEngine MWindow mwindow,
Canvas output
 

Definition at line 24 of file playbackengine.C.

References audio_cache, debug, is_playing_back, last_command, pause_lock, render_engine, start_lock, tracking_active, tracking_done, tracking_lock, tracking_position, and video_cache.

PlaybackEngine::~PlaybackEngine  )  [virtual]
 

Definition at line 43 of file playbackengine.C.

References audio_cache, command, delete_render_engine(), done, interrupt_playback(), pause_lock, preferences, que, TransportQue::send_command(), start_lock, tracking_done, tracking_lock, and video_cache.


Member Function Documentation

void PlaybackEngine::arm_render_engine  ) 
 

Definition at line 121 of file playbackengine.C.

References RenderEngine::arm_command(), command, and render_engine.

Referenced by run().

int PlaybackEngine::brender_available long  position  )  [virtual]
 

Reimplemented in CPlayback.

Definition at line 229 of file playbackengine.C.

Referenced by RenderEngine::brender_available().

void PlaybackEngine::create_cache  ) 
 

Definition at line 143 of file playbackengine.C.

References audio_cache, command, TransportCommand::get_edl(), mwindow, MWindow::plugindb, preferences, CICache::set_edl(), and video_cache.

Referenced by perform_change().

int PlaybackEngine::create_objects  ) 
 

Definition at line 65 of file playbackengine.C.

References TransportCommand::change_type, TransportQue::command, command, Preferences::copy_from(), done, mwindow, MWindow::preferences, preferences, que, 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 97 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 115 of file playbackengine.C.

References render_engine.

Referenced by create_render_engine(), and ~PlaybackEngine().

ChannelDB * PlaybackEngine::get_channeldb  ) 
 

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

int PlaybackEngine::get_module_levels ArrayList< double > *  module_levels,
long  position
 

Definition at line 218 of file playbackengine.C.

References RenderEngine::do_audio, RenderEngine::get_module_levels(), and render_engine.

Referenced by Tracking::update_meters().

int PlaybackEngine::get_output_levels double *  levels,
long  position
 

Definition at line 206 of file playbackengine.C.

References RenderEngine::do_audio, RenderEngine::get_output_levels(), and render_engine.

Referenced by VTracking::update_meters(), and Tracking::update_meters().

double PlaybackEngine::get_tracking_position  )  [virtual]
 

Definition at line 274 of file playbackengine.C.

References command, RenderEngine::do_video, TransportCommand::get_direction(), TransportCommand::get_edl(), TransportCommand::get_speed(), EDL::local_session, LocalSession::loop_end, LocalSession::loop_playback, LocalSession::loop_start, render_engine, EDL::session, tracking_active, tracking_lock, tracking_position, tracking_timer, and EDLSession::video_every_frame.

Referenced by Tracking::get_tracking_position(), RenderEngine::get_tracking_position(), RenderEngine::run(), run(), and MWindow::toggle_label().

void PlaybackEngine::init_cursor  )  [virtual]
 

Reimplemented in CPlayback, and VPlayback.

Definition at line 234 of file playbackengine.C.

Referenced by init_tracking(), and run().

void PlaybackEngine::init_tracking  )  [virtual]
 

Definition at line 243 of file playbackengine.C.

References command, init_cursor(), TransportCommand::playbackstart, TransportCommand::single_frame(), tracking_active, tracking_done, and tracking_position.

Referenced by run().

void PlaybackEngine::interrupt_playback int  wait_tracking = 0  ) 
 

Definition at line 188 of file playbackengine.C.

References RenderEngine::interrupt_playback(), pause_lock, render_engine, and tracking_done.

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

void PlaybackEngine::perform_change  ) 
 

Definition at line 161 of file playbackengine.C.

References audio_cache, TransportCommand::change_type, command, create_cache(), create_render_engine(), RenderEngine::edl, TransportCommand::get_edl(), render_engine, CICache::set_edl(), EDL::synchronize_params(), and video_cache.

Referenced by run().

void PlaybackEngine::run  ) 
 

Definition at line 353 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, TransportQue::output_lock, pause_lock, perform_change(), TransportCommand::playbackstart, que, TransportCommand::reset(), start_lock, start_render_engine(), stop_cursor(), and wait_render_engine().

void PlaybackEngine::start_render_engine  ) 
 

Definition at line 130 of file playbackengine.C.

References render_engine, and RenderEngine::start_command().

Referenced by run().

void PlaybackEngine::stop_cursor  )  [virtual]
 

Reimplemented in CPlayback, and VPlayback.

Definition at line 238 of file playbackengine.C.

Referenced by run(), and stop_tracking().

void PlaybackEngine::stop_tracking  )  [virtual]
 

Definition at line 255 of file playbackengine.C.

References stop_cursor(), tracking_active, and tracking_done.

Referenced by RenderEngine::run().

void PlaybackEngine::sync_parameters EDL edl  ) 
 

Definition at line 180 of file playbackengine.C.

References command, RenderEngine::edl, TransportCommand::get_edl(), render_engine, and EDL::synchronize_params().

Referenced by MWindow::sync_parameters().

void PlaybackEngine::update_tracking double  position  ) 
 

Definition at line 262 of file playbackengine.C.

References tracking_active, tracking_lock, tracking_position, and tracking_timer.

Referenced by VRender::run(), and ARender::run().

void PlaybackEngine::update_transport int  command,
int  paused
[virtual]
 

Definition at line 346 of file playbackengine.C.

void PlaybackEngine::wait_render_engine  ) 
 

Definition at line 135 of file playbackengine.C.

References command, TransportCommand::realtime, and render_engine.

Referenced by run().


Member Data Documentation

CICache* PlaybackEngine::audio_cache
 

Definition at line 65 of file playbackengine.h.

Referenced by create_cache(), RenderEngine::get_acache(), perform_change(), PlaybackEngine(), and ~PlaybackEngine().

TransportCommand* PlaybackEngine::command
 

Definition at line 89 of file playbackengine.h.

Referenced by arm_render_engine(), create_cache(), 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(), CTracking::update_scroll(), wait_render_engine(), and ~PlaybackEngine().

int PlaybackEngine::debug
 

Definition at line 101 of file playbackengine.h.

Referenced by PlaybackEngine().

int PlaybackEngine::do_cwindow
 

Definition at line 93 of file playbackengine.h.

int PlaybackEngine::done
 

Definition at line 92 of file playbackengine.h.

Referenced by create_objects(), run(), and ~PlaybackEngine().

int PlaybackEngine::is_playing_back
 

Definition at line 98 of file playbackengine.h.

Referenced by TrackCanvas::cursor_motion_event(), PlaybackEngine(), RenderEngine::run(), run(), MWindow::sync_parameters(), and MWindow::toggle_label().

int PlaybackEngine::last_command
 

Definition at line 91 of file playbackengine.h.

Referenced by PlaybackEngine(), and run().

MWindow* PlaybackEngine::mwindow
 

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

Canvas* PlaybackEngine::output
 

Definition at line 83 of file playbackengine.h.

Referenced by create_render_engine().

Condition* PlaybackEngine::pause_lock
 

Definition at line 78 of file playbackengine.h.

Referenced by interrupt_playback(), PlaybackEngine(), run(), and ~PlaybackEngine().

Preferences* PlaybackEngine::preferences
 

Definition at line 85 of file playbackengine.h.

Referenced by create_cache(), create_objects(), create_render_engine(), and ~PlaybackEngine().

TransportQue* PlaybackEngine::que
 

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

RenderEngine* PlaybackEngine::render_engine
 

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

Condition* PlaybackEngine::start_lock
 

Definition at line 80 of file playbackengine.h.

Referenced by create_objects(), PlaybackEngine(), run(), and ~PlaybackEngine().

int PlaybackEngine::tracking_active
 

Definition at line 67 of file playbackengine.h.

Referenced by get_tracking_position(), init_tracking(), PlaybackEngine(), Tracking::run(), stop_tracking(), and update_tracking().

Condition* PlaybackEngine::tracking_done
 

Definition at line 76 of file playbackengine.h.

Referenced by init_tracking(), interrupt_playback(), PlaybackEngine(), stop_tracking(), and ~PlaybackEngine().

Mutex* PlaybackEngine::tracking_lock
 

Definition at line 74 of file playbackengine.h.

Referenced by get_tracking_position(), PlaybackEngine(), update_tracking(), and ~PlaybackEngine().

double PlaybackEngine::tracking_position
 

Definition at line 69 of file playbackengine.h.

Referenced by get_tracking_position(), VPlayback::init_cursor(), CPlayback::init_cursor(), init_tracking(), PlaybackEngine(), RenderEngine::run(), and update_tracking().

Timer PlaybackEngine::tracking_timer
 

Definition at line 72 of file playbackengine.h.

Referenced by get_tracking_position(), and update_tracking().

CICache * PlaybackEngine::video_cache
 

Definition at line 65 of file playbackengine.h.

Referenced by create_cache(), RenderEngine::get_vcache(), perform_change(), PlaybackEngine(), and ~PlaybackEngine().


The documentation for this class was generated from the following files:
Generated on Sun Jan 8 13:39:21 2006 for Cinelerra-svn by  doxygen 1.4.4