Hi Gianamari,
Add a numerical parameter.
\version "2.19.81"
multiModal = #(define-music-function (scale patternMelodic num)
(ly:music? ly:music? number?)
#{
#@(map(lambda (p)
#{ \modalTranspose c #(ly:make-pitch -1 p) $scale
$patternMelodic #})
(iota num))
#})
scale = {c d e f g a b}
\score {
\multiModal \scale {c' d' c' r} 5
\layout {}
}
Andrew
On 10 March 2018 at 09:26, Gianmaria Lari <[email protected]> wrote:
> 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
>
>
_______________________________________________
lilypond-user mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/lilypond-user