summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gtk2_ardour/editor_ops.cc6
-rw-r--r--gtk2_ardour/video_timeline.h2
2 files changed, 8 insertions, 0 deletions
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<samplepos_t, samplepos_t> 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);