Scene-only playlists: playSilence keeps a live audio input running

A playlist made only of ✨ Intermezzo scenes is the visuals-only sequencer
(effects/text/images on a timeline, chained and looping with repeat), but
playSilence tore down the live input source, so effects stopped reacting to
the DJ's real music. Now only file/track audio is silenced; a mic/line/
BlackHole input keeps feeding the analyser through every scene.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
lucianoandClaude Fable 5 committed 2026-08-05 16:00:42 +02:00
1 parent fe1cada045
commit 9be7f0d0eb
2 files changed
+5 -3

No files matched your search

+1 -1
View File
@@ -71,7 +71,7 @@
<label>Playlist <span id="playlist-count">0 brani</span></label>
<div class="row">
<button id="btn-add-tracks">➕ Aggiungi brani/video</button>
<button id="btn-add-interlude">✨ Intermezzo effetti</button>
<button id="btn-add-interlude" title="Scena visiva senza brano: effetti/testi/immagini a tempo per la durata scelta. Una playlist può essere fatta SOLO di scene (musica dal vivo via Input live)">✨ Intermezzo effetti</button>
<button id="btn-clear-playlist">🗑 Svuota</button>
<label class="chk"><input type="checkbox" id="repeat-playlist" /> Ripeti</label>
</div>
+4 -2
View File
@@ -433,11 +433,13 @@ djv.onControl(async (m) => {
} catch (e) { djv.report({ type: 'error', message: e.message }); }
break;
case 'playSilence':
// Visual-only interlude: stop audio + hide the video, keep visuals going.
// Visual-only interlude: stop track audio + hide the video, keep visuals
// going. A LIVE input (mic/line/BlackHole) is left running: a playlist
// made only of scenes must stay audio-reactive to the DJ's real music.
try {
trackVideo.pause(); trackVideo.classList.remove('show');
audio.onEnded = null;
audio.silence();
if (audio.mode !== 'input') audio.silence();
hideHint();
djv.report({ type: 'playState', playing: true });
} catch (e) { djv.report({ type: 'error', message: e.message }); }