|
From: | Alexander Kobel |
Subject: | Re: TimeSignatures over BarLines |
Date: | Fri, 08 May 2015 17:36:30 +0200 |
User-agent: | Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Icedove/31.4.0 |
On 2015-05-08 02:29, Thomas Morley wrote:
2015-05-07 18:48 GMT+02:00 Alexander Kobel <address@hidden>:Dear all, I'm trying to move time signatures to print over bar lines for a modern piece, to allow for a proportional (or almost proportional) note spacing despite several time changes. The usual approach is to place them over the staff, like here: http://lsr.di.unimi.it/LSR/Item?id=272 However, the full piece has a whole bunch of staves, so vertical space is at a premium; for each staff, the signatures do not fit, and I feel that a single time signature over the score is not enough. Hence, I decided to break the bar line stencil into two short slices, and squeeze the time signature in between. I'm almost there. The missing piece is automatic adjustment of time signatures at the beginning of a system. If realignTimeSignatures in the attached example is delayed by one measure, the default placement of the first time signature is perfect - as usual. However, I could not find a way to do the same for the time signature in the fourth system (other than manually reverting the overrides). I achieve either 1) a nice placement of the in-line signature (with \realignTimeSignatures), but have to shift the begin-of-line ones by some amount and cannot make enough space for them, xor 2) the default position for the begin-of-line signatures (with \realignTimeSignaturesII), but then I cannot position barlines and time signatures on top of each other. Can anyone enlighten me here? Bonus points for someone who can come up with a proper centered alignment of the "4" in the double bar line at the /end/ of the third system... Thanks in advance, AlexanderHi, how about: <snip/> move-time-sig-into-bar-line = \override Staff.BarLine.before-line-breaking =
Ahahahaha! Going the other way around. Actually, this is not moving the time sig into the bar line, but the bar line into the time signature. Good idea; I guess that's also a reason why it can be done in before-line-breaking, right? Anyway, I have to digest this piece of code you gave here. But it works like a charm. Amazing!
[...] There's a TODO in it ... And I'm not sure how the combination of time-sig and (double-)bar-line at line-end should look like. If the bar-line is really at line-end the time-sig will stick out to the right. Is this wanted?
Honestly, I'm not sure yet (just as I have to get used to the entire look). But it was my intention. I think of it similar as a staff bracket sticking out to the left... But that I could derive from your snippet - write a before-line-breaking for TimeSignature, too, parse the X-parents just as you did for the BarLine, and if (= (ly:item-break-dir grob) LEFT) (where grob is the time signature), then
(ly:grob-set-property! grob 'space-alist `((right-edge fixed-space . ,(/ (- time-sig-length bar-line-length) -2)))) Wonderful. Thanks a lot! Best, Alexander
[Prev in Thread] | Current Thread | [Next in Thread] |