diff options
author | nick_m <mainsbridge@gmail.com> | 2015-05-22 06:54:16 +1000 |
---|---|---|
committer | nick_m <mainsbridge@gmail.com> | 2015-05-22 06:54:16 +1000 |
commit | 784abd03e0d0d5ff38dbe2c97c8cce157c39e1d1 (patch) | |
tree | 3e868a7735611f3d3361b61712084a6868a10054 /gtk2_ardour/editor_drag.cc | |
parent | 37ee083931c6e57e0d5611ac909294126d92ba05 (diff) |
Make note drags and resizes obey the disable sanp modifier.
Diffstat (limited to 'gtk2_ardour/editor_drag.cc')
-rw-r--r-- | gtk2_ardour/editor_drag.cc | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/gtk2_ardour/editor_drag.cc b/gtk2_ardour/editor_drag.cc index b119aab1ea..c390533522 100644 --- a/gtk2_ardour/editor_drag.cc +++ b/gtk2_ardour/editor_drag.cc @@ -2397,7 +2397,7 @@ NoteResizeDrag::motion (GdkEvent* event, bool /*first_move*/) if (!ArdourKeyboard::indicates_snap_delta (event->button.state)) { sd = _snap_delta; } - mrv->update_resizing (nb, at_front, _drags->current_pointer_x() - grab_x(), relative, sd); + mrv->update_resizing (nb, at_front, _drags->current_pointer_x() - grab_x(), relative, sd, event->button.state); } } } @@ -2415,7 +2415,7 @@ NoteResizeDrag::finished (GdkEvent* event, bool /*movement_occurred*/) sd = _snap_delta; } if (mrv) { - mrv->commit_resizing (nb, at_front, _drags->current_pointer_x() - grab_x(), relative, sd); + mrv->commit_resizing (nb, at_front, _drags->current_pointer_x() - grab_x(), relative, sd, event->button.state); } } @@ -5213,6 +5213,11 @@ NoteDrag::total_dx (guint const state) const st = max (st, rp); /* snap and return corresponding delta */ + + if (ArdourKeyboard::indicates_snap (state)) { + return (st - rp) + rp - n - snap_delta (state); + } + return _region->snap_frame_to_frame (st - rp) + rp - n - snap_delta (state); } |