Ardour  9.0-pre0-582-g084a23a80d
VideoTimeLine Class Reference

video-timline controller and display More...

#include <video_timeline.h>

Inheritance diagram for VideoTimeLine:
[legend]

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 () const
 
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 ()
 
ARDOUR::sampleoffset_t get_video_start_offset ()
 
void open_video_monitor ()
 
void close_video_monitor ()
 
void control_video_monitor (int, int)
 
void terminated_video_monitor ()
 
void manual_seek_video_monitor (samplepos_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::samplecnt_t get_duration ()
 
ARDOUR::sampleoffset_t get_offset ()
 
ARDOUR::sampleoffset_t quantify_samples_to_apv (ARDOUR::sampleoffset_t offset)
 
void set_offset (ARDOUR::sampleoffset_t offset)
 
- Public Member Functions inherited from ARDOUR::SessionHandlePtr
 SessionHandlePtr (ARDOUR::Session *s)
 
 SessionHandlePtr ()
 
virtual ~SessionHandlePtr ()
 
virtual ARDOUR::Sessionsession () const
 
- Public Member Functions inherited from PBD::ScopedConnectionList
 ScopedConnectionList ()
 
 ScopedConnectionList (const ScopedConnectionList &)=delete
 
ScopedConnectionListoperator= (const ScopedConnectionList &)=delete
 
virtual ~ScopedConnectionList ()
 
void add_connection (const UnscopedConnection &c)
 
void drop_connections ()
 
- Public Member Functions inherited from PBD::Stateful
 Stateful ()
 
virtual ~Stateful ()
 
virtual bool apply_change (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 (PBD::Command *) const
 
virtual void rdiff (std::vector< PBD::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
virtual ~Destructible ()
 
virtual void drop_references ()
 

Protected Types

typedef std::list< VideoImageFrame * > VideoFrames
 

Protected Member Functions

void find_xjadeo ()
 
void find_harvid ()
 
void xjadeo_readversion (std::string d, size_t s)
 
void harvid_readversion (std::string d, size_t s)
 
VideoImageFrameget_video_frame (samplepos_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 &) const
 
PropertyChange set_values (XMLNode const &)
 
virtual void post_set (const PropertyChange &)
 
virtual void send_change (const PropertyChange &)
 
virtual void mid_thaw (const PropertyChange &)
 
bool regenerate_xml_or_string_ids () const
 

Protected Attributes

PublicEditoreditor
 
ArdourCanvas::Containervideotl_group
 
int bar_height
 
std::string _xjadeo_bin
 
ARDOUR::sampleoffset_t video_start_offset
 
ARDOUR::sampleoffset_t video_offset
 
ARDOUR::sampleoffset_t video_offset_p
 
samplepos_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
 
std::string harvid_version
 
VideoFrames video_frames
 
bool _flush_frames
 
VideoMonitorvmonitor
 
bool reopen_vmonitor
 
PBD::Signal< void()> VtlUpdate
 
PBD::Signal< 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::Signal< void(const PropertyChange &)> PropertyChanged
 
- Public Attributes inherited from PBD::Destructible
PBD::Signal< void()> Destroyed
 
PBD::Signal< void()> DropReferences
 
- Static Public Attributes inherited from PBD::Stateful
static int current_state_version
 
static int loading_state_version
 

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 necessary (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 displayed file.

Definition at line 53 of file video_timeline.h.

Member Typedef Documentation

◆ VideoFrames

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

Definition at line 132 of file video_timeline.h.

Constructor & Destructor Documentation

◆ VideoTimeLine()

VideoTimeLine::VideoTimeLine ( PublicEditor ,
ArdourCanvas::Container ,
int   
)

◆ ~VideoTimeLine()

virtual VideoTimeLine::~VideoTimeLine ( )
virtual

Member Function Documentation

◆ check_server()

bool VideoTimeLine::check_server ( )

◆ check_server_docroot()

bool VideoTimeLine::check_server_docroot ( )

◆ close_session()

void VideoTimeLine::close_session ( )

◆ close_video_monitor()

void VideoTimeLine::close_video_monitor ( )

◆ control_video_monitor()

void VideoTimeLine::control_video_monitor ( int  ,
int   
)

◆ find_harvid()

void VideoTimeLine::find_harvid ( )
protected

◆ find_xjadeo()

void VideoTimeLine::find_xjadeo ( )
protected

◆ flush_cache()

void VideoTimeLine::flush_cache ( )

◆ flush_local_cache()

void VideoTimeLine::flush_local_cache ( )

◆ found_xjadeo()

bool VideoTimeLine::found_xjadeo ( )
inline

Definition at line 87 of file video_timeline.h.

◆ get_apv()

float VideoTimeLine::get_apv ( )

◆ get_duration()

ARDOUR::samplecnt_t VideoTimeLine::get_duration ( )
inline

Definition at line 97 of file video_timeline.h.

◆ get_offset()

ARDOUR::sampleoffset_t VideoTimeLine::get_offset ( )
inline

Definition at line 98 of file video_timeline.h.

◆ get_state()

XMLNode& VideoTimeLine::get_state ( ) const
virtual

Implements PBD::Stateful.

◆ get_video_file_fps()

double VideoTimeLine::get_video_file_fps ( )
inline

Definition at line 68 of file video_timeline.h.

◆ get_video_frame()

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

◆ get_video_start_offset()

ARDOUR::sampleoffset_t VideoTimeLine::get_video_start_offset ( )
inline

Definition at line 75 of file video_timeline.h.

◆ gui_update()

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

◆ harvid_readversion()

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

◆ is_offset_locked()

bool VideoTimeLine::is_offset_locked ( )
inline

Definition at line 73 of file video_timeline.h.

◆ manual_seek_video_monitor()

void VideoTimeLine::manual_seek_video_monitor ( samplepos_t  pos)

◆ open_video_monitor()

void VideoTimeLine::open_video_monitor ( )

◆ parameter_changed()

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

◆ quantify_samples_to_apv()

ARDOUR::sampleoffset_t VideoTimeLine::quantify_samples_to_apv ( ARDOUR::sampleoffset_t  offset)
inline

Definition at line 99 of file video_timeline.h.

◆ remove_frames()

void VideoTimeLine::remove_frames ( )
protected

◆ save_session()

void VideoTimeLine::save_session ( )

◆ save_undo()

void VideoTimeLine::save_undo ( void  )

◆ set_height()

void VideoTimeLine::set_height ( int  )

◆ set_offset()

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

Definition at line 100 of file video_timeline.h.

◆ set_offset_locked()

void VideoTimeLine::set_offset_locked ( bool  v)

◆ set_session()

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

Reimplemented from ARDOUR::SessionHandlePtr.

◆ set_state()

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

Implements PBD::Stateful.

◆ set_update_session_fps()

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

Definition at line 69 of file video_timeline.h.

◆ set_video_server_docroot()

void VideoTimeLine::set_video_server_docroot ( std::string  )

◆ set_video_server_url()

void VideoTimeLine::set_video_server_url ( std::string  )

◆ sync_session_state()

void VideoTimeLine::sync_session_state ( )

◆ terminated_video_monitor()

void VideoTimeLine::terminated_video_monitor ( )

◆ toggle_offset_locked()

void VideoTimeLine::toggle_offset_locked ( )

◆ translated_filename()

std::string VideoTimeLine::translated_filename ( )
protected

◆ update_video_timeline()

void VideoTimeLine::update_video_timeline ( )

◆ video_file_info()

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

◆ vmon_update()

void VideoTimeLine::vmon_update ( )

◆ xjadeo_readversion()

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

Member Data Documentation

◆ _flush_frames

bool VideoTimeLine::_flush_frames
protected

Definition at line 137 of file video_timeline.h.

◆ _xjadeo_bin

std::string VideoTimeLine::_xjadeo_bin
protected

Definition at line 108 of file video_timeline.h.

◆ auto_set_session_fps

bool VideoTimeLine::auto_set_session_fps
protected

Definition at line 121 of file video_timeline.h.

◆ bar_height

int VideoTimeLine::bar_height
protected

Definition at line 106 of file video_timeline.h.

◆ editor

PublicEditor* VideoTimeLine::editor
protected

Definition at line 104 of file video_timeline.h.

◆ GuiUpdate

PBD::Signal<void(std::string)> VideoTimeLine::GuiUpdate
protected

Definition at line 145 of file video_timeline.h.

◆ harvid_version

std::string VideoTimeLine::harvid_version
protected

Definition at line 130 of file video_timeline.h.

◆ local_file

bool VideoTimeLine::local_file
protected

Definition at line 118 of file video_timeline.h.

◆ reopen_vmonitor

bool VideoTimeLine::reopen_vmonitor
protected

Definition at line 142 of file video_timeline.h.

◆ server_docroot

std::string VideoTimeLine::server_docroot
protected

Definition at line 125 of file video_timeline.h.

◆ sessionsave

PBD::ScopedConnection VideoTimeLine::sessionsave
protected

Definition at line 148 of file video_timeline.h.

◆ video_aspect_ratio

double VideoTimeLine::video_aspect_ratio
protected

Definition at line 119 of file video_timeline.h.

◆ video_duration

samplepos_t VideoTimeLine::video_duration
protected

unit: audio-samples

Definition at line 116 of file video_timeline.h.

◆ video_file_fps

double VideoTimeLine::video_file_fps
protected

Definition at line 120 of file video_timeline.h.

◆ video_filename

std::string VideoTimeLine::video_filename
protected

Definition at line 117 of file video_timeline.h.

◆ video_frames

VideoFrames VideoTimeLine::video_frames
protected

Definition at line 133 of file video_timeline.h.

◆ video_offset

ARDOUR::sampleoffset_t VideoTimeLine::video_offset
protected

unit: audio-samples - session

Definition at line 114 of file video_timeline.h.

◆ video_offset_lock

bool VideoTimeLine::video_offset_lock
protected

Definition at line 122 of file video_timeline.h.

◆ video_offset_p

ARDOUR::sampleoffset_t VideoTimeLine::video_offset_p
protected

used for undo from editor_drag.cc

Definition at line 115 of file video_timeline.h.

◆ video_server_url

std::string VideoTimeLine::video_server_url
protected

Definition at line 124 of file video_timeline.h.

◆ video_start_offset

ARDOUR::sampleoffset_t VideoTimeLine::video_start_offset
protected

unit: audio-samples - video-file

Definition at line 113 of file video_timeline.h.

◆ videotl_group

ArdourCanvas::Container* VideoTimeLine::videotl_group
protected

Definition at line 105 of file video_timeline.h.

◆ vmonitor

VideoMonitor* VideoTimeLine::vmonitor
protected

Definition at line 141 of file video_timeline.h.

◆ VtlUpdate

PBD::Signal<void()> VideoTimeLine::VtlUpdate
protected

Definition at line 144 of file video_timeline.h.

◆ xjadeo_version

std::string VideoTimeLine::xjadeo_version
protected

Definition at line 129 of file video_timeline.h.


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