|
From: | Lucas Werkmeister |
Subject: | Bug? getting the stencil of the stem removes the beam |
Date: | Thu, 15 Mar 2018 18:38:48 +0100 |
User-agent: | Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.6.0 |
Hi everyone, I was trying to use the \displaceHeads function from snippet 861 [1] [2] on an eight-note chord, but found that it completely removes the beam for some reason. I reduced it down to the following code: \version "2.18.2" You can find a screenshot of the result at [3]. The function here
doesn’t mutate anything, but apparently just accessing the stem is
enough to render the associated beam invisible (at a guess, I’d
say the beam’s stencil is being unset somehow – it still
influences the layout otherwise). Is that a bug in LilyPond? The \displaceHeads problem was previously reported at [4] (and I’ve added the author to CC for this email), but as far as I can see the thread didn’t go anywhere. (To answer the question in the reply [5] – changing before-line-breaking to after-line-breaking fixes the beam, but also removes the displacement effect, so as far as I can tell you might as well just get rid of the \displaceHeads completely.) I hope the reduced example above will help to get this bug (if it is one) fixed :) An ugly workaround (back at the \displaceHeads level) is to
remove all the stem-related code and instead hard-code a value for
the stem width – the default seems to be 0.065. For convenience,
you can find the result at [6]. (If your stem width is different,
take the original function, replace the ly:grob-translate-axis!
call with (display x-corr) in order to print the correct value,
and then substitute that.) Cheers, [1]: http://lsr.di.unimi.it/LSR/Item?id=861 |
[Prev in Thread] | Current Thread | [Next in Thread] |