Volta MusicXML encoding

• Sep 15, 2021 - 17:18

When I add a volta in MuseScore the automatically generated volta Begin Text includes a period after the volta number, as in the following examples:

     1.

     2.

However if I export a score via MusicXML—and reimport it—all existing volta text is purely numeric, with no period.

MuseScore encodes volta like this in MusicXMML:

       < ending number=“1” type="start" default-y="33.10"/>

On import, MuseScore creates default text from the "sequence number" and does not include a period.

Granted, the MusicXML could explicitly state the text content, like this

     < ending number="1" type="start" default-y=“33.10">1.< /ending> *

The question is:

"When an < ending> element contains no content (i.e. no explicit declaration of the volta text to be displayed) should MuseScore provide text that includes a period?" If so, then after importing MuseScore's own MusicXML, a volta would look as it did in the original score.

Regardless of the content specifying a literal period to import, perhaps it would be wise to have a Volta show/hide property that governs the visibility of the period. I don’t see one in Format>Style>Volta, nor a style option in the Inspector.

NOTE:
• Encore writes the < ending> element without content
• * Overture writes the < ending> element with explicit content


Comments

scorster,

Yes, it is odd that, although MuseScore, when we add a volta, by default provides it with text consisting of a number followed by a period, when it interprets a MusicXML file with an element for an ending (volta) that does not explicitly give the text to be applied, so MuseScore applies default text, that default text does not include a period.

This feature is of questionable value.

Doug

In reply to by Doug Kerr

I would think a MusicXML round trip (export from MuseScore, then import to MuseScore) would yield a score that looks like the original, as much as possible.

Simple solutions to this volta issue:

  • export with Ending element content containing the desired text: what the user had designate in museScore: a number and a period, or just a number, or whatever other possibilities are allowed.

  • on import, if there is no ending element content, get the volta number from the Number attribute and concatenate a period when placing the text string in Text Line Details>Begin Text. But that would be if MuseScore sees fit to impose it's style on import.

scorster

In reply to by jeetee

Hi jeetee,

For successive voltas in separate measures, it goes like this after the first ending:

     < ending number=“2” type="start" default-y="33.10"/>
     < ending number=“3” type="start" default-y="33.10"/>

For situations like 1., 2., 3. in Begin Text ... doesn't look good.

I'm a little unclear regarding MuseScore's Repeat Lists, but with a Repeat List of 1,2,3 the MusicXML contained this:

      < ending number="1, 2, 3" type="stop"/>

On encountering this line on import MuseScore set Begin Text to "1, 2, 3" which is "logical," but not MuseScore's default style.

Tonight I tore apart my studio today for new carpet installation tomorrow—the final touch on recent renovations! So this test was hurriedly performed! Maybe I'll get a chance for a better test tomorrow when things settle down.

scorster

In reply to by scorster

scorster,

That is a good description.

The MusicXML documentation for the <ending> element tells us that for the number attribute we may have "1,2" etc if an ending is used in more than one pass. (I think spaces in the list are permissible to make the code more "readable", but it is not shown that way.)

As to the element content, the spec says:

"The element text [that is, the element content] is used when the text displayed in the ending is different than what appears in the number attribute." This does not tell us whether, if there is no content, and the number attribute is "1", whether what appears on the ending should have a period or not.

But. consistent with what scorster recommends, I recommend that in such a case, the text on the ending mark should follow the program's normal default for that text item (as would be when the volta is created on the score directly).

Doug

Do you still have an unanswered question? Please log in first to post your question.