click (no drag) on automation line now adds a new control point on the line (not...
[ardour.git] / gtk2_ardour / editor_drag.cc
index d8209d4b518a38fbcbcff6daaeb63f3926c10274..cff5a233e33c11cc189f890421d1bd2677035e36 100644 (file)
@@ -3318,10 +3318,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<AutomationTimeAxisView*>(_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 ();
 }