diff --git a/assets/js/creations/audio/audio_ui.js b/assets/js/creations/audio/audio_ui.js index 6f10a904..42967706 100755 --- a/assets/js/creations/audio/audio_ui.js +++ b/assets/js/creations/audio/audio_ui.js @@ -188,6 +188,10 @@ export function renderAudioEditor() { if (!audioEditor || !existingTrackContainer) return; + // ✅ Salva o scroll atual (senão toda edição “pula” pro início) + const prevScrollLeft = existingTrackContainer.scrollLeft || 0; + const prevScrollTop = existingTrackContainer.scrollTop || 0; + _ensureGlobalPlaylistSelectionFields(); _installPlaylistKeybindOnce(); @@ -1370,8 +1374,22 @@ export function renderAudioEditor() { } } }); + + // ✅ Restaura o scroll anterior após reconstruir o container + // (evita “voltar pro início” depois de mover/redimensionar/deletar) + try { + newTrackContainer.scrollLeft = prevScrollLeft; + newTrackContainer.scrollTop = prevScrollTop; + + // mantém régua alinhada (caso ela suporte scrollLeft) + const mainRuler = tracksParent.querySelector(".timeline-ruler"); + if (mainRuler) mainRuler.scrollLeft = prevScrollLeft; + } catch (err) { + // silencioso: não pode quebrar a DAW + } } + export function updateAudioEditorUI() { const playBtn = document.getElementById("audio-editor-play-btn"); if (!playBtn) return;