Skip to content

1.9.1

Choose a tag to compare

@sbeitzel sbeitzel released this 26 Sep 15:51
· 56 commits to main since this release
c3e0a37

Stems join their noteheads cleanly.

A rendering fix. 1.9.0 drew each stem with its centreline on the notehead's edge, hung
flags from the stem's centreline, and stopped beams at the outer stems' centrelines, so
every join showed a step. No API changes.

Stems, flags and beams use the SMuFL anchors (#181)

Bravura says where a stem meets its notehead and where a flag meets its stem, in the
anchors of bravura_metadata.json. CeolKit parsed them but never read them. Now:

  • A stem's outer corner sits on the notehead's stemUpSE / stemDownNW anchor: its
    centreline is half a stem inside the notehead's edge, and it starts 0.168 sp off the
    notehead's centre. Stem tips do not move.
  • A flag is placed by its stemUpNW / stemDownSW anchor against the stem's left edge at
    its tip.
  • A beam, beam stub or grace beam runs from the outer edge of its first stem to the outer
    edge of its last.
  • Grace notes follow the same anchors at grace scale, and grace stems are drawn at
    grace-scaled thickness so they meet the grace flag's stem cap without a notch. The
    acciaccatura slash is unchanged, and so is the width of a grace group.

Where a font lacks an anchor, the renderer falls back to the old bounding-box geometry.

What's Changed

Full Changelog: v1.9.0...v1.9.1

Upgrading

Source-compatible with 1.9.0.

Engraved output changes for every tune with stems: the stem and beam lines and the flag
positions move by fractions of a staff space. Note spacing is unchanged except after a
single flagged grace note, where the gap allowed for the flag's overhang is recomputed from
the flag's new position.