Loading…
Loading…
Rule
Gradus GE-108 · cite this code — it is permanent. Rule id expr-hairpin-overlap-nested
A voice has one active hairpin at a time; a second hairpin cannot begin before the first has ended (no overlapping wedges, no nested wedges) — a change of direction mid-swell (cresc. then immediately dim.) is written as two back-to-back, non-overlapping hairpins meeting at a shared point, or as a single "messa di voce" shape which Gradus's schema has no dedicated symbol for.
`hairpins: [{ from: 2, to: 10, type: "cresc" }, { from: 6, to: 8, type: "decresc" }]` — the second wedge starts and ends fully inside the first, producing two overlapping wedge shapes drawn on top of each other below the same staff.
Gould, Behind Bars, ch. Dynamics; Ross, The Art of Music Engraving — both show hairpins as strictly sequential, non-overlapping spans within one voice/part.
This rule can be decided from pitches, durations and voices — no layout required. A validator can check it before anything is drawn.
Gradus GE-108 — No two hairpins overlap or nest in the same voice without resolving in between. Gradus Engraving Rulebook v1.0. https://gradusmusic.com/engraving/rule/expr-hairpin-overlap-nested
Rulebook v1.0 · text licensed CC-BY-4.0 · machine-readable at /api/v1/engraving/rules/expr-hairpin-overlap-nested