On Wed, Oct 12, 2016 at 2:04 PM, Rutger Hofman <rut...@cs.vu.nl> wrote:
> On 10/12/2016 06:17 PM, David Nalesnik wrote:
>> On Wed, Oct 12, 2016 at 8:48 AM, David Nalesnik
>> <david.nales...@gmail.com> wrote:
>>> On Wed, Oct 12, 2016 at 8:13 AM, Thomas Morley <thomasmorle...@gmail.com>
>>>> in this thread
>>>> you researched the cause for problems while attaching TextSpanner to
>>>> spacers using custom-scheme-engravers.
>>>> May it be possible the problem is present in the original .cc-coded as
>>>> At least I don't see any problem with attached TextSpanners as soon as
>>>> I change a spacer to a real note-event in Rutger's code:
>>> It appears to be related to the X-position of the right-bound text:
>>> if it's too far to the left, it won't be printed.
>>> Change the right-padding override in your example to 10, and the text
>>> will also disappear.
>> ly:line-spanner::print considers the properties left-bound-info and
>> right-bound-info. It returns '() if the sum of left.padding and
>> right.padding is greater than the distance between the left and right
>> ends of the spanner (as determined from "X" and "Y" stored in
>> bound-details). I can't say I follow the thinking, but that's what
>> causes nothing to be printed when right.padding is set too high.
>> (The variable for padding is confusingly named "gaps" in the code, by the
> For starters: thanks to you all for thinking along, and searching for an
> analysis (and hopefully fix).
> The 'solution' of suppressing the spanner under these conditions doesn't
> sound immediately logical to me. And this suppression only struck my eye for
> spanners that cross a line break; which doesn't imply that it cannot occur
> otherwise of course.
The point I'm making is that the spanner was only suppressed in your
original example because the value you chose for right.padding was too
large -- large enough to put the right text before the left endpoint,
which roughly is why the program gave you nothing. If you use
\override TextSpanner.bound-details.right.padding = #2
the text is moved out from under the TextScript. You can then
override TextScript.staff-padding and TextSpanner.staff-padding to
force an alignment. As far as I know, you will have to align them
yourself this way because the TextSpanner and TextScript are not
grouped. The inner-texts enhancement does offer a grouping of sorts.
lilypond-user mailing list