diff --git a/libs/ardour/automation_list.cc b/libs/ardour/automation_list.cc index 014b4c511b..8ceab4f3ea 100644 --- a/libs/ardour/automation_list.cc +++ b/libs/ardour/automation_list.cc @@ -444,6 +444,7 @@ AutomationList::deserialize_events (const XMLNode& node) ok = false; break; } + y = std::min ((double)_desc.upper, std::max ((double)_desc.lower, y)); fast_simple_add (x, y); } @@ -501,6 +502,7 @@ AutomationList::set_state (const XMLNode& node, int version) continue; } + y = std::min ((double)_desc.upper, std::max ((double)_desc.lower, y)); fast_simple_add (x, y); } diff --git a/libs/evoral/src/ControlList.cpp b/libs/evoral/src/ControlList.cpp index 8bb1c125d2..a05c1f9308 100644 --- a/libs/evoral/src/ControlList.cpp +++ b/libs/evoral/src/ControlList.cpp @@ -412,6 +412,9 @@ ControlList::fast_simple_add (double when, double value) _events.insert (_events.end(), new ControlEvent (when, value)); mark_dirty (); + if (_frozen) { + _sort_pending = true; + } } void