From a4833325125343bf4f3292a5b6a9b9ccf3aa33b0 Mon Sep 17 00:00:00 2001 From: Cooper Dalrymple Date: Fri, 22 Aug 2025 11:34:33 -0500 Subject: [PATCH] Scale current duration when tempo is adjusted --- shared-module/synthio/MidiTrack.c | 1 + 1 file changed, 1 insertion(+) diff --git a/shared-module/synthio/MidiTrack.c b/shared-module/synthio/MidiTrack.c index df8e5bdbea1b2..1cccd440fad9e 100644 --- a/shared-module/synthio/MidiTrack.c +++ b/shared-module/synthio/MidiTrack.c @@ -122,6 +122,7 @@ mp_int_t common_hal_synthio_miditrack_get_tempo(synthio_miditrack_obj_t *self) { void common_hal_synthio_miditrack_set_tempo(synthio_miditrack_obj_t *self, mp_int_t value) { mp_int_t val = mp_arg_validate_int_min(value, 1, MP_QSTR_tempo); + self->synth.span.dur = (uint32_t)self->synth.span.dur * self->tempo / val; self->tempo = val; }