diff options
author | nick_m <mainsbridge@gmail.com> | 2015-05-23 03:09:48 +1000 |
---|---|---|
committer | nick_m <mainsbridge@gmail.com> | 2015-05-23 03:09:48 +1000 |
commit | 88477ace25dbf1c65b568be3bfb08dfd67623c13 (patch) | |
tree | 864a10c86e4a03c6921bb49946c3df4c9ebd6bfe /gtk2_ardour/region_view.cc | |
parent | 784abd03e0d0d5ff38dbe2c97c8cce157c39e1d1 (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.cc | 8 |
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 */ |