]> git.donarmstrong.com Git - lilypond.git/blobdiff - input/test/add-staccato.ly
Fix some bugs in the dynamic engraver and PostScript backend
[lilypond.git] / input / test / add-staccato.ly
index f550daa23896bf29ee8752868e81752c0842207d..3a8668c5b8e84da1c030105f0a69fbcf0ac8b6c3 100644 (file)
@@ -1,38 +1,33 @@
-\version "1.7.6"  %% or actually: 1.7.1 ...
-\header {
 
-texidoc= "Using make-music, you can add various stuff to notes. Here
-is an example how to add staccato dots.  Note: for this simple case
-one would not use scm constructs.  See separate-staccato.ly first."
+\version "2.7.39"
+
+\header {
 
+texidoc= "@cindex Add Stacato
+Using @code{make-music}, you can add various stuff to notes. In this
+example staccato dots are added to the notes."
 } 
 
 #(define (make-script x)
-   (let ((m (make-music-by-name 'ArticulationEvent)))
-     (ly:set-mus-property! m 'articulation-type x)
-     m))
+   (make-music 'ArticulationEvent
+               'articulation-type x))
     
 #(define (add-script m x)
-   (if (equal? (ly:get-mus-property m 'name) 'RequestChord)
-       (ly:set-mus-property! m 'elements
-                           (cons (make-script x)
-                                 (ly:get-mus-property m 'elements)))
-
-       (let ((es (ly:get-mus-property m 'elements))
-            (e (ly:get-mus-property m 'element)) )
-        (map (lambda (y) (add-script y x)) es)
-        (if (ly:music? e)
-            (add-script e x))))
+   (if
+     (equal? (ly:music-property m 'name) 'EventChord)
+     (set! (ly:music-property m 'elements)
+           (cons (make-script x)
+                 (ly:music-property m 'elements))))
    m)
 
 #(define (add-staccato m)
    (add-script m "staccato"))
 
 \score {
-  \notes\relative c'' {
-    a b \apply #add-staccato { c c } 
-    a b \apply #add-staccato { c c } 
+  \relative c'' {
+    a b \applyMusic #(lambda (x) (music-map add-staccato x)) { c c } 
   }
+  \layout{ ragged-right = ##t }
 }
 
-%% new-chords-done %%
+