[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Obtain the number of notes and rests from "ly:music?" parameter pass
From: |
Thomas Morley-2 |
Subject: |
Re: Obtain the number of notes and rests from "ly:music?" parameter passed to a function |
Date: |
Fri, 2 Mar 2018 14:01:33 -0700 (MST) |
Paolo Prete wrote
> Hello,
> in the snippet below how can I replace "4" (in the denominator of
> "\times") with the number of notes+rests (including "s") in $notes ?
> Thanks
>
> %%%%%%%%
> createTuplet = #(define-music-function (parser location notes)
> (ly:music?)#{ \times 2/4 $notes#})
> { \createTuplet {c' e' r g'}}
Well, you could do like below, but I can't believe the output is what you
want.
\version "2.18.2"
createTuplet = #(define-music-function (parser location notes) (ly:music?)
#{
\times
#(cons
2
(length (extract-named-music notes '(RestEvent SkipEvent NoteEvent))))
$notes
#})
{
\createTuplet { c'4 e' r g' }
\createTuplet { c'4 e' r <g' b'> }
\createTuplet { c'4 e' r s4 }
\createTuplet { c'4 e' r s16 s16 s16 s16 }
}
Cheers,
Harm
--
Sent from: http://lilypond.1069038.n5.nabble.com/User-f3.html