Gianmaria Lari <gianmarial...@gmail.com> writes:

> I have this:
>
> \version "2.19.80"
>
> scale = {c d e f g a b}
> pattern = {c d e f}
>
> \fixed c' {
>   \modalTranspose c c \scale \pattern
>   \modalTranspose c d \scale \pattern
>   \modalTranspose c e \scale \pattern
>   \modalTranspose c f \scale \pattern
>   \modalTranspose c g \scale \pattern
>   \modalTranspose c a \scale \pattern
>   \modalTranspose c b \scale \pattern
>   \modalTranspose c c' \scale \pattern
> }
>
> Is there any (simple) way to rewrite it in a more concise way like this for
> example?
>
>   \repeat unfold 7 {
>     \modalTranspose c "c+index" \scale \pattern
>   }

What is simple?

\version "2.18.0"

scale = {c d e f g a b}
pattern = {c d e f}

\fixed c' {
  #@(map
      (lambda (p)
        #{ \modalTranspose c #(ly:make-pitch -1 p) \scale \pattern #})
      (iota 8))
}

-- 
David Kastrup

_______________________________________________
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user

Reply via email to