Fix playhead moving beyond loop range
When some other transport related session event (anything that requires non_realtime_work_pending, e.g. PostTransportOverWrite) coincides with SessionEvent::AutoLoop, the auto-loop event was removed from the main event queue and executed as one-shot immediate event. While looping the AutoLoop event needs to remain on the main event queue.
This commit is contained in:
parent
dc92ed1bc9
commit
6cc54aa1b0
@ -911,7 +911,8 @@ Session::process_event (SessionEvent* ev)
|
||||
|
||||
/* except locates, which we have the capability to handle */
|
||||
|
||||
if (ev->type != SessionEvent::Locate) {
|
||||
if (ev->type != SessionEvent::Locate && ev->type != SessionEvent::AutoLoop) {
|
||||
DEBUG_TRACE (DEBUG::SessionEvents, string_compose ("Postponing and moving event to immediate queue: %1 @ %2\n", enum_2_string (ev->type), _transport_sample));
|
||||
immediate_events.insert (immediate_events.end(), ev);
|
||||
_remove_event (ev);
|
||||
return;
|
||||
|
Loading…
Reference in New Issue
Block a user