Skip to content

feat: route arrangement playback through mixer#52

Merged
britle20 merged 2 commits into
developfrom
feat/43-mixer-audio-routing
Jun 13, 2026
Merged

feat: route arrangement playback through mixer#52
britle20 merged 2 commits into
developfrom
feat/43-mixer-audio-routing

Conversation

@britle20

Copy link
Copy Markdown
Collaborator

Summary

Connects the arrangement mixer panel to real SONG playback routing.

Closes #43

Changes

  • Added serializable track and master mixer state helpers under src/model/mixer.ts.
  • Added track-aware arrangement playback events by preserving trackId during clip-instance expansion.
  • Routed track-aware scheduled sources through per-track gain/analyser nodes and a master gain/analyser node in the browser audio engine.
  • Reworked the mixer panel into a controlled UI for track volume, mute, solo, master volume, and runtime meter display.
  • Added unit tests for dB-to-gain conversion, mute/solo effective audibility, mixer state updates, and track-aware event expansion.
  • Updated mixer-related docs and marked the feature spec as in review.

Testing

  • npm run typecheck
  • npm run lint
  • npm run test
  • npm run build

Manual check:

Screenshots

If UI changed, add screenshots or a short recording.

Notes / Limitations

  • Manual browser audio checks still need reviewer confirmation: place clips on multiple tracks, play in SONG mode, then test fader, mute, solo, master volume, and meters.
  • Effect slots remain disabled placeholders.
  • Mixer routing applies to track-aware SONG arrangement events; PAT and preview playback remain on the existing direct playback path.

Follow-up

  • Future features can persist mixer state once IndexedDB/project persistence is implemented.
  • Pan, sends, buses, automation, effects, and export rendering remain separate issues.

@britle20 britle20 merged commit c6755dc into develop Jun 13, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant