From 39859e47c72ecc91e68d84d6f2d87ce6abf7e06c Mon Sep 17 00:00:00 2001 From: Paul Davis Date: Wed, 19 Feb 2014 13:22:41 -0500 Subject: click (no drag) on automation line now adds a new control point on the line (not fully checked for precision) --- gtk2_ardour/editor_drag.cc | 20 +++++++++++++++++--- 1 file changed, 17 insertions(+), 3 deletions(-) (limited to 'gtk2_ardour') diff --git a/gtk2_ardour/editor_drag.cc b/gtk2_ardour/editor_drag.cc index a7060dd433..8118aa3dbc 100644 --- a/gtk2_ardour/editor_drag.cc +++ b/gtk2_ardour/editor_drag.cc @@ -3275,10 +3275,24 @@ 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(_editor->clicked_axisview)) != 0) { + framepos_t where = _editor->event_frame (event, 0, 0); + atv->add_automation_event (event, where, event->button.y, false); + } + } + _editor->session()->commit_reversible_command (); } -- cgit v1.2.3