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
|