3 % possible rename to scheme-something.
4 \header { texidoc="@cindex Scheme Reverse Music
5 Symmetric, or palindromical music can be produced, first, by printing
6 some music, and second, by printing the same music applying a Scheme
7 function to reverse the syntax.
11 music = \relative c'' { c4 d4( e4 f4 }
13 #(define (reverse-music music)
14 (let* ((elements (ly:music-property music 'elements))
15 (reversed (reverse elements))
16 (e (ly:music-property music 'element))
17 (span-dir (ly:music-property music 'span-direction)))
19 (ly:music-set-property! music 'elements reversed)
22 (ly:music-set-property!
26 (if (ly:dir? span-dir)
27 (ly:music-set-property! music 'span-direction (- span-dir)))
29 (map reverse-music reversed)
36 \applymusic #reverse-music \music
38 \paper { raggedright = ##t}