]> git.donarmstrong.com Git - lilypond.git/blob - input/test/reverse-music.ly
update syntax in .ly files.
[lilypond.git] / input / test / reverse-music.ly
1 \version "1.7.6"
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 (ly:music? e)
20         (ly:set-mus-property!
21          music 'element
22          (reverse-music e)))
23
24     (if (ly: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
39 %% new-chords-done %%