Comment #9 on issue 2607 by [email protected]: Patch: Allow immediate Scheme
expressions to take multiple values
http://code.google.com/p/lilypond/issues/detail?id=2607
To add to already deafening enthusiasm, allow me to add another example of
usage.
\score
{
{ $@(map
(lambda (p d) #{ < $@p >$@d #})
(let loop
((c (map
(lambda (i)
(let ((p (+ 15 (* 9 (quotient i 5)) (* i -2))))
(ly:make-pitch (quotient p 7) (remainder p 7) 0)))
(iota 41)))
(l '()))
(if (< (length c) 5)
(append-reverse (drop l 3) (list (fifth l)))
(loop (cdr c) (cons (take c 5) l))))
(apply
circular-list
(reverse!
(fold-some-music
(lambda (m) (ly:music-property m 'duration #f))
(lambda (m l) (cons (cons (ly:music-property m 'duration)
(ly:music-property m 'articulations))
l))
'()
#{ s4.~ s~ s4~ s2~ s2 #}))))
<c' e' g' a' c''>1 \bar "|."
}
\midi { \tempo 4 = 220 }
\layout { }
}