summaryrefslogtreecommitdiff
path: root/libs/evoral
diff options
context:
space:
mode:
authorRobin Gareus <robin@gareus.org>2017-07-04 20:12:51 +0200
committerRobin Gareus <robin@gareus.org>2017-07-04 20:12:51 +0200
commitc4578db595771b5db9572b23cfe3f9a7ebef66c3 (patch)
treeaf8f4fd9445491dc9701f5ef85239042d8cd6e65 /libs/evoral
parent135ffdcf6b27411b0d075449b0eda8e4c5fdd2cb (diff)
Compatibility with old out-of-range automation-lane data
Ardour may have ignored log-scale for parameters 0..N and allowed writing '0'. Force those values into the valid range on session load. Also mark the list as "needs sorting" which removes potential duplicates.
Diffstat (limited to 'libs/evoral')
-rw-r--r--libs/evoral/src/ControlList.cpp3
1 files changed, 3 insertions, 0 deletions
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