diff options
Diffstat (limited to 'gtk2_ardour/region_view.cc')
-rw-r--r-- | gtk2_ardour/region_view.cc | 32 |
1 files changed, 3 insertions, 29 deletions
diff --git a/gtk2_ardour/region_view.cc b/gtk2_ardour/region_view.cc index cd83154a9f..5a8e3f235b 100644 --- a/gtk2_ardour/region_view.cc +++ b/gtk2_ardour/region_view.cc @@ -942,7 +942,7 @@ RegionView::move_contents (frameoffset_t distance) * @return Snapped frame offset from this region's position. */ frameoffset_t -RegionView::snap_frame_to_frame (frameoffset_t x) const +RegionView::snap_frame_to_frame (frameoffset_t x, bool explicitly) const { PublicEditor& editor = trackview.editor(); @@ -951,38 +951,12 @@ RegionView::snap_frame_to_frame (frameoffset_t x) const /* try a snap in either direction */ framepos_t frame = session_frame; - editor.snap_to (frame, RoundNearest); + editor.snap_to (frame, RoundNearest, false, explicitly); /* if we went off the beginning of the region, snap forwards */ if (frame < _region->position ()) { frame = session_frame; - editor.snap_to (frame, RoundUpAlways); - } - - /* back to region relative */ - return frame - _region->position(); -} - -/** Snap a frame offset within our region using the current snap settings. - * @param x Frame offset from this region's position. - * @return Snapped frame offset from this region's position. - */ -frameoffset_t -RegionView::snap_frame_to_frame_no_magnets (frameoffset_t x) const -{ - PublicEditor& editor = trackview.editor(); - - /* x is region relative, convert it to global absolute frames */ - framepos_t const session_frame = x + _region->position(); - - /* try a snap in either direction */ - framepos_t frame = session_frame; - editor.snap_to_no_magnets (frame, RoundNearest); - - /* if we went off the beginning of the region, snap forwards */ - if (frame < _region->position ()) { - frame = session_frame; - editor.snap_to_no_magnets (frame, RoundUpAlways); + editor.snap_to (frame, RoundUpAlways, false, explicitly); } /* back to region relative */ |