Thomas Morley <thomasmorle...@googlemail.com> writes:

> 2012/11/26 Nick Payne <nick.pa...@internode.on.net>:
>
>> Thanks. I had a look at http://lsr.dsi.unimi.it/LSR/Item?id=857. However,
>> even with a single sequence, in some situations it doesn't handle braces
>> during the barre - e.g. if you try
>>
>> \barre V { c4 c c \times 2/3 { c8 c c } }
>>
>> there's no error indication but the spanner stops too soon at the start of
>> the tuplet. Interestingly, this problem only happens if the contained braces
>> terminate at the same point as the barre, as
>>
>> \barre V { c4 c \times 2/3 { c8 c c } c4 }
>>
>> continues the spanner to the correct note. I don't know enough about Scheme
>> to figure out what the problem is.
>>
>> Nick
>
> Hi Nick,
>
> thanks for testing.
>
> The problem is, that my code inserts the \stopTextSpan-equivalent
> before the last of the music-elements. In your example, _before_
> starting \times and not before the last note of \times.

Probably try something like

#(define (text-spanner-start-stop mus)
  (let ((elts (extract-typed-music mus 'rhythmic-event)))
    (for-each
      (lambda (sel)
        (let ((m (sel elts)))
          (set! (ly:music-property m 'articulations)
                (cons (make-music 'TextSpanEvent
                                  'span-direction (sel '(-1 1)))
                      (ly:music-property m 'articulations)))))
      (list last first)))
  mus)

-- 
David Kastrup


_______________________________________________
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user

Reply via email to