From ff2f93497793545fbe6206e3d3c8cf559619d2a9 Mon Sep 17 00:00:00 2001 From: nick_m Date: Sat, 3 Oct 2015 23:47:52 +1000 Subject: [PATCH] Fix incorrect initial point when recording toggled automation. --- libs/evoral/src/ControlList.cpp | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/libs/evoral/src/ControlList.cpp b/libs/evoral/src/ControlList.cpp index d9c1b993bd..6d07ff150a 100644 --- a/libs/evoral/src/ControlList.cpp +++ b/libs/evoral/src/ControlList.cpp @@ -584,8 +584,15 @@ ControlList::add (double when, double value, bool with_guards, bool with_initial /* empty: add an "anchor" point if the point we're adding past time 0 */ if (when >= 1) { - _events.insert (_events.end(), new ControlEvent (0, value)); - DEBUG_TRACE (DEBUG::ControlList, string_compose ("@%1 added default value %2 at zero\n", this, _default_value)); + if (_desc.toggled) { + const bool bval = ((value >= 0.5) ? true : false); + _events.insert (_events.end(), new ControlEvent (0, !bval)); + DEBUG_TRACE (DEBUG::ControlList, string_compose ("@%1 added bool value %2 at zero\n", this, !bval)); + + } else { + _events.insert (_events.end(), new ControlEvent (0, value)); + DEBUG_TRACE (DEBUG::ControlList, string_compose ("@%1 added default value %2 at zero\n", this, _default_value)); + } } } -- 2.30.2