]> git.donarmstrong.com Git - lilypond.git/blob - input/tricks/reverse-music.ly
release: 1.3.129
[lilypond.git] / input / tricks / reverse-music.ly
1 \header {
2 texidoc="
3 Simple customised music apply.
4 ";
5 }
6
7 music = \notes { c'4 d'4( e'4 f'4 }
8
9 #(define (reverse-music music)
10   (let* ((elements (ly-get-mus-property music 'elements))
11          (reversed (reverse elements))
12          (span-dir (ly-get-mus-property music 'span-direction)))
13
14     (ly-set-mus-property music 'elements reversed)
15
16     (if (dir? span-dir)
17         (ly-set-mus-property music 'span-direction (- span-dir)))
18
19     (map reverse-music reversed)
20
21     music))
22
23 \score {
24   \context Voice {
25     \music
26     \apply #reverse-music \music
27   }
28   \paper { linewidth = -1.; }
29 }
30