]> git.donarmstrong.com Git - lilypond.git/blobdiff - scm/auto-beam.scm
Remove leftover debugging comments from fret-diagrams.scm
[lilypond.git] / scm / auto-beam.scm
index 806287d1717e45c4a0a56c1794a5e0b878cae5c9..475788697baa4442e37706b36a803955a596ffa0 100644 (file)
@@ -2,7 +2,7 @@
 ;;;;
 ;;;; source file of the GNU LilyPond music typesetter
 ;;;; 
-;;;; (c) 2000--2005 Jan Nieuwenhuizen <janneke@gnu.org>
+;;;; (c) 2000--2007 Jan Nieuwenhuizen <janneke@gnu.org>
 
 ;;; specify generic beam begin and end times
 
@@ -42,6 +42,7 @@
     ((end 1 32 3 2) . ,(ly:make-moment 1 2))
     ((end 1 32 3 2) . ,(ly:make-moment 5 8))
     ((end 1 32 3 2) . ,(ly:make-moment 3 4))
+    ((end 1 32 3 2) . ,(ly:make-moment 7 8))
     ((end 1 32 3 2) . ,(ly:make-moment 9 8))
     ((end 1 32 3 2) . ,(ly:make-moment 5 4))
     ((end 1 32 3 2) . ,(ly:make-moment 11 8))
@@ -185,20 +186,21 @@ a fresh copy of the list-head is made."
 ;;  4. exceptions for specific time signature
 ;;  5. easy catch-all rule for non-specified measure types
 
-(define-public (default-auto-beam-check translator dir test)
+(define-public (default-auto-beam-check context dir test)
   (define (get name default)
-    (let ((value (ly:translator-property translator name)))
+    (let ((value (ly:context-property context name)))
       (if (not (null? value)) value default)))
 
-  (if (!= (ly:moment-grace-numerator (ly:translator-now translator)) 0)
-      ;; No auto beaming for grace notes
+  ;; Don't start auto beams on grace notes
+  (if (and (!= (ly:moment-grace-numerator (ly:context-now context)) 0)
+          (= dir START))
       #f
       (let* ((beat-length (get 'beatLength (ly:make-moment 1 1)))
             (measure-length (get 'measureLength (ly:make-moment 1 1)))
-            (measure-pos (get 'measurePosition (ly:make-moment 0 1)))
+            (measure-pos (get 'measurePosition ZERO-MOMENT))
             (settings (get 'autoBeamSettings '()))
             (function (list (if (= dir START) 'begin 'end)))
-            (num-mom (ly:div-moment measure-length beat-length))
+            (num-mom (ly:moment-div measure-length beat-length))
             (num (inexact->exact
                   (round (/ (ly:moment-main-numerator num-mom)
                             (ly:moment-main-denominator num-mom)))))
@@ -208,7 +210,7 @@ a fresh copy of the list-head is made."
                         (ly:moment-main-denominator test)))
             (pos (if (>= (ly:moment-main-numerator measure-pos) 0)
                      measure-pos
-                     (ly:add-moment measure-length measure-pos)))
+                     (ly:moment-add measure-length measure-pos)))
             (lst (list
                   ;; Hmm, should junk user-override feature,
                   ;; or split this in user-override and config section?
@@ -216,6 +218,7 @@ a fresh copy of the list-head is made."
                   (append function '(* * * *))
                   (append function type time)
                   (append function '(* *) time))))
+
        (if (or
             ;; always begin or end beams at beginning/ending of measure
             (= (ly:moment-main-numerator pos) 0)
@@ -229,4 +232,4 @@ a fresh copy of the list-head is made."
                ;; end at any beat
                (and (not (first-assoc lst settings))
                     (= (ly:moment-main-denominator
-                        (ly:div-moment pos beat-length)) 1)))))))
+                        (ly:moment-div pos beat-length)) 1)))))))