mirror of
https://github.com/Ardour/ardour.git
synced 2025-12-09 00:04:56 +01:00
Create discrete lists for recorded MIDI controls.
This commit is contained in:
parent
86de0386c9
commit
07a381a8f5
1 changed files with 12 additions and 1 deletions
|
|
@ -1080,7 +1080,18 @@ Sequence<Time>::append_control_unlocked(const Parameter& param, Time time, doubl
|
||||||
{
|
{
|
||||||
DEBUG_TRACE (DEBUG::Sequence, string_compose ("%1 %2 @ %3 = %4 # controls: %5\n",
|
DEBUG_TRACE (DEBUG::Sequence, string_compose ("%1 %2 @ %3 = %4 # controls: %5\n",
|
||||||
this, _type_map.to_symbol(param), time, value, _controls.size()));
|
this, _type_map.to_symbol(param), time, value, _controls.size()));
|
||||||
boost::shared_ptr<Control> c = control(param, true);
|
boost::shared_ptr<Control> c;
|
||||||
|
Controls::iterator i = _controls.find(param);
|
||||||
|
if (i != _controls.end()) {
|
||||||
|
c = i->second;
|
||||||
|
} else {
|
||||||
|
/* Create a new control list with discrete interpolation by default, to
|
||||||
|
play back recorded data exactly. */
|
||||||
|
c = control_factory(param);
|
||||||
|
c->list()->set_interpolation(ControlList::Discrete);
|
||||||
|
add_control(c);
|
||||||
|
}
|
||||||
|
|
||||||
c->list()->add (time.to_double(), value);
|
c->list()->add (time.to_double(), value);
|
||||||
/* XXX control events should use IDs */
|
/* XXX control events should use IDs */
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue