\header {
-texidoc =
+ texidoc =
-"With @code{music-map}, you can apply functions operating on a single
-piece of music to an entire music expression. In this example, the the
-function @code{notes-to-skip} changes a note to a skip. When applied
-to an entire music expression in the 1st measure, the scripts and
-dynamics are left over. These are put onto the 2nd measure."
+ "With @code{music-map}, you can apply functions operating on a
+single piece of music to an entire music expression. In this example,
+the the function @code{notes-to-skip} changes a note to a skip. When
+applied to an entire music expression in the 1st measure, the scripts
+and dynamics are left over. These are put onto the 2nd measure."
}
-\version "2.1.7"
+\version "2.12.0"
#(define (notes-to-skip m)
-"Convert all stuff with duration (notes, lyrics, bass figures, etc.) to skips.
+ "Convert all stuff with duration (notes, lyrics, bass figures, etc.) to skips.
Scripts and dynamics are maintained.
"
- (if (memq 'rhythmic-event (ly:get-mus-property m 'types))
- (let* ((newmus (make-music-by-name 'SkipEvent)))
- (map
- (lambda (x) (ly:set-mus-property! newmus (car x) (cdr x)))
- (ly:get-mutable-properties m))
- newmus
- )
- m)
+ (if (memq 'rhythmic-event (ly:music-property m 'types))
+ (let* ((newmus (make-music 'SkipEvent)))
+ (map
+ (lambda (x) (ly:music-set-property! newmus (car x) (cdr x)))
+ (ly:music-mutable-properties m))
+ newmus
+ )
+ m)
)
- \paper { raggedright= ##t }
+\layout { ragged-right= ##t }
-foobar = \notes \transpose c c' { c4\>-^ c4-^ c4\!-^ c4-^ }
+foobar = \transpose c c' { c4\>-^ c4-^ c4\!-^ c4-^ }
-\score {
- \notes \relative c'' \context Voice {
- \foobar
- << \apply #(lambda (x) (music-map notes-to-skip x))
- \foobar
- { d2 d2 } >>
-}}
+\relative c'' \context Voice {
+ \foobar
+
+ << \applyMusic #(lambda (x) (music-map notes-to-skip x))
+ \foobar
+ { d8 d d d d d d d } >>
+}