v0.8.0 — Beats tab, Auto-DJ, Pan/Shape macros
Three new live-performance surfaces + macro audit fixes. Live at https://beats.bitwrap.io.
Beats (stinger fire pads)
- Reserved
hit1–hit4tracks 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).
Pitdropdown transposes;FXdropdown 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.3as 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.