lilypond-user
[Top][All Lists]
Advanced

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

Re: Create a macro for doubling the note in an arpeggio pattern


From: elmeri
Subject: Re: Create a macro for doubling the note in an arpeggio pattern
Date: Mon, 25 Feb 2019 17:57:31 +0200

Hello,

I later discovered that durations other than 16 are required for the doubled note later in the score (dotted 4th note for example), so I ended up doing something like this:

GR = #(define-music-function (m p1 p2 p3 p4 p5 p6)
        (ly:music? ly:pitch? ly:pitch? ly:pitch? ly:pitch? ly:pitch? ly:pitch?)
        #{
          <<
            $m
            \\
            { $p1 16[^( $p2 $p3 $p4 $p5 $p6 ])  }
          >>
        #})

This makes it necessary to write the first pitch twice, (e.g. \GR f''8 f a, f a, c, f,) but it’s not a huge deal compared to having to write the whole << {} \\ {} >> construct every time. Now, on to figure out how to make a nice “knee’d” beam (3+3) for those notes.

 Thanks for the help!
-E



On 22 Feb 2019, at 19.26, elmeri <address@hidden> wrote:

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]