Session::have_looped must only be true when we locate because we reached the loop end

Locating the start of the loop range at transport start does not count as "have looped". This was preventing
pre-roll when starting to loop, which in turn caused data/event loss because the start/end sample ranges
would be incorrect inside process
This commit is contained in:
Paul Davis 2020-03-09 15:39:44 -06:00
parent 1d17993a29
commit 9ef5f4d159

View File

@ -336,8 +336,10 @@ Session::locate (samplepos_t target_sample, bool with_roll, bool with_flush, boo
}
}
have_looped = true;
TransportLooped(); // EMIT SIGNAL
if (for_loop_end) {
have_looped = true;
TransportLooped(); // EMIT SIGNAL
}
}
}
}