-\version "1.3.146"
-\header {
-texidoc="
-Simple customised music apply.
+\version "2.7.39"
+% possible rename to scheme-something.
+\header { texidoc="@cindex Scheme Reverse Music
+Symmetric, or palindromical music can be produced, first, by printing
+some music, and second, by printing the same music applying a Scheme
+function to reverse the syntax.
"
}
-music = \notes { c'4 d'4( e'4 f'4 }
+music = \relative c'' { c4 d4( e4 f4 }
#(define (reverse-music music)
- (let* ((elements (ly-get-mus-property music 'elements))
+ (let* ((elements (ly:music-property music 'elements))
(reversed (reverse elements))
- (span-dir (ly-get-mus-property music 'span-direction)))
+ (e (ly:music-property music 'element))
+ (span-dir (ly:music-property music 'span-direction)))
- (ly-set-mus-property music 'elements reversed)
+ (ly:music-set-property! music 'elements reversed)
- (if (dir? span-dir)
- (ly-set-mus-property music 'span-direction (- span-dir)))
+ (if (ly:music? e)
+ (ly:music-set-property!
+ music 'element
+ (reverse-music e)))
+
+ (if (ly:dir? span-dir)
+ (ly:music-set-property! music 'span-direction (- span-dir)))
(map reverse-music reversed)
\score {
\context Voice {
\music
- \apply #reverse-music \music
+ \applyMusic #reverse-music \music
}
- \paper { linewidth = -1. }
+ \layout { ragged-right = ##t}
}
+