lilypond-user
[Top][All Lists]
Advanced

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

Re: Modified laissez vibrer ties


From: Nick Payne
Subject: Re: Modified laissez vibrer ties
Date: Sun, 28 Oct 2012 19:45:52 +1100
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:16.0) Gecko/20121011 Thunderbird/16.0.1

On 28/10/12 17:28, Daniel Rosen wrote:
> Is there a way to extend laissez vibrer ties so that they stop just short of 
> the barline, as in the attached example? I can't seem to find a way that 
> doesn't involve manually adjusting control points.

You can change the default length of LV ties to make them longer, though
they won't adjust their length to scale to the next barline:

\version "2.16.0"

#(define ((alter-lv-tie-curve offsets) grob)
    (let ((coords (ly:semi-tie::calc-control-points grob)))
        (define (add-offsets coords offsets)
            (if (null? coords)
            '()
            (cons
                (cons (+ (caar coords) (car offsets))
                    (+ (cdar coords) (cadr offsets)))
                (add-offsets (cdr coords) (cddr offsets)))))
        (add-offsets coords offsets)))

xlv = \override LaissezVibrerTie #'before-line-breaking = #(lambda (grob)
        (set! (ly:grob-property grob 'control-points)
        (if (= UP (ly:grob-property grob 'direction))
            ((alter-lv-tie-curve '(0 0 0.75 0.7 2.25 0.7 3 0)) grob)
            ((alter-lv-tie-curve '(0 0 0.75 -0.7 2.25 -0.7 3 0)) grob))))

\relative c' {
  \xlv
  c1 <c d>\laissezVibrer c
}



reply via email to

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