From b7e645ec61ab531917a03cdab14a8c22670677f7 Mon Sep 17 00:00:00 2001 From: Robin Gareus Date: Mon, 27 Jun 2016 19:04:38 +0200 Subject: [PATCH] switching to "touch" implies existing automation. This fixes an issue of Fader jumping to unity when switching from manual to touch if there is no prior automation. Likewise for plugin parameters jumping to "default" --- libs/ardour/automation_control.cc | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/libs/ardour/automation_control.cc b/libs/ardour/automation_control.cc index 2be0538229..e0ebc00062 100644 --- a/libs/ardour/automation_control.cc +++ b/libs/ardour/automation_control.cc @@ -144,6 +144,8 @@ AutomationControl::set_automation_state (AutoState as) } if (_list && as != alist()->automation_state()) { + const double val = get_value (); + alist()->set_automation_state (as); if (_desc.toggled) { return; // No watch for boolean automation @@ -152,6 +154,10 @@ AutomationControl::set_automation_state (AutoState as) if (as == Write) { AutomationWatch::instance().add_automation_watch (shared_from_this()); } else if (as == Touch) { + if (alist()->empty()) { + Control::set_double (val, _session.transport_frame(), true); + Changed (true, Controllable::NoGroup); + } if (!touching()) { AutomationWatch::instance().remove_automation_watch (shared_from_this()); } else {