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