You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
multi_staff_example: implement MultiStaffRenderer for score rendering #7
In example/lib/examples/multi_staff_example.dart:221 there is a TODO:
// TODO: Render score using MultiStaffRenderer// For now, show staff groups info
Task
Implement MultiStaffRenderer (or equivalent) to render a full Score (with multiple StaffGroups and Staffs) on a single canvas, replacing the current fallback that only shows metadata.
Acceptance criteria
MultiStaffRenderer renders all staff groups in the score vertically
Braces/brackets for staff groups are drawn correctly
The multi_staff_example.dart demo uses the renderer to display an actual score
Notes
StaffGroup and Score classes already exist in lib/core/
Fixed in 2.8.0. What this asked for exists under a different name: ScoreView renders a whole Score — every StaffGroup stacked vertically, each aligned on the shared horizontal onset grid (ADR-002), with its brace or bracket and its system-spanning barlines actually drawn.
What was missing was anywhere to see it. multi_staff_example.dart had a // TODO: Render score using MultiStaffRenderer and printed the group metadata as text instead — a placeholder that reads as a feature, since printing "Bracket Type: brace" next to a score with no brace in it looks like output. It now renders the score with ScoreView and keeps the metadata card underneath as a description of the score above it rather than a stand-in for one.
There is also a gallery page for the case that actually needs a Score rather than a single StaffGroup: Ensemble Scores, with a four-staff bracketed choir above a two-staff piano brace, different rhythms per group, on one grid.
Worth knowing if you look at that alignment: it was measurably wrong until 2.8.0. The shared grid took the widest ABSOLUTE X at each onset, so a dense passage on one staff stole space from the others — an SATB choir's four quarters spaced 61 / 61 / 60 px alone and collapsed to 118 / 28 / 35 beside a piano triplet. It is built from per-onset STEPS now.
Activity
feat: release 2.5.0 with MEI v5 100% conformance and code quality fixes
feat: release 2.5.0 with MEI v5 100% conformance and code quality fixes
docs(issues): mark multi-staff (#7) addressed and Jianpu as WIP
feat(example): expand the gallery to the use cases it never covered
alessonqueirozdev-hub commentedon Aug 31, 2026
Fixed in 2.8.0. What this asked for exists under a different name:
ScoreViewrenders a wholeScore— everyStaffGroupstacked vertically, each aligned on the shared horizontal onset grid (ADR-002), with its brace or bracket and its system-spanning barlines actually drawn.What was missing was anywhere to see it.
multi_staff_example.darthad a// TODO: Render score using MultiStaffRendererand printed the group metadata as text instead — a placeholder that reads as a feature, since printing "Bracket Type: brace" next to a score with no brace in it looks like output. It now renders the score withScoreViewand keeps the metadata card underneath as a description of the score above it rather than a stand-in for one.There is also a gallery page for the case that actually needs a
Scorerather than a singleStaffGroup: Ensemble Scores, with a four-staff bracketed choir above a two-staff piano brace, different rhythms per group, on one grid.Worth knowing if you look at that alignment: it was measurably wrong until 2.8.0. The shared grid took the widest ABSOLUTE X at each onset, so a dense passage on one staff stole space from the others — an SATB choir's four quarters spaced 61 / 61 / 60 px alone and collapsed to 118 / 28 / 35 beside a piano triplet. It is built from per-onset STEPS now.