summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2014-02-19 13:15:33 -0500
committerPaul Davis <paul@linuxaudiosystems.com>2014-02-19 23:25:24 -0500
commit58a8d50bdcf7659931b6f82d20fa0a2c2d1fd273 (patch)
tree1063198b0a7d83ca36625842838c2a603fb775e4
parent130df9c2b195e82ba223ef8541802d775e947610 (diff)
add a hack to deal with device discovery race, in which the devices were not actually known to be ready before the last update_surfaces() call (which is where binding between strips and routes occurs) ; add support for Mackie Control touch on/off messages
-rw-r--r--gtk2_ardour/editor_drag.cc21
1 files changed, 18 insertions, 3 deletions
diff --git a/gtk2_ardour/editor_drag.cc b/gtk2_ardour/editor_drag.cc
index d8209d4b51..7ba7b5207d 100644
--- a/gtk2_ardour/editor_drag.cc
+++ b/gtk2_ardour/editor_drag.cc
@@ -3318,10 +3318,25 @@ LineDrag::motion (GdkEvent* event, bool)
}
void
-LineDrag::finished (GdkEvent* event, bool)
+LineDrag::finished (GdkEvent* event, bool movement_occured)
{
- motion (event, false);
- _line->end_drag (false, 0);
+ if (movement_occured) {
+ motion (event, false);
+ _line->end_drag (false, 0);
+ } else {
+ /* add a new control point on the line */
+
+ AutomationTimeAxisView* atv;
+
+ _line->end_drag (false, 0);
+
+ if ((atv = dynamic_cast<AutomationTimeAxisView*>(_editor->clicked_axisview)) != 0) {
+ framepos_t where = _editor->event_frame (event, 0, 0);
+ std::cerr << "Add new point @ " << where << ", " << _drags->current_pointer_y() << std::endl;
+ atv->add_automation_event (event, where, _drags->current_pointer_y(), false);
+ }
+ }
+
_editor->session()->commit_reversible_command ();
}