lilypond-user
[Top][All Lists]
Advanced

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

Create a macro for doubling the note in an arpeggio pattern


From: elmeri
Subject: Create a macro for doubling the note in an arpeggio pattern
Date: Fri, 22 Feb 2019 19:26:22 +0200

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




reply via email to

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