Open craigsapp opened 2 years ago
@craigsapp I don't think @n
should be used for displaying a number here. We should have a @num
here, and also a @num.place
to control the placement. Could you please open a ticket on MEI side?
OK, although what is the purpose of mRpt@n
otherwise? But I can imagine that @num=""
could be used to suppress display of a number.
Measure repeat signs always have numbers above them when rendered in verovio, starting on the first repeat sign which has a
2
above it. It would be useful to control display of these numbers (which I do not think is implemented yet).Looking at the attributes for
mRpt
: https://music-encoding.org/guidelines/v4/elements/mrpt.htmlIt seems that
@n
is the most appropriate for controlling the number above the repeat. This would mean that by default verovio should not show numbers unless@n
is present.If the automatic control of number display remains in verovio, I propose adding an option that starts numbering
mRpt
after a minimum threshold of sequentialmRpt
are found in a group. For example, it is unnecessary to label anmRpt
if there is only one repeat sign in a sequence. It will be an editorial style to decide how long the sequence needs to be before themRpt
are numbered, such as 3, 4, or 5. Maybe an option such as--mrpt-num-threshold 3
. This would mean that the lastmRpt
in a sequence muse be3
or higher in order to number all of themRpt
in the sequence (and3
might be a good default value). Or verovio could turn off numbering by default by setting the value of--mrpt-num-threshold
to a very high value, lettingmRpt@n
have priority, and use--mrpt-num-threshold 2
to enable the current behavior.Another thing to consider is that there are two uses of
mRpt
: one is to speed up writing down music when composing. In this case repeat numbers are not used, and often a typesetting of the same score will not havemRpt
since they are a shorthand only for writing the music. The second case is in orchestral parts to save space (minimize page turns) where the part has a lot of repeated material. In this case the repeat numbers are important so that the performer does not lose track of which measure they are playing (and then get fired for not keeping track).Another consideration is that what number to assign to the first
mRpt
is an editorial style. Often the firstmRep
is labeled with1
instead of2
(as it is thought of as the first repetition rather than the second time the musical content is repeated).Here is an example where no numbers are needed/wanted (so
-mrpt-num-threshold 99
could be the verovio option, or don't addmRpt@n
if number display is controlled in MEI data).Click to view MEI data for above example.
```xmlTranscoded from Humdrum
This example is complicated because it is actually a layer repeat instead of a measure repeat (or you can consider/encode the middle voice on the top staff and have them display on the bottom staff).
Notice that in measures 19 and 27, the
mRpt
number is colliding with the notes in the same area. Repeat numbers are not need in this case, because it is not necessary to count the repetitions since the pianists is also playing other notes at the same time, it is impossible to lose count of the repetitions in this case.Note the
2
label in measure 24. This is the only repeat, and therefore is not necessary to repeat.I see no MEI control for vertical placement (such as through oloc/ploc) which would be useful in this example since it is a layer repeat, and most of them should probably be displayed lower on the staff (I have not see the original source to verify).