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.
This commit is contained in:
parent
135ffdcf6b
commit
c4578db595
@ -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);
|
||||
}
|
||||
|
||||
|
@ -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
|
||||
|
Loading…
Reference in New Issue
Block a user