w3c / musicxml

MusicXML specification
479 stars 56 forks source link

Positioning of short barlines #492

Open rettinghaus opened 10 months ago

rettinghaus commented 10 months ago

The barline element cannot specify the vertical positioning.

All the following examples would be just encoded as "short":

image image

<barline>
  <bar-style>short</bar-style>
</barline>
mscuthbert commented 10 months ago

The first one I would consider a form of tick (if length were controlled which it can't). The second one is the short default. You're absolutely right that the third one cannot be represented in MusicXML.

I think at this point one of the things to look at is vendor support -- are there software packages that can produce the variant barlines (not as <line> objects but as barlines)? If not then I think it'd be premature to add it to the spec. If so, I'd like to look at how they represent them before moving forward.

Jojo-Schmitz commented 10 months ago

MuseScore (3.6.2, haven't tested with 4.1.1) can do at least the 1st and 2nd example, it calls them "Tick 2" and "Short 1". With a (tiny) bit of effort it can turn either of these into the 3rd.

"Tick 1" and "Tick 2" are getting exported as

      <barline location="right">
        <bar-style>tick</bar-style>
        </barline>

On re-import the "Tick 2" unsurprisingly turns into a "Tick 1" "Short 1" gets exported as

      <barline location="right">
        <bar-style>short</bar-style>
        </barline>

and imported as such, while "Short 2" gets lost on export already

rettinghaus commented 10 months ago

@mscuthbert I should have said that these examples came out of the box in MuseScore 4 (first image) and Dorico (second image), and all export them as short barline.

Here's the difference between tick and short barlines in MuseScore 4:

image

mscuthbert commented 10 months ago

Wonderful. Thanks. I think that two major implementations are the gold standard for going forward. My thought is that we should be able to specify the top-offset in tenths from the 5th staff line (as if there are five regardless of number of lines currently displayed) and bottom offset in tenths from the first staff line. Thus normal etc would be 0,0; short default would be 10, -10; and tick probably -5, -35?