From 9be7f0d0eb43e30ab82192ae21438185049f5359 Mon Sep 17 00:00:00 2001 From: luciano Date: Wed, 5 Aug 2026 16:00:42 +0200 Subject: [PATCH] Scene-only playlists: playSilence keeps a live audio input running MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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 --- src/control.html | 2 +- src/output.js | 6 ++++-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/src/control.html b/src/control.html index 5cc9460..a2572a3 100644 --- a/src/control.html +++ b/src/control.html @@ -71,7 +71,7 @@
- +
diff --git a/src/output.js b/src/output.js index 5e0861f..0e3b168 100644 --- a/src/output.js +++ b/src/output.js @@ -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 }); }