X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=gtk2_ardour%2Fvideo_timeline.h;h=5a1bceb25897b0c2b4595dd1ea2ef9a60e06e54d;hb=d5f55246cc9d1922bfdaf144aaad083f20e49064;hp=b80faa3b27cb20e07339c0b7c9fdf45fb3a3fb1f;hpb=ed1f310f109279347906bbcb85757b5a54792e26;p=ardour.git diff --git a/gtk2_ardour/video_timeline.h b/gtk2_ardour/video_timeline.h index b80faa3b27..5a1bceb258 100644 --- a/gtk2_ardour/video_timeline.h +++ b/gtk2_ardour/video_timeline.h @@ -17,8 +17,6 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ -#ifdef WITH_VIDEOTIMELINE - #ifndef __ardour_video_timeline_h__ #define __ardour_video_timeline_h__ @@ -31,7 +29,7 @@ #include "video_image_frame.h" #include "video_monitor.h" #include "pbd/signals.h" -#include "canvas.h" +#include "canvas/container.h" namespace ARDOUR { class Session; @@ -57,7 +55,7 @@ class PublicEditor; class VideoTimeLine : public sigc::trackable, public ARDOUR::SessionHandlePtr, public PBD::ScopedConnectionList, public PBD::StatefulDestructible { public: - VideoTimeLine (PublicEditor*, ArdourCanvas::Group*, int); + VideoTimeLine (PublicEditor*, ArdourCanvas::Container*, int); virtual ~VideoTimeLine (); void set_session (ARDOUR::Session *s); @@ -88,32 +86,33 @@ class VideoTimeLine : public sigc::trackable, public ARDOUR::SessionHandlePtr, p bool found_xjadeo () { return ((_xjadeo_bin.empty())?false:true); } 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 (); /* video-monitor does not actively report window/pos changes, query it */ - float get_apv(); /* audio frames per video frame; */ + float get_apv(); /* audio samples per video frame; */ ARDOUR::framecnt_t get_duration () { return video_duration;} ARDOUR::frameoffset_t get_offset () { return video_offset;} - ARDOUR::frameoffset_t quantify_frames_to_apv (ARDOUR::frameoffset_t offset) { return floor(offset/get_apv())*get_apv(); } + ARDOUR::frameoffset_t quantify_frames_to_apv (ARDOUR::frameoffset_t offset) { return rint(offset/get_apv())*get_apv(); } void set_offset (ARDOUR::frameoffset_t offset) { video_offset = quantify_frames_to_apv(offset); } // this function does not update video_offset_p, call save_undo() to finalize changes to this! - this fn is currently only used from editor_drag.cc protected: PublicEditor *editor; - ArdourCanvas::Group *videotl_bar_group; + ArdourCanvas::Container *videotl_group; int bar_height; std::string _xjadeo_bin; void find_xjadeo (); - ARDOUR::frameoffset_t video_start_offset; /**< unit: audio-frames - video-file */ - ARDOUR::frameoffset_t video_offset; /**< unit: audio-frames - session */ + ARDOUR::frameoffset_t video_start_offset; /**< unit: audio-samples - video-file */ + ARDOUR::frameoffset_t video_offset; /**< unit: audio-samples - session */ ARDOUR::frameoffset_t video_offset_p; /**< used for undo from editor_drag.cc */ - framepos_t video_duration; /**< unit: audio-frames */ + framepos_t video_duration; /**< unit: audio-samples */ std::string video_filename; bool local_file; double video_aspect_ratio; @@ -124,6 +123,9 @@ class VideoTimeLine : public sigc::trackable, public ARDOUR::SessionHandlePtr, p std::string video_server_url; std::string server_docroot; + void xjadeo_readversion (std::string d, size_t s); + std::string xjadeo_version; + typedef std::list VideoFrames; VideoFrames video_frames; VideoImageFrame *get_video_frame (framepos_t vfn, int cut=0, int rightend = -1); @@ -143,5 +145,3 @@ class VideoTimeLine : public sigc::trackable, public ARDOUR::SessionHandlePtr, p }; #endif /* __ardour_video_timeline_h__ */ - -#endif /* WITH_VIDEOTIMELINE */