Thanks Mike that works perfectly Damian
On 26 Mar 2011, at 13:26, [email protected] wrote: > On Mar 26, 2011, at 8:58 AM, Damian leGassick wrote: > >> hi all >> >> as you can see below I've got some very repetitive note entry >> >> my attempt at a scheme substitution is not working >> >> can anyone help me out here? >> >> cheers >> >> Damian >> >> >> \version "2.13.54" >> >> xenAccGliss = #(define-music-function (parser location nOne nTwo) (ly:music? >> ly:music?) #{ >> \afterGrace $nOne\glissando >> {\stemDown \once \override Stem #'stroke-style = #"grace" $nTwo} #}) >> >> cello = { >> >> \override Glissando #'springs-and-rods = #ly:spanner::set-spacing-rods >> \override Glissando #'minimum-length = #5 >> \override Glissando #'thickness = #2 >> \clef treble >> #(define afterGraceFraction (cons 15 16)) >> \override Beam #'positions = #'(-8 . -8) >> \afterGrace d'''16\glissando {\stemDown \once \override Stem #'stroke-style >> = #"grace" c''16} >> \afterGrace b''16\glissando {\stemDown \once \override Stem #'stroke-style >> = #"grace" e''16} >> \afterGrace f'''8\glissando {\stemDown \once \override Stem #'stroke-style >> = #"grace" d'16} >> \afterGrace c''8\glissando {\stemDown \once \override Stem #'stroke-style = >> #"grace" b''16} >> \afterGrace gis''16\glissando {\stemDown \once \override Stem >> #'stroke-style = #"grace" f'16} >> \afterGrace c''16~\glissando {\stemDown \once \override Stem #'stroke-style >> = #"grace" d'16} >> \afterGrace c''16\glissando {\stemDown \once \override Stem #'stroke-style >> = #"grace" d'16} >> \xenAccGliss f'4 g''2 >> } >> >> \score { >> \new Staff \with { >> instrumentName = "Cello" >> } {\cello } >> \layout { } >> } >> > > The problem is (I think) in the way glissando is parsed. > > You can either remove glissando from the definition and add it in manually > like so: > > xenAccGliss = #(define-music-function (parser location nOne nTwo) > (ly:music? ly:music?) > #{ > \afterGrace $nOne { \stemDown \once \override Stem #'stroke-style = #"grace" > $nTwo } > #}) > > \xenAccGliss a' \glissando b' > > OR write a function that'll tack the glissando on > > #(define (bar m) > (ly:music-set-property! m 'elements (reverse (cons (make-music (quote > GlissandoEvent)) (ly:music-property m 'elements)))) > m) > > foo = #(define-music-function (parser location mus) (ly:music?) (bar mus)) > > xenAccGliss = #(define-music-function (parser location nOne nTwo) > (ly:music? ly:music?) > #{ > \afterGrace \foo $nOne { \stemDown \once \override Stem #'stroke-style = > #"grace" $nTwo } > #}) > > \xenAccGliss a' b' > > Cheers, > MS >
_______________________________________________ lilypond-user mailing list [email protected] http://lists.gnu.org/mailman/listinfo/lilypond-user
