]> git.donarmstrong.com Git - lilypond.git/commitdiff
Update beam ending rules
authorTrevor Daniels <t.daniels@treda.co.uk>
Mon, 5 Jan 2009 14:48:25 +0000 (14:48 +0000)
committerTrevor Daniels <t.daniels@treda.co.uk>
Tue, 6 Jan 2009 20:28:10 +0000 (20:28 +0000)
     - Now that beatGrouping works correctly, beam
       ending rules are not required for those values
       of beatLength which are correctly derived from
       the time signature

     - The beam ending rules for 1/16 and 1/32 notes are
       retained, however, but are extended to cover those
       moments which previously were covered by the
       deleted rules, and to cover the 2 2 time signature

input/regression/auto-beam.ly
input/regression/beam-auto.ly
scm/auto-beam.scm

index cb7f369840f42547fd98f096da71f5ea78ef5829..44e5e529ecc5455a64ee20975ac785e9a33711f2 100644 (file)
@@ -1,5 +1,5 @@
 \header {
-  texidoc="Beams are place automatically; the last measure should have a single 
+  texidoc="Beams are placed automatically; the last measure should have a single
 beam."
 }
 
index 213031bb4dc79c54a047f14642b294add4ec9070..8e90e1d32514661ec80c1607146b14e6e07386fc 100644 (file)
@@ -8,11 +8,12 @@ time signatures. " }
 \relative c''{
 
   \time 1/2
+
   c8 c c c
   c16 c c c c c c c
   c32 c c c c c c c c c c c c c c c
   \time 1/4
-  c8 c 
+  c8 c
   c16 c c c
   c32 c c c c c c c
   \time 1/8
@@ -35,6 +36,7 @@ time signatures. " }
   \time 3/2
   c8 c c c c c c c c c c c
   c16 c c c c c c c c c c c c c c c c c c c c c c c
+  c32 c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c
   \time 3/4
   c8 c c c c c
   c16 c c c c c c c c c c c
@@ -51,11 +53,21 @@ time signatures. " }
   c8 c c c
   c16 c c c c c c c
   c32 c c c c c c c c c c c c c c c
+  \time 4/16
+  c8 c
+  c16 c c c
+  c32 c c c c c c c
   \time 6/8
   c8 c c c c c
   c16 c c c c c c c c c c c
+  c32 c c c c c c c c c c c c c c c c c c c c c c c
   \time 9/8
   c8 c c c c c c c c
   c16 c c c c c c c c c c c c c c c c c
+  c32 c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c
+  \time 12/8
+  c8 c c c c c c c c c c c
+  c16 c c c c c c c c c c c c c c c c c c c c c c c
+  c32 c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c
 }
 
index 2707b80252dafea91905f60794e96f46ca1d20a7..6479969eb8deb1c2b39b2387f8da0600df5ceb1f 100644 (file)
@@ -1,10 +1,10 @@
 ;;;; auto-beam.scm -- Auto-beam-engraver settings
 ;;;;
 ;;;; source file of the GNU LilyPond music typesetter
-;;;; 
+;;;;
 ;;;; (c) 2000--2009 Jan Nieuwenhuizen <janneke@gnu.org>
 
-;;; specify generic beam begin and end times
+;;; specify generic beam end times
 
 ;;; format:
 ;;;
 
 (define-public default-auto-beam-settings
   `(
-    ;; in 3 2 time:
-    ;;   end beams each 1 2 note
-    ;;   end beams with 16th notes each 1 4 note
-    ;;   end beams with 32nd notes each 1 8 note
+    ;; in 2 2 time:
+    ;;  use beatLength for all except 32nd notes
+    ;;  end beams with 32nd notes each 1 4 beat
 
-    ((end * * 3 2) . ,(ly:make-moment 1 2))
-    ((end * * 3 2) . ,(ly:make-moment 2 2))
+    ((end 1 32 2 2) . ,(ly:make-moment 1 4))
+    ((end 1 32 2 2) . ,(ly:make-moment 2 4))
+    ((end 1 32 2 2) . ,(ly:make-moment 3 4))
+
+    ;; in 3 2 time:
+    ;;   use beatLength for all except 16th and 32nd notes
+    ;;   end beams with 16th notes each 1 4 beat
+    ;;   end beams with 32nd notes each 1 8 beat
 
     ((end 1 16 3 2) . ,(ly:make-moment 1 4))
-    ((end 1 16 3 2) . ,(ly:make-moment 1 2))
+    ((end 1 16 3 2) . ,(ly:make-moment 2 4))
     ((end 1 16 3 2) . ,(ly:make-moment 3 4))
+    ((end 1 16 3 2) . ,(ly:make-moment 4 4))
     ((end 1 16 3 2) . ,(ly:make-moment 5 4))
 
     ((end 1 32 3 2) . ,(ly:make-moment 1 8))
-    ((end 1 32 3 2) . ,(ly:make-moment 1 4))
+    ((end 1 32 3 2) . ,(ly:make-moment 2 8))
     ((end 1 32 3 2) . ,(ly:make-moment 3 8))
-    ((end 1 32 3 2) . ,(ly:make-moment 1 2))
+    ((end 1 32 3 2) . ,(ly:make-moment 4 8))
     ((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 6 8))
     ((end 1 32 3 2) . ,(ly:make-moment 7 8))
+    ((end 1 32 3 2) . ,(ly:make-moment 8 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 10 8))
     ((end 1 32 3 2) . ,(ly:make-moment 11 8))
 
-    ((end * * 3 4) . ,(ly:make-moment 3 4))
+    ;; in 2 4 time:
+    ;;   use beatLength for all except 32nd notes
+    ;;   end beams with 32nd notes each 1 8 beat
 
-    ((end 1 16 3 4) . ,(ly:make-moment 1 4))
-    ((end 1 16 3 4) . ,(ly:make-moment 1 2))
+    ((end 1 32 2 4) . ,(ly:make-moment 1 8))
+    ((end 1 32 2 4) . ,(ly:make-moment 2 8))
+    ((end 1 32 2 4) . ,(ly:make-moment 3 8))
+
+    ;; in 3 4 time:
+    ;;   override beatLength which would end beams at 1 4 beats
+    ;;   end beams with 16th notes each 1 4 beat
+    ;;   end beams with 32nd notes each 1 8 beat
 
+    ((end * * 3 4) . ,(ly:make-moment 3 4))
+    ((end 1 16 3 4) . ,(ly:make-moment 1 4))
+    ((end 1 16 3 4) . ,(ly:make-moment 2 4))
     ((end 1 32 3 4) . ,(ly:make-moment 1 8))
-    ((end 1 32 3 4) . ,(ly:make-moment 1 4))
+    ((end 1 32 3 4) . ,(ly:make-moment 2 8))
     ((end 1 32 3 4) . ,(ly:make-moment 3 8))
-    ((end 1 32 3 4) . ,(ly:make-moment 1 2))
+    ((end 1 32 3 4) . ,(ly:make-moment 4 8))
     ((end 1 32 3 4) . ,(ly:make-moment 5 8))
 
-    ((end * * 3 8) . ,(ly:make-moment 3 8))
-
     ;; in common time:
-    ;;   end beams each 1 2 note
-    ;;   end beams with 32nd notes each 1 8 note
-    ;;   end beams with 1 8 triplets each 1 4 note
+    ;;   override beatLength which would end beams at 1 4 beats
+    ;;   end all beams at 1 2 beat
+    ;;   end beams with 8th triplets each 1 4 beat
+    ;;   end beams with 16th notes each 1 4 beat
+    ;;   end beams with 32nd notes each 1 8 beat
 
     ((end * * 4 4) . ,(ly:make-moment 1 2))
+
     ((end 1 12 4 4) . ,(ly:make-moment 1 4))
     ((end 1 12 4 4) . ,(ly:make-moment 3 4))
 
     ((end 1 16 4 4) . ,(ly:make-moment 3 4))
 
     ((end 1 32 4 4) . ,(ly:make-moment 1 8))
-    ((end 1 32 4 4) . ,(ly:make-moment 1 4))
+    ((end 1 32 4 4) . ,(ly:make-moment 2 8))
     ((end 1 32 4 4) . ,(ly:make-moment 3 8))
     ((end 1 32 4 4) . ,(ly:make-moment 5 8))
-    ((end 1 32 4 4) . ,(ly:make-moment 3 4))
+    ((end 1 32 4 4) . ,(ly:make-moment 6 8))
     ((end 1 32 4 4) . ,(ly:make-moment 7 8))
 
-    ((end * * 2 4) . ,(ly:make-moment 1 4))
-    ((end 1 32 2 4) . ,(ly:make-moment 1 8))
-    ((end 1 32 2 4) . ,(ly:make-moment 3 8))
+    ;; in 3 8 time:
+    ;;   override beatLength which would end beams at 1 8 beats
+
+    ((end * * 3 8) . ,(ly:make-moment 3 8))
+
+    ;; in 4 8 time
+    ;;   override beatLength which would end beams at 1 8 beats
+    ;;   end all beams at 1 4 beat
+    ;;   end beams with 32nd notes each 1 8 beat
 
     ((end * * 4 8) . ,(ly:make-moment 1 4))
     ((end 1 32 4 8) . ,(ly:make-moment 1 8))
     ((end 1 32 4 8) . ,(ly:make-moment 3 8))
 
-    ((end * * 4 16) . ,(ly:make-moment 1 8))
-
     ;; in 6 8, 9 8 and 12 8 time:
-    ;;   use beatGrouping for all except 32nd notes
-    ;;   end beams with 32nd notes every 1 8 note
+    ;;   use beatGrouping for all except 32nd notes
+    ;;   end beams with 32nd notes each 1 8 beat
 
     ((end 1 32 6 8) . ,(ly:make-moment 1 8))
     ((end 1 32 6 8) . ,(ly:make-moment 2 8))
     ((end 1 32 12 8) . ,(ly:make-moment 9 8))
     ((end 1 32 12 8) . ,(ly:make-moment 10 8))
     ((end 1 32 12 8) . ,(ly:make-moment 11 8))
+
+    ;; in 4 16 time
+    ;;   end all beams each 1 8 beat
+
+    ((end * * 4 16) . ,(ly:make-moment 1 8))
+
     ))
 
 (define (override-property-setting context property setting value)