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
@ -1684,8 +1684,12 @@ MidiModel::set_midi_source (boost::shared_ptr<MidiSource> s)
|
|||||||
void
|
void
|
||||||
MidiModel::source_interpolation_changed (Evoral::Parameter p, Evoral::ControlList::InterpolationStyle s)
|
MidiModel::source_interpolation_changed (Evoral::Parameter p, Evoral::ControlList::InterpolationStyle s)
|
||||||
{
|
{
|
||||||
Glib::Threads::Mutex::Lock lm (_control_lock);
|
{
|
||||||
control(p)->list()->set_interpolation (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
|
/** A ControlList has signalled that its interpolation style has changed. Again, in order to keep
|
||||||
@ -1703,9 +1707,13 @@ MidiModel::control_list_interpolation_changed (Evoral::Parameter p, Evoral::Cont
|
|||||||
void
|
void
|
||||||
MidiModel::source_automation_state_changed (Evoral::Parameter p, AutoState s)
|
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 ());
|
Glib::Threads::Mutex::Lock lm (_control_lock);
|
||||||
al->set_automation_state (s);
|
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
|
void
|
||||||
|
Loading…
Reference in New Issue
Block a user