Update ghost note presence when mouse mode is changed. Fixes #3559.
[ardour.git] / gtk2_ardour / automation_controller.cc
index f63f2ed70c4fb48bc92c3ab38ce5c9d5f12b90ea..aa23cb2601e860c3707fb608b9610c19c26ff54c 100644 (file)
 */
 
 #include <iomanip>
+
 #include "pbd/error.h"
+
 #include "ardour/automation_list.h"
 #include "ardour/automation_control.h"
 #include "ardour/event_type_map.h"
 #include "ardour/automatable.h"
 #include "ardour/panner.h"
+#include "ardour/session.h"
+
 #include "ardour_ui.h"
 #include "utils.h"
 #include "automation_controller.h"
@@ -121,13 +125,24 @@ AutomationController::value_adjusted()
 void
 AutomationController::start_touch()
 {
-       _controllable->start_touch();
+       _controllable->start_touch (_controllable->session().transport_frame());
 }
 
 void
-AutomationController::end_touch()
+AutomationController::end_touch ()
 {
-       _controllable->stop_touch();
+        if (_controllable->automation_state() == Touch) {
+
+                bool mark = false;
+                double when = 0;
+                
+                if (_controllable->session().transport_rolling()) {
+                        mark = true;
+                        when = _controllable->session().transport_frame();
+                }
+
+                _controllable->stop_touch (mark, when);
+        }
 }
 
 void