Place Rehearsal Marks over barlines

• Dec 13, 2018 - 22:33
Reported version
P1 - High
S5 - Suggestion

This happens most of the time, but whenever a measure has a key change or time signature switch, the rehearsal marks end up where they shouldn't. This was standard in MS2, but shouldn't MS3's autoplace be able to put rehearsal marks where they should be - exactly over the barline - every time?

It even happens occasion without any time/key sig excuse...


Priority P1 - High

We tweak the rehearsal placement based on user feedback a couple of times between 2.0 and 2.3.2; there was some disagreement over what was right. Gould isn't very specific about this - she mentions either centering over the barline or flush left, but doesn't talk about what happens at the start of a system or if there is a key change. She does, however, talk about the relationship between rehearsal marks and tempo marks, giving the impression maybe similar rules should be followed, but also says the rehearsal mark goes to the left in case of conflict.

Personally, I'm with you in that I want my rehearsal marks far to the left, but that wasn't the consensus. It's worth revisiting now that autoplace in some way changes things.

Thanks, I think that's plenty convincing to me.

Previously, it may have been difficult to differentiate the case of a key signature as the beginning of a system from one mid-system at the time when rehearsal marks were being laid out (to be honest, I don't remember). But I think that's quite possible now, and the sort of thing autoplace can probably handle.

See also #287723: Right-aligned rehearsal marks should align to barline. I am looking at tweaking our placement, and want to handle all cases as expected but with the least amount of change that could break anything anyone depends on. See in particular #63856: Rehearsal mark at beginning of system should stay within margins for some background.

Here is what I propose:

1) Rehearsal mark attached to first note/rest of measure, no clef/key/time signature present
- center: preserve current/2.3.2 behavior (center over barline)
- right: revert to 2.3.2 behavior (right align to barline)
- left: preserve current/2.3.2 behavior (left align to note)

2) Rehearsal mark attached to first note/rest of measure, clef/key/time signature present
- center: center over barline within system, center after header at beginning of system (different from 2.3.2 and current 3.0)
- right: preserve current/2.3.2 behavior (right align to end of header, but push left to barline if that's further away)
- left: preserve current/2.3.2 behavior (left align to left edge of note)

3) Rehearsal mark attached to something other than first note/rest of measure
- preserve current/2.3.2 behavior (align to left edge of note as per how all other text works)

So the two cases I want to change are right aligned without header (clef et al) and center with header. In the former case, I just want to revert to 2.3.2. For the latter, this would be new behavior. It addresses the original concern from #63856: Rehearsal mark at beginning of system should stay within margins - rehearsal marks extending into the right margin - while also doing what seems expected here for measures not at the margin.

Although I don't love the idea of so many special cases, I don't have a problem with it and it seems doable. What do people think?

Now I'm thinking, why not bring left-aligned rehearsal marks into this after all - they should align with the barline at the start of the measure like others.

So, I have this all implemented, here's how it looks:


Fix version