Bar line alignment in normal and small staves

• Jan 21, 2015 - 10:09

If a score contains both normal and small staves, bar lines are horizontally scaled and aligned as in this screen shot:

test_barline_align.png

In practice, for scaling:

  • End bar lines are drawn with the same width in both normal and regular staves
  • All other kinds of bar lines are horizontally scaled down (made small) in small staves

And for alignment:

  • For end bar lines, being all of the same widths, alignment does not matter
  • All other kinds are always left aligned.

______________________________

1) Is this intentional?

2) If it is not intentional, would it not be the case to:

2a) make small the end bar line too,

2b) left align the start repeat bar line, right align the end bar line and the end repeat bar line and centre align all other kinds? (the extra staff protruding from the small end repeat at the end of the first staff is particularly ugly, isn't it?)

Thanks,

M.

Attachment Size
test_barline_align.png 10.13 KB

Comments

Good points! I don't have a lot of this type of music on hand, but the examples I could find - including the ones scattered about in Gould's "Behind Bars" - suggest the most common thing is to simply not scale any of the barlines. Ending and double bars were rarely scaled. Unfortunately, I haven't yet found any examples of repeat bars in this context. Either not scaling them at all, or right aligning the end repeat, definitely makes sense to me.

EDIT: perusing IMSLP, I see at least as many examples where the barlines *are* scaled. In particular, I did find some repeats, and they were scaled down (and right aligned for the end repeat). I don't know how these are drawn; it seems they might have to be scaled to get the dot spacing right, but maybe those are drawn separately.

Its a bug. For width calculation of end barline scrore()->spatium() is used, for repeats and others staff()->spatium().
I think it makes sense to draw the barlines in small and normal staves with the same width. If we make them smaller in small staves it might look worse.

Thanks to both for your comments. I have prepared two fixes:

The first fix is nice looking (at least I hope it is!):

  • bar lines in small staves are all drawn with small width
  • end bar lines, end-repeat bar lines and any bar line at system end are right-aligned
  • start-repeat bar lines are left aligned
  • all other bar lines are centre-aligned

This is how the above example looks with this solution:
NOT FOUND: 1

The second fix is cheap:

  • all bar lines are drawn always with normal widths
  • if a segment contains bar lines of the same type, they have the same width, regardless of staff smallness, and are then automatically aligned
  • bar lines of different types in the same segment are left-aligned, regardless of their respective width.

This is how the above example looks with this solution:
NOT FOUND: 2

About to push PR's to github; then I'll leave to the PTB to choose.

Thanks,

M.

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