Skip to content

Implicit vs explicit full measure rest #504

@rpatters1

Description

@rpatters1

One of the features of full measure rests as an event was that there was no ambiguity about whether full measure rests were implicit or explicit. With it moved to the sequence, the possibility for ambiguity arises.

Here is some background.

Finale

Finale creates implicit full measure rests when a bar on a staff contains nothing: no frame, no notes, no indication, nada. At that point a staff option determines if a whole measure rest is displayed or if nothing is displayed.

The user may also create explicit full measure rests by manually entering them. This is useful, e.g., when a staff contains multiple voices, or if a fermata or other object must be attached, or if for some reason it should appear on a non-default staff line.

MuseScore

Every measure on every staff must have its exact duration accounted for. That means explicit full measure rests are generated wherever they are missing. (However, I believe these are marked at generated, and my current exporter omits generated full measure rests.)

As in Finale, the user has the ability to create explicit full measure rests for the equivalent use cases.

What it means for MNX

I do not think any change in the schema is required to support these approaches. But I think clarifying documentation might be useful. Given just these two examples, it seems likely that the spectrum of music notation programs has a variety of designs for full measure rests. I think the spec should call out the distinction between implicit and explicit full measure rests and suggest how to encode them. (My recommendation: empty sequence array for implicit, and sequence(s) with fullMeasure provided when explicit.)

Hypothetically, if an exporter is from an environment where every measure must have an explicit full measure rest, I would like the spec to call out the option of omitting them. Were there ever an import for Finale, explicit full measure rests on every bar and staff would cause havoc, and even for MuseScore it makes for a less useful import.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions