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