lilypond-user
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Alternate (scheme) text spanner ignores spacers


From: David Nalesnik
Subject: Re: Alternate (scheme) text spanner ignores spacers
Date: Fri, 7 Oct 2016 09:47:55 -0500

Hi again,

On Fri, Oct 7, 2016 at 9:11 AM, David Nalesnik <address@hidden> wrote:
> Hi Rutger,
>
> On Fri, Oct 7, 2016 at 2:30 AM, Rutger Hofman <address@hidden> wrote:
>> Hello list,
>>
>> David Nalesnik wrote a scheme TextSpanner that honours the spanner-id
>> predicate. This is really, really great: I no longer have to create new
>> Voices for overlapping TextSpanners. But it has a feature/bug that is really
>> unwelcome: if the \stopTextSpan is after a spacer note (maybe by using David
>> Kastrup's now famous \after), this spacing is ignored. The right-bound text
>> appears immediately after the 'true' note.
>>
>> Two observations:
>>  - the standard TextSpanner behaves correctly
>>  - the TextSpanner in scheme, which David N. used as an example, also has
>> the feature/bug
>>
>> Alternate text spanner:
>> https://lists.gnu.org/archive/html/lilypond-devel/2015-10/msg00042.html
>>
>> Attached a minimal example of correct/buggy behaviour, and, for ease of
>> reference, David N.'s implementation.
>>
>> I would dearly love to see this fixed, but I have no idea where to look.
>
> This engraver is based on the regression test
> 'scheme-text-spanner.ly', which suffers from the same limitation.
> I'll see what I can figure out.
>

The problem happens because of a missing check as to whether the
spanner we are building has a left/right bound.  The attached should
work, though would you mind testing it on an example that has multiple
spanners?

Best,
David

P.S. The checks are also missing in the regression test.  I need to
get back into contributing, so I will attempt to bring the regression
test more in line with the C++ original in
lily/text-spanner-engraver.cc

Attachment: text-spanner-id-corrected.ly
Description: Text Data


reply via email to

[Prev in Thread] Current Thread [Next in Thread]