Skip to content

v0.8.0 — Beats tab, Auto-DJ, Pan/Shape macros

Choose a tag to compare

@stackdump stackdump released this 18 Apr 20:13
· 420 commits to main since this release
435e71b

Three new live-performance surfaces + macro audit fixes. Live at https://beats.bitwrap.io.

Beats (stinger fire pads)

  • Reserved hit1–hit4 tracks on their own channels (20–23), muted by default, each driven by its own Petri net that fires every beat.
  • Curated instrument set: custom stingers (airhorn / laser / subdrop / booj) + percussion, stabs, bells, bass hits, short leads.
  • New reserved Unbound instrument leaves the slot silent while still triggering paired FX macros.
  • Each Fire pad routes through the track's channel strip (vol / pan / filter apply, bypasses mute). Pit dropdown transposes; FX dropdown pairs any macro with the Fire click — sound + effect in one tap.
  • Main mixer shows a Beats divider; hit rows hide when the tab is closed.

New macros

  • Pan group (per-channel, non-drum targets): Ping-Pong, Hard Left, Hard Right, Auto-Pan, Mono.
  • Shape group: Tighten (per-channel decay pull).
  • FX additions: Cathedral, Dub Delay, Res Ping.

Auto-DJ

  • Checkbox-armed hands-free performer. Every N bars picks a random macro from the checked pools (Mute / FX / Pan / Shape / Pitch / Tempo / Beats).
  • Stack (1–3) fires multiple simultaneously; skips the cycle entirely if a macro is already running or queued.
  • Optional Regen (8 / 16 / 32 / 64 bars) triggers a full Generate on a timer.
  • Spins the petri-net ring ±90° per fire, alternating CW/CCW; arrowheads flip direction on CCW passes so token flow matches the rotation.

UX improvements

  • Right-click any macro tile to toggle its Auto-DJ-disabled mark (line-through, persisted to localStorage).
  • Chase-light pulse on every slider / mute button / FX slider a macro is currently touching, with guaranteed cleanup (tab-hidden safe).
  • Default pan spread per track role at load so Mono / Ping-Pong / Hard L-R have audible effect on fresh projects.
  • FX, Macros, Beats, and Auto-DJ tabs stack independently (no longer mutually exclusive).

Bug fixes — macro equilibrium audit

  • Pan macros now snapshot each channel's pre-macro pan and restore to the user's setting instead of hardcoded center.
  • Tighten (decay) reuses the pre-macro snapshot on rapid re-fires instead of trapping 0.3 as the new equilibrium.
  • HardStop safety timer now applies the snapshot restore on rAF-stall / tab-hidden / orphan-token paths.

Docs

  • Help modal (in-app ?) rewritten to cover tabs, new macro groups, Beats, and Auto-DJ.
  • README + CLAUDE.md updated.