Loading…
Loading…
Rule
Gradus GE-205 · cite this code — it is permanent. Rule id dynamic-annotation-position-must-follow-voice-role
On a stave shared by two voices, a dynamic (or expression) marking belonging to the upper (stem-up) voice is conventionally placed ABOVE the staff, and one belonging to the lower (stem-down) voice is placed BELOW — the opposite of single-voice writing, where dynamics always go below regardless of stem direction. This positional convention is what tells the reader which voice a shared-stave dynamic belongs to.
Gould, Behind Bars, ch. on dynamics in multi-voice contexts: dynamics for a shared-stave upper part are placed above the staff specifically to disambiguate from the lower part's marks, following the same logic as the opposed-stem convention itself.
This rule can be decided from pitches, durations and voices — no layout required. A validator can check it before anything is drawn.
Gradus GE-205 — Dynamic markings are hard-coded to render below the staff for every voice, in BOTH renderers — wrong for the upper voice of a shared pair. Gradus Engraving Rulebook v1.0. https://gradusmusic.com/engraving/rule/dynamic-annotation-position-must-follow-voice-role
Rulebook v1.0 · text licensed CC-BY-4.0 · machine-readable at /api/v1/engraving/rules/dynamic-annotation-position-must-follow-voice-role