keep visualizers active after clearing playlist while audio is still playing

This commit is contained in:
Armin 2026-07-08 19:31:52 +02:00
commit cba38cf500

View file

@ -560,7 +560,7 @@ function drawSpectrum() {
} }
} }
const vuCanvas = document.getElementById('vuMeter'); const vuCanvas = document.getElementById('vuMeter');
if (vuCanvas && tracks.length && analyserL && analyserR) { if (vuCanvas && (tracks.length || !audio.paused) && analyserL && analyserR) {
const vuctx = vuCanvas.getContext('2d'); const vuctx = vuCanvas.getContext('2d');
const vuRect = vuCanvas.getBoundingClientRect(); const vuRect = vuCanvas.getBoundingClientRect();
const vuDpr = window.devicePixelRatio || 1; const vuDpr = window.devicePixelRatio || 1;
@ -1683,13 +1683,14 @@ isolateBtn.addEventListener('click', isolateTracks);
deleteBtn.addEventListener('click', deleteTrack); deleteBtn.addEventListener('click', deleteTrack);
clearBtn.addEventListener('click', () => { clearBtn.addEventListener('click', () => {
if (tracks.length === 0) return; if (tracks.length === 0) return;
audio.pause(); if (currentIndex >= 0) {
audio.src = ''; const current = tracks[currentIndex];
audio.load(); tracks = [current];
if (isCrossfading) { audioNext.pause(); audioNext.src = ''; audioNext.load(); } currentIndex = 0;
for (const t of tracks) URL.revokeObjectURL(t.url); } else {
tracks = []; tracks = [];
currentIndex = -1; currentIndex = -1;
}
selectedIndices.clear(); selectedIndices.clear();
anchorTrack = null; anchorTrack = null;
renderTracks(); renderTracks();