This function transpose modally some music in the seven degrees of the
scale:
\version "2.19.81"
multiModal = #(define-music-function (scale patternMelodic) (ly:music?
ly:music?)
#{
#@(map(lambda (p)
#{ \modalTranspose c #(ly:make-pitch -1 p) $scale
$patternMelodic #})
(iota 7))
#})
scale = {c d e f g a b}
\score {
\multiModal \scale {c' d' c' r}
\layout {}
}
If I want to make the transposition only for the first three degrees of the
scale I have to change
(iota 7)
to
(iota 3)
What if I want to pass to the function the number of transposition ? So
that if I want the first four transpositions I could write something like
\multiModal \scale {c' d' c' r} 4
?
Thank you, g.
_______________________________________________
lilypond-user mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/lilypond-user