Hi,

I’m working on a score that has a lot of arpeggios where the first note of the 
6-note group of 16th notes is doubled as a dotted 4th note. Having a 
macro/function to turn e.g. the pattern "f16 c a f c f,” into “<< { f4. } \\ { 
f16 c a f c f, } >>”, or even more preferably “<< { f4. } \\ { f16([ c a f c 
f,)] } >>” would save me a lot of typing and trouble. 

What I’ve been tinkering around with is something like:

GR = #(define-music-function (parser location p1 p2 p3 p4 p5 p6)
        (ly:music? ly:music? ly:music? ly:music? ly:music? ly:music?)
        #{
          <<
            {$p1}
            \\
            {$p1 $p2 $p3 $p4 $p5 $p6}
          >>
        #})

\GR f16 c a f c f,

which results in a ton of errors (at least on LilyPond 2.18.2).

Another one I’ve tried is this:

GR = #(define-music-function (parser location p1 DUMMY DURATION p2 p3 p4 p5 p6)
        (ly:pitch? string? ly:duration? ly:music? ly:music? ly:music? ly:music? 
ly:music?)
        #{
          <<
            {$p1 $DURATION}
            \\
            {$p1 16 $p2 $p3 $p4 $p5 $p6}
          >>
        #})

\GR f ”” 16 c a f c f,

And another set of errors are generated. The DUMMY is (apparently) necessary on 
LilyPond 2.18.2.

Any help is appreciated!

Thanks!

-Elmo



_______________________________________________
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user

Reply via email to