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: Rutger Hofman
Subject: Re: Alternate (scheme) text spanner ignores spacers
Date: Fri, 7 Oct 2016 20:47:09 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.3.0

I tested with multiple spanners. It threw me an error on line 77: s is an unbound variable. I don't grasp your code, but if I replace '(cdr s)' with 'f' in that line, it works fine with overlapping spanners.

Thanks very much!

Rutger

On 10/07/2016 04:47 PM, David Nalesnik wrote:
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





reply via email to

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