Changelog

Every session logged. Raw notes from the build — what shipped, what broke, what changed. RIDDAMS·8080 is built in public, one obsessive session at a time.

S·28 22 MAY 2026
Music Bed & Backing Track Latest
  • NEWMusic Bed / backing track player — load a WAV/MP3, sync to bar clock, loop with IN/OUT trim handles; VOL, MUTE, and bar-snapping waveform canvas editor
  • NEWBPM detection for backing files via web-audio-beat-detector — ½×/2× correction buttons, → PROJECT snap to master BPM
  • NEWCONFORM mode — stretches playback rate to match project BPM (pitch-shift trade-off noted)
  • NEWCompressor scope toggle (DRUMS / DRUMS+BED) — routes backing track through or around the master compressor
  • FIXComp header layout — DRUMS and ON buttons now sit adjacent; removed justify-content:space-between, added flex spacer
  • ARCHbuild.js now writes version chip back to source drum-machine.html on every build — local dev file stays in sync with version.json
  • UIVersion bumped v0.9.0 → v0.10.0 → v0.10.1 → v0.10.2; backing track panel hidden on load, revealed via ♪ BED toggle in header
S·25 14 MAY 2026
Automation Save/Restore
  • FIXAutomation lane state fully persisted — open/closed state and active parameter (Volume, Reverb, Delay, EQ etc.) now saved and restored with project files
  • NEWPer-track audition button (▶) in track row — fires the track sample instantly without starting the sequencer; LCD green glow on trigger
  • FIXBar follow state (song arranger FOLLOW toggle) now persisted across project saves
S·24 10 MAY 2026
808 Synth + Branding + Presets
  • NEW808 bass synth engine per-track — sine osc with pitch envelope, amplitude decay, optional click layer and drive saturation
  • NEWTrack modes: SINGLE, BLEND, 808 SYNTH, BLEND+808 — 808 routed through shared signal chain (EQ, pan, sends)
  • NEW12 built-in genre presets — House, Deep House, Techno, Trance, Hip Hop, Trap, Jungle, D&B, Afrobeats, Reggaeton, Funk, Latin/Salsa
  • NEWMood Mode (⬡) — canvas visualiser behind the UI, fires ring bursts and scatter dots per drum hit, colour-coded per track type
  • UIRebranded to RIDDAMS·8080 — updated title, header logo, subtitle; ♥ DONATE button linking to Ko-fi
  • ARCHCC BY-NC-ND 4.0 license — LICENSE.md, HTML comment header, in-app footer notice added
S·23 8 MAY 2026
Groove Editor
  • NEWManual groove editor modal — interactive 16-step timing and velocity offset canvases with drag-to-edit bars, zero/reset buttons
  • NEWSave, update in-place, save-as-copy, delete custom grooves — all undo-aware; COPY FROM BUILT-IN seeds from any of the 10 built-in templates
  • FIXGroove canvas drag wrote into stale array references — fixed by mutating arrays in-place
  • UIStep colour swatch reduced 22→18px to match visual weight of adjacent track row buttons
S·22 7 MAY 2026
PANIC + Verbal Count
  • NEW☠ PANIC button — stops playback, flushes scheduled audio via ctx.suspend/resume, clears runaway delay feedback and reverb tails
  • NEWVerbal beat count (COUNT) — cycles OFF / BEATS / SUBS / BARS using browser SpeechSynthesis; zero dependencies, respects time signature
  • ARCHCount events queued into scheduledSteps, fired from rAF loop aligned to ctx.currentTime — same timing path as step highlights
S·21 6 MAY 2026
Song Slot Labels
  • NEWSong arranger slots support user labels (INTRO, VERSE, CHORUS etc.) — double-click to name inline, max 8 chars, displayed below pattern letter
  • ARCHsongArrangement migrated from flat integer[] to {pat, label}[] — all call sites updated, old saves auto-migrated on load
S·20 5 MAY 2026
Spectrum Visualiser
  • FIXCanvas inactive on first load — resized inline per-frame against getBoundingClientRect instead of at script parse time before layout
  • FIXStale bars after stop — FFT buffer decayed in-place per frame while paused, canvas cleared once all bins reach zero
  • UICanvas fills master strip height exactly via position:absolute/inset:0 in a relative wrapper — no fixed pixel heights
  • ARCHPRE/POST source toggle removed — visualiser always reads post-master analyser node
S·19 4 MAY 2026
Track Meters + Pattern Copy
  • NEWPer-track peak output meter — 44×7px bar with green→yellow→orange→red gradient, exponential decay per frame, no signal-path effect
  • NEWPattern copy/paste (⧉/⎘) — deep-clones steps, automation, bar count, and meter context; refuses cross-meter paste
S·18 3 MAY 2026
Track Name Scroll
  • UILong track names scroll-to-reveal on hover — 350ms delay, ease-in-out duration scales with overflow distance, snaps back on mouseleave
  • FIXEllipsis flicker during scroll eliminated — text-overflow toggled to clip via .name-scrolling during animation travel
S·17 2 MAY 2026
EQ Lanes + Step Colour
  • NEW5 EQ automation lanes — eqLowGain, eqMidGain, eqMidFreq, eqMidQ, eqHighGain; green colour in lane dropdown and canvas
  • NEWPer-track step colour — 11 hue presets via colour swatch popover; velocity contrast preserved across all hues via HSL lightness levels
  • UITrack name pills restyled to phosphor LCD aesthetic — dark green background, #a4d96c text with green glow on hover
S·13–16 18–29 APR 2026
3-Band EQ + Track Names
  • NEWPer-track 3-band semi-parametric EQ — low shelf (100Hz), mid peak (200–8kHz, Q 0.3–10), high shelf (8kHz); ±12dB, pre-fader
  • NEWLive frequency-response curve in EQ tab — closed-form biquad approximation, orange when on, grey when bypassed
  • NEWTrack name truncation with ellipsis; per-track bar copy/paste; automation continuity seeding between bars
  • FIXPattern switch no longer shows stale automation lane canvases — buildSequencer() called on pattern change
S·7–12 25 MAR – 14 APR 2026
Time Signatures
  • NEWSimple meters 3/4–7/4 and compound meters 6/8, 9/8, 12/8 — BPM always means felt pulse, matching DAW convention
  • NEWStep tail preservation — trimmed steps stashed on bar shrink, restored on grow; cross-feel switches return clean bars
  • ARCHBass synth removed for drum-only v1.0 — ~54KB / 1,590 lines removed; save format bumped to v6
  • FIX6/8 felt double-tempo — barDurAt() helper extracted as single source of truth for bar duration across all scheduler sites
S·5–6 18–21 MAR 2026
Automation Lanes
  • NEWPer-track automation lanes — 9 parameters: volume, pan, reverb send, delay send, EQ low/mid/high gain, mid freq, mid Q; drawn as interactive breakpoint polylines
  • NEWPer-bar scoping — each bar has its own automation, switched via bar tabs; 5ms ramp at bar boundaries prevents clicks
  • ARCHPersistent per-track audio nodes (graph.trackNodes[ti]) — volume, pan, sends, EQ are continuously automatable AudioParams
S·1–4 14–15 MAR 2026
Foundation Build
  • ARCHCore Web Audio API sequencer — 16/32/64-step, 8-track drum machine with sub-millisecond look-ahead scheduling
  • NEWSample blend mode — two layers per track with shared waveform timeline, drag-shift, lock, align-transients, normalize
  • NEWFX modal — delay (ms/sync, digital/tape), 8 reverb algorithm presets, master SSL-style compressor
  • NEW10 built-in groove templates (Straight, MPC 54–66%, Dilla Feel, Detroit Swing, Halftime Shuffle, Broken Beat) + custom groove library
  • NEWPer-step: velocity 1–5, flam, reverse, pitch override ±24st; round robin sample slots; song arranger
  • NEWSelective export/import with copyright notices; undo/redo ring buffer (50 snapshots)
  • ARCHSingle self-contained HTML file — no external dependencies; obfuscated build via javascript-obfuscator, seed 0x8080