]> git.donarmstrong.com Git - lilypond.git/commitdiff
* lily/beam.cc (rest_collision_callback): call position_beam() if
authorHan-Wen Nienhuys <hanwen@xs4all.nl>
Fri, 5 Aug 2005 19:37:15 +0000 (19:37 +0000)
committerHan-Wen Nienhuys <hanwen@xs4all.nl>
Fri, 5 Aug 2005 19:37:15 +0000 (19:37 +0000)
necessary.

* input/proportional.ly: new file.

* lily/beam.cc (print): read break-overshoot to determine where to
stop/start broken beams.

ChangeLog
input/proportional.ly
lily/beam.cc

index a127bca4581aaf66afdc7b7d6ea1007c4e6f1f7e..98e0fdfd35ab1d1a975d33d49d3ca7cfcf5819b4 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,8 @@
 2005-08-05  Han-Wen Nienhuys  <hanwen@xs4all.nl>
 
+       * lily/beam.cc (rest_collision_callback): call position_beam() if
+       necessary.
+
        * input/regression/spacing-uniform-stretching.ly: new file.
 
        * lily/spacing-loose-columns.cc (set_loose_columns): use robust_relative_extent().
index f0d7a7db32d61547ecf8c11711fd0d14a6d6c36c..2415f25a1bae9e78f09cf11d9fd04f8a0937137e 100644 (file)
@@ -39,7 +39,7 @@ staffKind = "RhythmicStaff"
 
 \relative c''
 \new StaffGroup <<
-  \new \staffKind <<
+  \new \staffKind \new Voice <<
     {
       \skip 2
       \skip 2
@@ -59,6 +59,16 @@ staffKind = "RhythmicStaff"
        \times 5/4 {
          c16 c c] r32[ c32 c16 c] r8 }
       }
+   \times 10/12 {
+     \times 7/6 {
+          r32[ c16. c32 c16.] r4
+          r16[ c16 c16. c32
+     }
+     \times 5/8 {
+          c16 c16 c16. c32] r8 c8[ c8] r4.
+     }
+   }
+    %{
     \times 10/12 {
       \times 7/6 {
        r32[ c32. c16 c16.] r4
@@ -68,6 +78,7 @@ staffKind = "RhythmicStaff"
          c16 c c16. c32] r8 c8[ c] r4
       }
     }
+    %}
 
     \times 4/7 {
       r8
@@ -86,7 +97,7 @@ staffKind = "RhythmicStaff"
     }
   }  
     >>
-  \new \staffKind
+  \new \staffKind \new Voice
   <<
   {
     \times 9/5 {
@@ -108,7 +119,7 @@ staffKind = "RhythmicStaff"
       }
     }
     \times 10/12 {
-      \times 7/9 {
+      \times 7/10 {
        c16 c16 c8] r8 r4
         r8.[ c32 c16 c r8 c16 c16 
       }
index 681efd206a70e4990ef0aa874652c6d4e1800fba..6c6ed15546af8f95b717cd86da520e82847c41d0 100644 (file)
@@ -1299,6 +1299,15 @@ Beam::rest_collision_callback (SCM element_smob, SCM axis)
   SCM s = beam->get_property ("positions");
   if (scm_is_pair (s) && scm_is_number (scm_car (s)))
     pos = ly_scm2interval (s);
+  else
+    {
+      /*
+       UGH. TODO: fix dependency tracking. 
+       */ 
+      position_beam (beam);
+      pos = ly_scm2interval (beam->get_property ("positions"));
+    }
+                  
   Real staff_space = Staff_symbol_referencer::staff_space (rest);
 
   scale_drul (&pos, staff_space);