13
0

Fix MIDI Clock sync

This fixes a deadlock, because tempo-map write copy
was not released. A later call to TempoMap::write_copy
will deadlock and in this case also hold the process lock.

This can happen if there is more than one tempo on the
timeline or if the tempo-difference is too large.
This commit is contained in:
Robin Gareus 2022-10-18 20:44:16 +02:00
parent 073d6f5e80
commit 22829e96b1
Signed by: rgareus
GPG Key ID: A090BCE02CF57F04

View File

@ -7483,8 +7483,10 @@ Session::maybe_update_tempo_from_midiclock_tempo (float bpm)
if (fabs (metric.tempo().note_types_per_minute() - bpm) > (0.01 * metric.tempo().note_types_per_minute())) {
tmap->change_tempo (metric.get_editable_tempo(), Tempo (bpm, 4.0, bpm));
TempoMap::update (tmap);
return;
}
}
TempoMap::abort_update ();
}
void