13
0

tempo map: when resetting, set beat/quarter positions as well as audio positions

introducing a new time signature that uses non-quarter notes as the denominator
will move the beat position a given BBT time (since the middle "B" of BBT
refers to "beats" given by the denominator, not quarters).
This commit is contained in:
Paul Davis 2022-11-21 15:33:53 -07:00
parent 6af9dffa7c
commit f5887b978d

View File

@ -1238,8 +1238,8 @@ TempoMap::reset_starting_at (superclock_t sc)
if (!mtp) { if (!mtp) {
DEBUG_TRACE (DEBUG::MapReset, string_compose ("recompute %1 using %2\n", p->bbt(), metric)); DEBUG_TRACE (DEBUG::MapReset, string_compose ("recompute %1 using %2\n", p->bbt(), metric));
superclock_t sc = metric.superclock_at (p->bbt()); superclock_t sc = metric.superclock_at (p->bbt());
DEBUG_TRACE (DEBUG::MapReset, string_compose ("\tbased on %1 move to %2,%3\n", p->bbt(), sc, p->beats())); DEBUG_TRACE (DEBUG::MapReset, string_compose ("\tbased on %1 move to %2,%3\n", p->bbt(), sc, metric.meter().quarters_at (p->bbt())));
p->set (sc, p->beats(), p->bbt()); p->set (sc, metric.meter().quarters_at (p->bbt()), p->bbt());
} else { } else {
DEBUG_TRACE (DEBUG::MapReset, "\tnot recomputing this one\n"); DEBUG_TRACE (DEBUG::MapReset, "\tnot recomputing this one\n");
} }