Skip to content

feat: Multi-track rendering in NotationPanel #19

Description

@ElBeh

Description

Render multiple instrument tracks simultaneously in the NotationPanel
(e.g. guitar + bass). Useful during band practice when following several
parts at once. alphaTab supports this natively via api.renderTracks([...]).

Estimated effort: ~1 session (medium)

Requirements

  • Track selector supports multi selection (checkboxes), at least one track required
  • Persist selected track set per song (replaces single active track index)
  • Tuning display: show tuning of the first selected track
  • Verify sync cursor behavior with multiple rendered tracks
  • Verify mixer interaction (mute/solo/volume) with multi-track rendering
  • Band Sync: viewers select their track set locally, not synced (verify)
  • Verify rendering performance with 3+ tracks in page layout
  • Works in both layout modes, plays well with resizable panel height (#[Resize-Issue/PR])

Implementation

  • src/components/Tabs/NotationPanel.tsx: track selector UI, renderTracks call
  • Persistence: track set per song via config store or song metadata

Out of Scope

  • Per-track layout options (staff visibility, transposition)
  • Syncing track selection across Band Sync clients

Decisions

  • Native renderTracks over multiple alphaTab instances: single API, shared cursor and player
  • First selected track drives track-dependent features (tuning display) to keep behavior deterministic

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions