summaryrefslogtreecommitdiff
path: root/gtk2_ardour/editor_drag.cc
diff options
context:
space:
mode:
authornick_m <mainsbridge@gmail.com>2015-05-22 06:54:16 +1000
committernick_m <mainsbridge@gmail.com>2015-05-22 06:54:16 +1000
commit784abd03e0d0d5ff38dbe2c97c8cce157c39e1d1 (patch)
tree3e868a7735611f3d3361b61712084a6868a10054 /gtk2_ardour/editor_drag.cc
parent37ee083931c6e57e0d5611ac909294126d92ba05 (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.cc9
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);
}