]> git.donarmstrong.com Git - lilypond.git/blobdiff - scm/music-functions.scm
Merge with master
[lilypond.git] / scm / music-functions.scm
index 189f960ff696a9cc81babab737149e59af3c76be..21617676ad71f64fef61530ba42116bb9c63e3d0 100644 (file)
@@ -228,10 +228,15 @@ Returns `obj'.
          (if (memq 'sequential-music (ly:music-property main 'types))
              ;; \repeat "tremolo" { c4 d4 }
              (let ((children (length (ly:music-property main 'elements))))
-               (if (not (= children 2))
+
+               ;; fixme: should be more generic.
+               (if (and (not (= children 2))
+                        (not (= children 1)))
                    (ly:warning (_ "expecting 2 elements for chord tremolo, found ~a") children))
                (ly:music-compress r (ly:make-moment 1 children))
-               (shift-duration-log r (1- shift) dots))
+               (shift-duration-log r
+                                   (if (= children 2)  (1- shift) shift)
+                                   dots))
              ;; \repeat "tremolo" c4
              (shift-duration-log r shift dots)))
        r)))
@@ -410,23 +415,26 @@ i.e.  this is not an override"
 old middleCPosition, add OCTAVATION to middleCPosition, and set
 OTTAVATION to `8va', or whatever appropriate."     
       (if (number? (ly:context-property         context 'middleCPosition))
-         (if (= octavation 0)
-             (let ((where (ly:context-property-where-defined context 'middleCPosition))
-                   (oc0 (ly:context-property context 'originalCentralCPosition)))
-               (ly:context-set-property! context 'middleCPosition oc0)
-               (ly:context-unset-property where 'originalCentralCPosition)
-               (ly:context-unset-property where 'ottavation))
-             (let* ((where (ly:context-property-where-defined context 'middleCPosition))
-                    (c0 (ly:context-property context 'middleCPosition))
-                    (new-c0 (+ c0 (* -7 octavation)))
-                    (string (cdr (assoc octavation '((2 . "15ma")
-                                                     (1 . "8va")
-                                                     (0 . #f)
-                                                     (-1 . "8vb")
-                                                     (-2 . "15mb"))))))
-               (ly:context-set-property! context 'middleCPosition new-c0)
-               (ly:context-set-property! context 'originalCentralCPosition c0)
-               (ly:context-set-property! context 'ottavation string)))))
+         (begin
+           (if (number? (ly:context-property context 'originalMiddleCPosition))
+               (let ((where (ly:context-property-where-defined context 'middleCPosition)))
+                 
+                 (ly:context-set-property! context 'middleCPosition
+                                           (ly:context-property context 'originalMiddleCPosition))
+                 (ly:context-unset-property where 'originalMiddleCPosition)
+                 (ly:context-unset-property where 'ottavation)))
+ot         
+           (let* ((where (ly:context-property-where-defined context 'middleCPosition))
+                  (c0 (ly:context-property context 'middleCPosition))
+                  (new-c0 (+ c0 (* -7 octavation)))
+                  (string (cdr (assoc octavation '((2 . "15ma")
+                                                   (1 . "8va")
+                                                   (0 . #f)
+                                                   (-1 . "8vb")
+                                                   (-2 . "15mb"))))))
+             (ly:context-set-property! context 'middleCPosition new-c0)
+             (ly:context-set-property! context 'originalMiddleCPosition c0)
+             (ly:context-set-property! context 'ottavation string)))))
     (set! (ly:music-property m 'procedure) ottava-modify)
     (context-spec-music m 'Staff)))
 
@@ -491,9 +499,9 @@ of beat groupings "
              'duration duration
              'text string))
 
-(define-safe-public (make-span-event type spandir)
+(define-safe-public (make-span-event type span-dir)
   (make-music type
-             'span-direction spandir))
+             'span-direction span-dir))
 
 (define-public (set-mus-properties! m alist)
   "Set all of ALIST as properties of M." 
@@ -745,7 +753,7 @@ Syntax:
              (set! (ly:music-property music 'quoted-events) quoted-vector)
              (set! (ly:music-property music 'iterator-ctor)
                    ly:quote-iterator::constructor))
-           (ly:warning (_ "cannot find quoted music: `~S'" quoted-name))))
+           (ly:warning (_ "cannot find quoted music: `~S'") quoted-name)))
     music))