]> git.donarmstrong.com Git - lilypond.git/commitdiff
* lily/beam.cc (rest_collision_callback): don't move anything if
authorHan-Wen Nienhuys <hanwen@xs4all.nl>
Thu, 15 Jan 2004 18:59:09 +0000 (18:59 +0000)
committerHan-Wen Nienhuys <hanwen@xs4all.nl>
Thu, 15 Jan 2004 18:59:09 +0000 (18:59 +0000)
staff-position is set.

* input/regression/rest-pitch.ly (texidoc): add rest under beam.

ChangeLog
input/regression/rest-pitch.ly
lily/beam.cc
lily/rest-collision.cc

index 66d7b6f78d4f54a97489eeede81b536faf2b36a6..3262ef9298b52bcbd162782875123c2040ad2ec3 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,10 @@
 2004-01-15  Han-Wen Nienhuys   <hanwen@xs4all.nl>
 
+       * lily/beam.cc (rest_collision_callback): don't move anything if
+       staff-position is set.
+
+       * input/regression/rest-pitch.ly (texidoc): add rest under beam.
+
        * lily/system.cc (typeset_grob): warn if adding twice.
 
        * lily/sequential-iterator.cc (run_always): implement run_always().
index 00ddc147030c3331cda3e23aba56ea3f850cb238..61f38fffc4d7cb397982cdb1c90759a421cfb1f8 100644 (file)
@@ -15,7 +15,10 @@ collision will leave it alone."
    a4\rest b4\rest c4\rest
 
 <<d \\  d\rest^"rest pitch" >>
-<<d \\  r>> 
+<<d \\  r>>
+  c16 [ d r e] 
+  c16 [ d e\rest^"rest pitch" e] 
+  
 }
 }
 
index 03daef5faa7c7807e37a1d309a6886935afa5c03..7cb39016357d92ded6ceda97d0ae89e47e4bbec3 100644 (file)
@@ -1423,6 +1423,9 @@ Beam::rest_collision_callback (SCM element_smob, SCM axis)
 {
   Grob *rest = unsmob_grob (element_smob);
   Axis a = (Axis) gh_scm2int (axis);
+
+  if (gh_number_p (rest->get_grob_property ("staff-position")))
+    return gh_int2scm (0);
   
   assert (a == Y_AXIS);
 
index 776d4baaa6727450440351f8777a343c92901883..31a83715dbd5f8bd2b9b71d447d7f451dab977b4 100644 (file)
@@ -141,7 +141,6 @@ Rest_collision::do_shift (Grob *me)
          for (; i > display_count; i--)
            {
              Grob* r = unsmob_grob (rests[i-1]->get_grob_property ("rest"));
-#if 1
              if (r)
                {
                  Grob * d = unsmob_grob (r->get_grob_property ("dot"));
@@ -150,16 +149,6 @@ Rest_collision::do_shift (Grob *me)
                  r->suicide ();
                }
              rests[i-1]->suicide ();
-#else
-             if (r)
-               {
-                 
-                 r->set_grob_property ("transparent", gh_bool2scm(1));
-                 r = unsmob_grob (r->get_grob_property ("dot"));
-                 if (r)
-                   r->set_grob_property ("transparent", gh_bool2scm(1));
-               }
-#endif
            }
        }
       else