summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libs/ardour/automation_list.cc2
-rw-r--r--libs/evoral/src/ControlList.cpp3
2 files changed, 5 insertions, 0 deletions
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