lilypond-user
[Top][All Lists]
Advanced

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

Re: Default length of laissezvibrer ties


From: Thomas Morley
Subject: Re: Default length of laissezvibrer ties
Date: Wed, 7 Mar 2012 23:09:17 +0100

Hi Nick,

2012/3/7 Janek Warchoł <address@hidden>:
> On Wed, Mar 7, 2012 at 8:35 AM, Nick Payne <address@hidden> wrote:
>> The default length of laissezvibrer ties in Lilypond is extremely short
>> compared to those I see in commercially published scores. Here's the
>> Lilypond output (default and tweaked) compared to the LV ties in scores from
>> three different publishers:
>> \version "2.15.32"
>>
>> \version "2.15.32"
>>
>> xLV = #(define-music-function (parser location further) (number?) #{
>>    \once \override LaissezVibrerTie  #'X-extent = #'(0 . 0)
>>    \once \override LaissezVibrerTie  #'details #'note-head-gap = #(/ further
>> -2)
>>    \once \override LaissezVibrerTie  #'extra-offset = #(cons (/ further 2)
>> 0)
>> #})
>>
>> \relative c' {
>>    c4\laissezVibrer s s s
>>    \xLV #3 c4\laissezVibrer s s s
>> }
>
> I'd make it halfway between current length and your longer version.
> Keep in mind that it can be used for "let ring" indications in guitar
> music (unless i'm mistaken), and that can be a pretty dense music.
>
> cheers,
> Janek

as a workaround (instead of tweaking every LaissezVibrerTie one by
one) I come up with:

\version "2.14.2"

#(define factor 2)

#(define (enlarged-extent-laissez-vibrer::print grob)
  (let* ((stil (laissez-vibrer::print grob))
         (stil-ext (ly:stencil-extent stil X))
         (stil-length (interval-length stil-ext))
         (new-stil-length (* stil-length factor))
         (scale-factor (/ new-stil-length stil-length))
         (new-stil (ly:stencil-scale stil scale-factor 1))
         (new-stil-ext (ly:stencil-extent new-stil X))
         (x-corr (- (car stil-ext) (car new-stil-ext))))
  (ly:stencil-translate-axis
     new-stil
     x-corr
     X)))

#(assoc-set! (assoc-ref all-grob-descriptions 'LaissezVibrerTie)
'stencil enlarged-extent-laissez-vibrer::print)

\relative c' {
        <c e g c>\laissezVibrer
}

You may want to play around with the value of "factor" to find sth
that fits your needs.
Works with 2.15.31, too.


HTH,
  Harm



reply via email to

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