ardour
Public Member Functions | Protected Types | Protected Member Functions | Protected Attributes | List of all members
VideoTimeLine Class Reference

video-timline controller and display More...

#include <video_timeline.h>

Inheritance diagram for VideoTimeLine:
ARDOUR::SessionHandlePtr PBD::ScopedConnectionList PBD::StatefulDestructible PBD::Stateful PBD::Destructible

Public Member Functions

 VideoTimeLine (PublicEditor *, ArdourCanvas::Container *, int)
 
virtual ~VideoTimeLine ()
 
void set_session (ARDOUR::Session *s)
 
void update_video_timeline ()
 
void set_height (int)
 
void save_undo (void)
 
XMLNodeget_state ()
 
int set_state (const XMLNode &, int version)
 
bool video_file_info (std::string, bool)
 
double get_video_file_fps ()
 
void set_update_session_fps (bool v=true)
 
void set_offset_locked (bool v)
 
void toggle_offset_locked ()
 
bool is_offset_locked ()
 
void open_video_monitor ()
 
void close_video_monitor ()
 
void control_video_monitor (int, int)
 
void terminated_video_monitor ()
 
void manual_seek_video_monitor (framepos_t pos)
 
void parameter_changed (std::string const &p)
 
void set_video_server_url (std::string)
 
void set_video_server_docroot (std::string)
 
bool found_xjadeo ()
 
bool check_server ()
 
bool check_server_docroot ()
 
void flush_local_cache ()
 
void vmon_update ()
 
void flush_cache ()
 
void save_session ()
 
void close_session ()
 
void sync_session_state ()
 
float get_apv ()
 
ARDOUR::framecnt_t get_duration ()
 
ARDOUR::frameoffset_t get_offset ()
 
ARDOUR::frameoffset_t quantify_frames_to_apv (ARDOUR::frameoffset_t offset)
 
void set_offset (ARDOUR::frameoffset_t offset)
 
- Public Member Functions inherited from ARDOUR::SessionHandlePtr
 SessionHandlePtr (ARDOUR::Session *s)
 
 SessionHandlePtr ()
 
virtual ~SessionHandlePtr ()
 
- Public Member Functions inherited from PBD::ScopedConnectionList
 ScopedConnectionList ()
 
virtual ~ScopedConnectionList ()
 
void add_connection (const UnscopedConnection &c)
 
void drop_connections ()
 
- Public Member Functions inherited from PBD::Stateful
 Stateful ()
 
virtual ~Stateful ()
 
virtual bool apply_changes (PropertyBase const &)
 
PropertyChange apply_changes (PropertyList const &)
 
const OwnedPropertyListproperties () const
 
void add_property (PropertyBase &s)
 
void add_extra_xml (XMLNode &)
 
XMLNodeextra_xml (const std::string &str, bool add_if_missing=false)
 
void save_extra_xml (const XMLNode &)
 
const PBD::IDid () const
 
bool set_id (const XMLNode &)
 
void set_id (const std::string &)
 
void reset_id ()
 
void clear_changes ()
 
virtual void clear_owned_changes ()
 
PropertyListget_changes_as_properties (Command *) const
 
virtual void rdiff (std::vector< Command * > &) const
 
bool changed () const
 
virtual PropertyListproperty_factory (const XMLNode &) const
 
virtual void suspend_property_changes ()
 
virtual void resume_property_changes ()
 
bool property_changes_suspended () const
 
- Public Member Functions inherited from PBD::Destructible
 Destructible ()
 
virtual ~Destructible ()
 
void drop_references ()
 

Protected Types

typedef std::list
< VideoImageFrame * > 
VideoFrames
 

Protected Member Functions

void find_xjadeo ()
 
void xjadeo_readversion (std::string d, size_t s)
 
VideoImageFrameget_video_frame (framepos_t vfn, int cut=0, int rightend=-1)
 
void remove_frames ()
 
std::string translated_filename ()
 
void gui_update (const std::string &)
 
- Protected Member Functions inherited from ARDOUR::SessionHandlePtr
virtual void session_going_away ()
 
- Protected Member Functions inherited from PBD::Stateful
void add_instant_xml (XMLNode &, const std::string &directory_path)
 
XMLNodeinstant_xml (const std::string &str, const std::string &directory_path)
 
void add_properties (XMLNode &)
 
PropertyChange set_values (XMLNode const &)
 
virtual void post_set (const PropertyChange &)
 
virtual void send_change (const PropertyChange &)
 
virtual void mid_thaw (const PropertyChange &)
 

Protected Attributes

PublicEditoreditor
 
ArdourCanvas::Container * videotl_group
 
int bar_height
 
std::string _xjadeo_bin
 
ARDOUR::frameoffset_t video_start_offset
 
ARDOUR::frameoffset_t video_offset
 
ARDOUR::frameoffset_t video_offset_p
 
framepos_t video_duration
 
std::string video_filename
 
bool local_file
 
double video_aspect_ratio
 
double video_file_fps
 
bool auto_set_session_fps
 
bool video_offset_lock
 
std::string video_server_url
 
std::string server_docroot
 
std::string xjadeo_version
 
VideoFrames video_frames
 
bool flush_frames
 
VideoMonitorvmonitor
 
bool reopen_vmonitor
 
PBD::Signal0< void > VtlUpdate
 
PBD::Signal1< void, std::string > GuiUpdate
 
PBD::ScopedConnection sessionsave
 
- Protected Attributes inherited from ARDOUR::SessionHandlePtr
ARDOUR::Session_session
 
PBD::ScopedConnectionList _session_connections
 
- Protected Attributes inherited from PBD::Stateful
XMLNode_extra_xml
 
XMLNode_instant_xml
 
PBD::PropertyChange _pending_changed
 
Glib::Threads::Mutex _lock
 
std::string _xml_node_name
 name of node to use for this object in XML More...
 
OwnedPropertyList_properties
 

Additional Inherited Members

- Public Attributes inherited from PBD::Stateful
PBD::Signal1< void, const
PropertyChange & > 
PropertyChanged
 
- Public Attributes inherited from PBD::Destructible
PBD::Signal0< void > Destroyed
 
PBD::Signal0< void > DropReferences
 
- Static Public Attributes inherited from PBD::Stateful
static int current_state_version = 0
 
static int loading_state_version = 0
 

Detailed Description

video-timline controller and display

The video-timeline can be displayed in a canvas-group. Given a filename it queries the video-server about file-information and creates VideoImageFrame as neccesary (which query the server for image-data).

This class contains the algorithm to position the single frames on the timeline according to current-zoom level and video-file attributes. see update_video_timeline()

The VideoTimeLine class includes functionality to launch a video-monitor corresponding to its currently diplayed file.

Definition at line 55 of file video_timeline.h.

Member Typedef Documentation

typedef std::list<VideoImageFrame*> VideoTimeLine::VideoFrames
protected

Definition at line 129 of file video_timeline.h.

Constructor & Destructor Documentation

VideoTimeLine::VideoTimeLine ( PublicEditor ed,
ArdourCanvas::Container *  vbg,
int  initial_height 
)

Definition at line 48 of file video_timeline.cc.

VideoTimeLine::~VideoTimeLine ( )
virtual

Definition at line 75 of file video_timeline.cc.

Member Function Documentation

bool VideoTimeLine::check_server ( )

Definition at line 547 of file video_timeline.cc.

bool VideoTimeLine::check_server_docroot ( )

Definition at line 564 of file video_timeline.cc.

void VideoTimeLine::close_session ( )

Definition at line 114 of file video_timeline.cc.

void VideoTimeLine::close_video_monitor ( )

Definition at line 830 of file video_timeline.cc.

void VideoTimeLine::control_video_monitor ( int  what,
int  param 
)

Definition at line 837 of file video_timeline.cc.

void VideoTimeLine::find_xjadeo ( )
protected

Definition at line 722 of file video_timeline.cc.

void VideoTimeLine::flush_cache ( )

Definition at line 666 of file video_timeline.cc.

void VideoTimeLine::flush_local_cache ( )

Definition at line 660 of file video_timeline.cc.

bool VideoTimeLine::found_xjadeo ( )
inline

Definition at line 87 of file video_timeline.h.

float VideoTimeLine::get_apv ( )

Definition at line 269 of file video_timeline.cc.

ARDOUR::framecnt_t VideoTimeLine::get_duration ( )
inline

Definition at line 97 of file video_timeline.h.

ARDOUR::frameoffset_t VideoTimeLine::get_offset ( )
inline

Definition at line 98 of file video_timeline.h.

XMLNode & VideoTimeLine::get_state ( void  )
virtual

Implements PBD::Stateful.

Definition at line 237 of file video_timeline.cc.

double VideoTimeLine::get_video_file_fps ( )
inline

Definition at line 70 of file video_timeline.h.

VideoImageFrame * VideoTimeLine::get_video_frame ( framepos_t  vfn,
int  cut = 0,
int  rightend = -1 
)
protected

Definition at line 257 of file video_timeline.cc.

void VideoTimeLine::gui_update ( const std::string &  t)
protected

Definition at line 597 of file video_timeline.cc.

bool VideoTimeLine::is_offset_locked ( )
inline

Definition at line 75 of file video_timeline.h.

void VideoTimeLine::manual_seek_video_monitor ( framepos_t  pos)

Definition at line 864 of file video_timeline.cc.

void VideoTimeLine::open_video_monitor ( )

Definition at line 774 of file video_timeline.cc.

void VideoTimeLine::parameter_changed ( std::string const &  p)

Definition at line 686 of file video_timeline.cc.

ARDOUR::frameoffset_t VideoTimeLine::quantify_frames_to_apv ( ARDOUR::frameoffset_t  offset)
inline

Definition at line 99 of file video_timeline.h.

void VideoTimeLine::remove_frames ( )
protected

Definition at line 246 of file video_timeline.cc.

void VideoTimeLine::save_session ( )

Definition at line 82 of file video_timeline.cc.

void VideoTimeLine::save_undo ( void  )

Definition at line 216 of file video_timeline.cc.

void VideoTimeLine::set_height ( int  height)

Definition at line 644 of file video_timeline.cc.

void VideoTimeLine::set_offset ( ARDOUR::frameoffset_t  offset)
inline

Definition at line 100 of file video_timeline.h.

void VideoTimeLine::set_offset_locked ( bool  v)

Definition at line 200 of file video_timeline.cc.

void VideoTimeLine::set_session ( ARDOUR::Session s)
virtual

load settings from session

Reimplemented from ARDOUR::SessionHandlePtr.

Definition at line 140 of file video_timeline.cc.

int VideoTimeLine::set_state ( const XMLNode node,
int  version 
)
virtual

Implements PBD::Stateful.

Definition at line 225 of file video_timeline.cc.

void VideoTimeLine::set_update_session_fps ( bool  v = true)
inline

Definition at line 71 of file video_timeline.h.

void VideoTimeLine::set_video_server_docroot ( std::string  vsr)

Definition at line 709 of file video_timeline.cc.

void VideoTimeLine::set_video_server_url ( std::string  vsu)

Definition at line 702 of file video_timeline.cc.

void VideoTimeLine::sync_session_state ( )

Definition at line 130 of file video_timeline.cc.

void VideoTimeLine::terminated_video_monitor ( )

Definition at line 846 of file video_timeline.cc.

void VideoTimeLine::toggle_offset_locked ( )

Definition at line 208 of file video_timeline.cc.

std::string VideoTimeLine::translated_filename ( )
protected

Definition at line 441 of file video_timeline.cc.

void VideoTimeLine::update_video_timeline ( )

Definition at line 295 of file video_timeline.cc.

bool VideoTimeLine::video_file_info ( std::string  filename,
bool  local 
)

Definition at line 451 of file video_timeline.cc.

void VideoTimeLine::vmon_update ( )

Definition at line 653 of file video_timeline.cc.

void VideoTimeLine::xjadeo_readversion ( std::string  d,
size_t  s 
)
protected

Definition at line 717 of file video_timeline.cc.

Member Data Documentation

std::string VideoTimeLine::_xjadeo_bin
protected

Definition at line 108 of file video_timeline.h.

bool VideoTimeLine::auto_set_session_fps
protected

Definition at line 120 of file video_timeline.h.

int VideoTimeLine::bar_height
protected

Definition at line 106 of file video_timeline.h.

PublicEditor* VideoTimeLine::editor
protected

Definition at line 104 of file video_timeline.h.

bool VideoTimeLine::flush_frames
protected

Definition at line 132 of file video_timeline.h.

PBD::Signal1<void,std::string> VideoTimeLine::GuiUpdate
protected

Definition at line 141 of file video_timeline.h.

bool VideoTimeLine::local_file
protected

Definition at line 117 of file video_timeline.h.

bool VideoTimeLine::reopen_vmonitor
protected

Definition at line 138 of file video_timeline.h.

std::string VideoTimeLine::server_docroot
protected

Definition at line 124 of file video_timeline.h.

PBD::ScopedConnection VideoTimeLine::sessionsave
protected

Definition at line 144 of file video_timeline.h.

double VideoTimeLine::video_aspect_ratio
protected

Definition at line 118 of file video_timeline.h.

framepos_t VideoTimeLine::video_duration
protected

unit: audio-samples

Definition at line 115 of file video_timeline.h.

double VideoTimeLine::video_file_fps
protected

Definition at line 119 of file video_timeline.h.

std::string VideoTimeLine::video_filename
protected

Definition at line 116 of file video_timeline.h.

VideoFrames VideoTimeLine::video_frames
protected

Definition at line 130 of file video_timeline.h.

ARDOUR::frameoffset_t VideoTimeLine::video_offset
protected

unit: audio-samples - session

Definition at line 113 of file video_timeline.h.

bool VideoTimeLine::video_offset_lock
protected

Definition at line 121 of file video_timeline.h.

ARDOUR::frameoffset_t VideoTimeLine::video_offset_p
protected

used for undo from editor_drag.cc

Definition at line 114 of file video_timeline.h.

std::string VideoTimeLine::video_server_url
protected

Definition at line 123 of file video_timeline.h.

ARDOUR::frameoffset_t VideoTimeLine::video_start_offset
protected

unit: audio-samples - video-file

Definition at line 112 of file video_timeline.h.

ArdourCanvas::Container* VideoTimeLine::videotl_group
protected

Definition at line 105 of file video_timeline.h.

VideoMonitor* VideoTimeLine::vmonitor
protected

Definition at line 137 of file video_timeline.h.

PBD::Signal0<void> VideoTimeLine::VtlUpdate
protected

Definition at line 140 of file video_timeline.h.

std::string VideoTimeLine::xjadeo_version
protected

Definition at line 127 of file video_timeline.h.


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