Skip to toolbar

Community & Business Groups

MNX Specification Working Group meeting: April 28, 2026

Fermatas

Fermatas (issue #106) are now complete, and can be found in the specification here.

One missing detail is that we do not currently encode both the orientation of the fermata relative to the staff as well as the direction in which the fermata symbol itself is pointing. Adrian proposes that we encode this using orient for placement and pointing for the direction of the symbol. We will also add this to the other event.markings items for which it makes sense (for example, pointing makes sense for strong accents/marcatos, but not for regular accents).

Bowing marks

Adrian proposes that we add up bow and down bow to event.markings. We propose adding a bowDirection entry with an enumeration with values representing up bow, down bow, and bowing freely (which is sometimes depicted as showing both up bow and down bow symbols next to each other).

Arpeggios

We discussed how arpeggios could be encoded. After some back and forth, we propose that a list of arpeggios should be found in the part measure, at specific rhythmic positions (in the same way that clef changes are encoded). We propose a direction enumeration with auto (implying up), up, and down, and a boolean arrow, false by default, that specifies whether an arrow should appear. We also propose an object to encode the starting and ending notes by ID, which if used must specify both. (This may prove useful for other similar notations with specific starting and ending points in future.)

We also propose a similar object for chords that definitely should not be arpeggiated, which is typically drawn as a square bracket to the left of the chord, the equivalent of MusicXML’s non-arpeggiated element.

Hairpins

Towards the end of the meeting we began a brief discussion about hairpins (continuous gradual dynamics). There is much more to discuss, but as a starting point, we plan to extend the existing dynamic object to have an optional end position (or ID for an event) so that it can describe a range, and then consider how to specify the value (dynamic type) in order to denote that it represents a gradual vs. immediate change. Adrian will make a proposal for community discussion.

Next meeting

Our next meeting is scheduled for Tuesday 12 May 2026.

Leave a Reply

Your email address will not be published. Required fields are marked *

Before you comment here, note that this forum is moderated and your IP address is sent to Akismet, the plugin we use to mitigate spam comments.

*