PlaybackEngine Class Reference

#include <playbackengine.h>

Inherits Thread.

Inherited by CPlayback, and VPlayback.

Collaboration diagram for PlaybackEngine:

Collaboration graph
[legend]

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

Data Fields

CICacheaudio_cache
CICachevideo_cache
int tracking_active
double tracking_position
Timer tracking_timer
Mutextracking_lock
Conditiontracking_done
Conditionpause_lock
Conditionstart_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 22 of file playbackengine.h.


Constructor & Destructor Documentation

PlaybackEngine::PlaybackEngine ( MWindow mwindow,
Canvas output 
)

PlaybackEngine::~PlaybackEngine (  )  [virtual]


Member Function Documentation

int PlaybackEngine::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().

Here is the call graph for this function:

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

Here is the call graph for this function:

void PlaybackEngine::start_render_engine (  ) 

Definition at line 129 of file playbackengine.C.

References render_engine, and RenderEngine::start_command().

Referenced by run().

Here is the call graph for this function:

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

Here is the call graph for this function:

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

Here is the call graph for this function:

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

Here is the call graph for this function:

void PlaybackEngine::interrupt_playback ( int  wait_tracking = 0  ) 

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

Here is the call graph for this function:

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

Here is the call graph for this function:

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

Here is the call graph for this function:

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

Here is the call graph for this function:

double PlaybackEngine::get_tracking_position (  )  [virtual]

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

Here is the call graph for this function:

ChannelDB * PlaybackEngine::get_channeldb (  ) 

void PlaybackEngine::run (  )  [virtual]


Field Documentation

Definition at line 71 of file playbackengine.h.

Referenced by get_tracking_position(), and update_tracking().

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 82 of file playbackengine.h.

Referenced by create_render_engine().

Definition at line 90 of file playbackengine.h.

Referenced by PlaybackEngine(), and run().

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 100 of file playbackengine.h.

Referenced by PlaybackEngine().


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

Generated on Mon Apr 28 14:35:37 2008 for Cinelerra by  doxygen 1.5.5