summaryrefslogtreecommitdiff
path: root/gtk2_ardour/region_view.cc
diff options
context:
space:
mode:
authornick_m <mainsbridge@gmail.com>2015-05-23 03:09:48 +1000
committernick_m <mainsbridge@gmail.com>2015-05-23 03:09:48 +1000
commit88477ace25dbf1c65b568be3bfb08dfd67623c13 (patch)
tree864a10c86e4a03c6921bb49946c3df4c9ebd6bfe /gtk2_ardour/region_view.cc
parent784abd03e0d0d5ff38dbe2c97c8cce157c39e1d1 (diff)
Fix inverted logic of SnapOff with snap modifiers pressed.
- also clean up, rename and comment some previous hanges.
Diffstat (limited to 'gtk2_ardour/region_view.cc')
-rw-r--r--gtk2_ardour/region_view.cc8
1 files changed, 5 insertions, 3 deletions
diff --git a/gtk2_ardour/region_view.cc b/gtk2_ardour/region_view.cc
index 5a8e3f235b..75e091f2d0 100644
--- a/gtk2_ardour/region_view.cc
+++ b/gtk2_ardour/region_view.cc
@@ -939,10 +939,12 @@ RegionView::move_contents (frameoffset_t distance)
/** Snap a frame offset within our region using the current snap settings.
* @param x Frame offset from this region's position.
+ * @param ensure_snap whether to ignore snap_mode (in the case of SnapOff) and magnetic snap.
+ * Used when inverting snap mode logic with key modifiers, or snap distance calculation.
* @return Snapped frame offset from this region's position.
*/
frameoffset_t
-RegionView::snap_frame_to_frame (frameoffset_t x, bool explicitly) const
+RegionView::snap_frame_to_frame (frameoffset_t x, bool ensure_snap) const
{
PublicEditor& editor = trackview.editor();
@@ -951,12 +953,12 @@ RegionView::snap_frame_to_frame (frameoffset_t x, bool explicitly) const
/* try a snap in either direction */
framepos_t frame = session_frame;
- editor.snap_to (frame, RoundNearest, false, explicitly);
+ editor.snap_to (frame, RoundNearest, false, ensure_snap);
/* if we went off the beginning of the region, snap forwards */
if (frame < _region->position ()) {
frame = session_frame;
- editor.snap_to (frame, RoundUpAlways, false, explicitly);
+ editor.snap_to (frame, RoundUpAlways, false, ensure_snap);
}
/* back to region relative */