From f5887b978d43a71c814c0c7f198622a203d772f7 Mon Sep 17 00:00:00 2001 From: Paul Davis Date: Mon, 21 Nov 2022 15:33:53 -0700 Subject: [PATCH] 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). --- libs/temporal/tempo.cc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/libs/temporal/tempo.cc b/libs/temporal/tempo.cc index 41112d1d24..1e3fda4b55 100644 --- a/libs/temporal/tempo.cc +++ b/libs/temporal/tempo.cc @@ -1238,8 +1238,8 @@ TempoMap::reset_starting_at (superclock_t sc) if (!mtp) { DEBUG_TRACE (DEBUG::MapReset, string_compose ("recompute %1 using %2\n", p->bbt(), metric)); 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())); - p->set (sc, p->beats(), p->bbt()); + 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, metric.meter().quarters_at (p->bbt()), p->bbt()); } else { DEBUG_TRACE (DEBUG::MapReset, "\tnot recomputing this one\n"); }