From 9653306a6801d11da534e6672b2184f7ad46790b Mon Sep 17 00:00:00 2001 From: luciano Date: Fri, 19 Jun 2026 15:44:28 +0200 Subject: [PATCH] Text effects, pad crossfade, playback progress + per-track durations - Scrolling text: font, size, weight, colour and movement effects (up/down, wave, zoom, flash, rotate) rendered per-letter (and captured in recordings). - Larger multiline text input. - Pad bank: crossfade between pads (per-source gain ramps in the audio engine). - Duration + remaining-time and progress bars for the playlist and the active pad, via metadata probing and live progress reports from the output window. Co-Authored-By: Claude Opus 4.8 (1M context) --- src/audio.js | 38 +++++++++++++++++++++++----- src/control.html | 30 +++++++++++++++++++++- src/control.js | 57 ++++++++++++++++++++++++++++++++++++----- src/output.html | 2 +- src/output.js | 61 ++++++++++++++++++++++++++++++++++++++------ src/style.css | 66 +++++++++++++++++++++++++++++++++++++++++++----- 6 files changed, 226 insertions(+), 28 deletions(-) diff --git a/src/audio.js b/src/audio.js index c5e8792..118f27f 100644 --- a/src/audio.js +++ b/src/audio.js @@ -29,6 +29,7 @@ class AudioEngine { } catch (e) { /* ConstantSource unsupported: live/file audio still flows */ } this.sourceNode = null; // current MediaElement / MediaStream source + this.sourceGain = null; // per-source gain (for crossfades) this.mediaEl = null; //