w3c / musicxml

MusicXML specification
511 stars 57 forks source link

Better specify appearance of back-to-back repeat barlines #104

Open mdgood opened 9 years ago

mdgood commented 9 years ago

Back-to-back repeat barlines are used when adjacent sections of music are repeated (see p. 234 of Elaine Gould's Behind Bars for an example). MusicXML 3.0 represents this as two separate barlines: a backward repeat and light-heavy bar-style on a right barline, followed by a forward repeat and heavy-light bar-style on the following left barline.

MusicXML 3.0 provides no way to specify the width of the thick or heavy barline in this back-to-back arrangement - or, from another point of view, the amount overlap between the heavy portion of the two barline elements. This could be added for better representation of visual appearance, perhaps with an additional type of line-width element or an additional barline-overlap element child of the appearance element.

See the MusicXML forum discussion started by L. Peter Deutsch at http://forums.makemusic.com/viewtopic.php?f=12&t=1817.

shoogle commented 4 years ago

To provide some background about why separate end repeat and start repeat barlines are used in the first place, there are two cases where a combined end-start repeat barline would not suffice:

1. System breaks

image

2. Changes in signature

If the second repeated section has a different clef, key or time signature to the first repeated section then the new signature(s) are placed between the end and start barlines (see Gould p. 234). Visually it appears as though there is extra measure for the change in signatures, only it has zero beats.

image

The Problem

Separate barlines are needed to cover the above cases, but if you are not dealing with either of those cases then using two separate symbols will give the appearance of a double-width barline, which may or may not be desirable.

back-to-back-repeats

Gould says that either style is acceptable, and the example she gives on p. 234 even has a slight gap between the end and start barlines of the double-width variant.

The question is whether MNX should mandate a thickness, make the thickness configurable (if so, how?), or just do what MusicXML does and leave it up to the application to decide how to render it?

mdgood commented 3 years ago

As we consider issue #6 for MusicXML 4.0, it is possible this one may need to come along as well.

@shoogle, thanks for providing the great additional context. However I don't think the last graphic is quite correct as a representation of what Gould is describing. One example is (in MusicXML terms) a light-heavy right barline followed by heavy-light left barline with the heavy lines overlapping. The other is a heavy right barline followed by a heavy left barline, with no light barlines involved.

Perhaps one way to specify this might be to say that when a left barline is specified in MusicXML, it is drawn separately from the preceding measure's right barline unless the right barline is a light-heavy barline and the left barline is either heavy or heavy-light, and there are no intervening symbols (clef, key signature, or time signature) that appears between the right and left barlines.

I think this would cover everything I am seeing as options in Dorico, Sibelius, MuseScore, and Finale. I am not sure how this matches up with current export practice in different applications though.