summaryrefslogtreecommitdiff
path: root/gtk2_ardour/editor_mouse.cc
diff options
context:
space:
mode:
authornick_m <mainsbridge@gmail.com>2017-02-26 05:07:51 +1100
committerRobin Gareus <robin@gareus.org>2017-02-27 20:16:10 +0100
commit211226983df8e46e8849dd0aeca422b89d3d4d79 (patch)
tree9b6394904a9a54f42483db07df4fb033cc3e9cdd /gtk2_ardour/editor_mouse.cc
parentc9387055e4e6ce15505509974fca24b4a6488767 (diff)
remove tempo end drag (the control drag on the curve). a;ter tempo marker drag.
- holding down shift before initiating a tempo mark drag alters the end tempo of the previous one as before, but this is now a separate drag. - restore vertical dragging of the tempo mark to alter start/ end tempo. shift during the makrker drag alters start tempo. xontrol + shift during the drag alters end tempo.
Diffstat (limited to 'gtk2_ardour/editor_mouse.cc')
-rw-r--r--gtk2_ardour/editor_mouse.cc32
1 files changed, 21 insertions, 11 deletions
diff --git a/gtk2_ardour/editor_mouse.cc b/gtk2_ardour/editor_mouse.cc
index f22d49a7a9..20aa9d2a18 100644
--- a/gtk2_ardour/editor_mouse.cc
+++ b/gtk2_ardour/editor_mouse.cc
@@ -686,14 +686,25 @@ Editor::button_press_handler_1 (ArdourCanvas::Item* item, GdkEvent* event, ItemT
case TempoMarkerItem:
{
- _drags->set (
- new TempoMarkerDrag (
- this,
- item,
- ArdourKeyboard::indicates_copy (event->button.state)
- ),
- event
- );
+ if (ArdourKeyboard::indicates_constraint (event->button.state)) {
+ _drags->set (
+ new TempoEndDrag (
+ this,
+ item
+ ),
+ event
+ );
+ } else {
+ _drags->set (
+ new TempoMarkerDrag (
+ this,
+ item,
+ ArdourKeyboard::indicates_copy (event->button.state)
+ ),
+ event
+ );
+ }
+
return true;
}
@@ -726,12 +737,11 @@ Editor::button_press_handler_1 (ArdourCanvas::Item* item, GdkEvent* event, ItemT
if (!Keyboard::modifier_state_equals (event->button.state, Keyboard::PrimaryModifier)
&& !ArdourKeyboard::indicates_constraint (event->button.state)) {
_drags->set (new CursorDrag (this, *playhead_cursor, false), event);
- } else if (ArdourKeyboard::indicates_constraint (event->button.state) && ArdourKeyboard::indicates_copy (event->button.state)) {
+ } else if (ArdourKeyboard::indicates_constraint (event->button.state)
+ && Keyboard::modifier_state_contains (event->button.state, Keyboard::SecondaryModifier)) {
_drags->set (new TempoTwistDrag (this, item), event);
} else if (ArdourKeyboard::indicates_constraint (event->button.state)) {
_drags->set (new BBTRulerDrag (this, item), event);
- } else if (ArdourKeyboard::indicates_copy (event->button.state)) {
- _drags->set (new TempoEndDrag ( this, item), event);
}
return true;
break;