Directly apply MIDI automation state changes
Previously "play/off" and "discrete/linear" changes had no effect until the MIDI playlist was edited and MIDI re-read into RAM.
This commit is contained in:
parent
9c6d9324bd
commit
f76c897f04
@ -1683,10 +1683,14 @@ MidiModel::set_midi_source (boost::shared_ptr<MidiSource> s)
|
||||
*/
|
||||
void
|
||||
MidiModel::source_interpolation_changed (Evoral::Parameter p, Evoral::ControlList::InterpolationStyle s)
|
||||
{
|
||||
{
|
||||
Glib::Threads::Mutex::Lock lm (_control_lock);
|
||||
control(p)->list()->set_interpolation (s);
|
||||
}
|
||||
/* re-read MIDI */
|
||||
ContentsChanged (); /* EMIT SIGNAL */
|
||||
}
|
||||
|
||||
/** A ControlList has signalled that its interpolation style has changed. Again, in order to keep
|
||||
* MidiSource and ControlList interpolation state in sync, we pass this change onto our MidiSource.
|
||||
@ -1702,11 +1706,15 @@ MidiModel::control_list_interpolation_changed (Evoral::Parameter p, Evoral::Cont
|
||||
|
||||
void
|
||||
MidiModel::source_automation_state_changed (Evoral::Parameter p, AutoState s)
|
||||
{
|
||||
{
|
||||
Glib::Threads::Mutex::Lock lm (_control_lock);
|
||||
boost::shared_ptr<AutomationList> al = boost::dynamic_pointer_cast<AutomationList> (control(p)->list ());
|
||||
al->set_automation_state (s);
|
||||
}
|
||||
/* re-read MIDI */
|
||||
ContentsChanged (); /* EMIT SIGNAL */
|
||||
}
|
||||
|
||||
void
|
||||
MidiModel::automation_list_automation_state_changed (Evoral::Parameter p, AutoState s)
|
||||
|
Loading…
Reference in New Issue
Block a user