[Top][All Lists]
[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
}
Re: Modified laissez vibrer ties,
Nick Payne <=