diff --git a/gtk2_ardour/editor_ops.cc b/gtk2_ardour/editor_ops.cc index d730bb772a..f4647553f9 100644 --- a/gtk2_ardour/editor_ops.cc +++ b/gtk2_ardour/editor_ops.cc @@ -68,6 +68,7 @@ #include "canvas/canvas.h" #include "actions.h" +#include "ardour_ui.h" #include "audio_region_view.h" #include "audio_streamview.h" #include "audio_time_axis.h" @@ -748,6 +749,11 @@ Editor::build_region_boundary_cache () } } + //allow regions to snap to the video start (if any) as if it were a "region" + if (ARDOUR_UI::instance()->video_timeline) { + region_boundary_cache.push_back (ARDOUR_UI::instance()->video_timeline->get_video_start_offset()); + } + std::pair ext = session_gui_extents (false); samplepos_t session_end = ext.second; diff --git a/gtk2_ardour/video_timeline.h b/gtk2_ardour/video_timeline.h index fd882adb3e..2e5aeb7ef7 100644 --- a/gtk2_ardour/video_timeline.h +++ b/gtk2_ardour/video_timeline.h @@ -74,6 +74,8 @@ class VideoTimeLine : public sigc::trackable, public ARDOUR::SessionHandlePtr, p void toggle_offset_locked (); bool is_offset_locked () { return video_offset_lock; } + ARDOUR::sampleoffset_t get_video_start_offset() { return video_start_offset; } + void open_video_monitor (); void close_video_monitor (); void control_video_monitor (int, int);