The part measure object

Type: Dictionary

The part measure object is the place to encode the musical information for a given measure in a given part. This constitutes the majority of musical content in an MNX document.

Attributes

Name Type Required? Description
arpeggios An array of arpeggio objects No All arpeggios in this part-measure.
beams An array of beam objects No All beams that begin within this part-measure.

Beams that are rendered in multiple measures (i.e., beams that cross barlines) are encoded in the first measure in which they appear.
clefs An array of positioned clef objects No
dynamics An array of immediate dynamic objects, gradual dynamic objects, relative dynamic objects, accent dynamic objects No All dynamics in this part-measure. Four types of dynamics are supported: immediate, gradual, relative and accent.

Each object in this list has a "type" attribute that distinguishes between different types of dynamics. This can be "immediate" (such as a notated "p"), "gradual" (such as a crescendo hairpin), "accent" (such as "sfz") or "relative" (such as a notated "più p", meaning "quieter").

measureRepeat measure repeat No If this part measure is a measure repeat, this includes data about that repeat.
nonArpeggios An array of non-arpeggio objects No All non-arpeggios in this part-measure.
ottavas An array of ottava objects No All ottavas that begin within this part-measure.

Ottavas that are rendered across multiple measures (i.e., ottavas that cross barlines) are encoded in the first measure in which they appear.
sequences An array of sequence objects Yes
staffConfigs An array of positioned staff config objects No Encodes information about the staff changes that begin in this part measure. This is the number of staff lines and (in the future) other metadata about the staff itself.

For example: a part that uses a single-line staff should use {"staffConfigs": [{"config": {"lines": 1}}]} in the very first measure.

This "staffConfigs" value should be considered active until it's overridden by another one in a subsequent measure. In other words, it only needs to be encoded at the beginning.

In the vast majority of music, a part will only encode "staffConfigs" in its very first part measure. The only situation in which subsequent measures would change this value is music in which a part's staff changes (for example, from a five-line staff to a single-line staff).

If a part doesn't provide "staffConfigs" in any of its part measures, or there is no positioned staff config for a given staff number, consuming applications should assume the staff uses a standard five lines: {"lines": 5}.

Note: this value is an array in order to support multi-staff parts.

Plus globally available attributes: _c, _x, id

Parent objects

This object is used by the following parent objects:

Examples

This object is used in the following examples:

Accidentals, Articulations, Beams, Beams (across barlines), Beams (hooks), Beams (secondary beam breaks implied), Beams (secondary beam breaks), Beams (with inner grace notes), Clef changes, Dotted notes (augmentation dots), Dynamic accents, Dynamics, Full-measure rests, Grace note, Grace notes (beamed), Grand staff piano music, Jumps (D.C. al Fine), Jumps (D.S. al Coda), Jumps (D.S. al Fine), Jumps (Dal Segno), Key signatures, Lyric line metadata, Lyrics (basic), Lyrics (multi-line), Measure repeats, Measure repeats (with counters), Multimeasure rests, Multiple layouts, Multiple voices, Organ layout, Ottavas (8va), Parts, Repeats, Repeats (more than once repeated), Repeats (with alternate endings, advanced), Repeats (with alternate endings, simple), Repeats (with implied start repeat), Rest positions, Slurs, Slurs (for chords), Slurs (targeting specific notes), Tempo markings, Three-note chord and half rest, Tie targets, Ties, Time signature glyphs, Time signatures, Tremolos (multi-note), Tremolos (single-note), Tuplets, Two-bar C major scale, “Hello world”