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