diff --git a/assets/js/creations/pattern/pattern_audio.js b/assets/js/creations/pattern/pattern_audio.js index d33cd257..1edbf428 100755 --- a/assets/js/creations/pattern/pattern_audio.js +++ b/assets/js/creations/pattern/pattern_audio.js @@ -583,7 +583,12 @@ export function startSongPatternPlaybackOnTransport() { const stepIntervalSec = 60 / (bpm * 4); // step absoluto do song (considera seek do Transport) - const songStep = Math.floor(Tone.Transport.seconds / stepIntervalSec + 1e-6); + const transportSec = Tone.Transport.getSecondsAtTime + ? Tone.Transport.getSecondsAtTime(time) + : Tone.Transport.seconds; + + const songStep = Math.floor(transportSec / stepIntervalSec + 1e-6); + const songTick = songStep * LMMS_TICKS_PER_STEP; // quais patterns (colunas) estão ativas neste tick? @@ -660,7 +665,7 @@ export function startSongPatternPlaybackOnTransport() { try { // Verifica se já está tocando. Se sim, para imediatamente antes de recomeçar. if (track.player.state === "started") { - track.player.stop(); + track.player.stop(time); } track.player.start(time); } catch {}