lilypond-user
[Top][All Lists]
Advanced

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

Re: Appoggiatura help


From: Nick Payne
Subject: Re: Appoggiatura help
Date: Fri, 30 Nov 2012 09:23:45 +1100
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/17.0 Thunderbird/17.0

On 30/11/12 08:59, SoundsFromSound wrote:
shutterfreak wrote
Hi,

First, I suppose the last note in that 5/16 measure should be a fis8 and
not a fis4, otherwise the measure should last 9/16 and not 5/16.

I tried entering this in MuseScore. The default grace note gets no slur,
adding a slur without modifying a thing yields the result in measure 1,
inverting the orientation of the grace note slur yields the result in
measure 2 of attached image. No other tweaks were done in MuseScore.

In this case I think the slurring algorithm in LilyPond could be improved
by using different anchor points.

Just my 2 cents.

Best regards,

Olivier

MuseScore example.jpg (13K)
<http://lilypond.1069038.n5.nabble.com/attachment/137003/0/MuseScore%20example.jpg>
Hi Olivier!

Thanks for that workthrough - I appreciate the help.  It looks like you're
right, but I wish I could figure out how to control the slur of
grace-notes/style better in LilyPond.  

I guess, perhaps I could just leave the slur "as is" in my original post and
just tweak the final output in Inkscape? No? Not ideal, but maybe?

See http://lsr.dsi.unimi.it/LSR/Item?id=777:

\version "2.17.6"

#(define ((alter-slur-curve offsets) grob)
    ;; get default control-points
    (let ((coords (ly:slur::calc-control-points grob))
        (n 0))
    ;; add offsets to default coordinates
    (define loop (lambda (n)
        (set-car! (list-ref coords n)
            (+ (list-ref offsets (* 2 n))
                (car (list-ref coords n))))
        (set-cdr! (list-ref coords n)
            (+ (list-ref offsets (1+ (* 2 n)))
                (cdr (list-ref coords n))))
        (if (< n 3)
            (loop (1+ n)))))
    ;; return altered coordinates
    (loop n)
    coords))
   
shapeSlur = #(define-music-function (parser location offsets) (list?)
    #{
        \once \override Slur.control-points = #(alter-slur-curve offsets)
    #})

\relative c'' {
  \once \override Slur #'direction = #UP
  \shapeSlur #'(0.7 -2.5 0.5 -2.3 0.3 -3 0 -4) \appoggiatura f8 fis,
}


reply via email to

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