lilypond-user
[Top][All Lists]
Advanced

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

Re: help with scheme function [solved]


From: Damian leGassick
Subject: Re: help with scheme function [solved]
Date: Sat, 26 Mar 2011 14:30:00 +0000

Thanks Mike that works perfectly

Damian


On 26 Mar 2011, at 13:26, address@hidden 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



reply via email to

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