]> git.donarmstrong.com Git - lilypond.git/commitdiff
* lily/accidental-engraver.cc: Fix release/1.7.3
authorRune Zedeler <rune@lilypond.org>
Sun, 13 Oct 2002 15:01:49 +0000 (15:01 +0000)
committerRune Zedeler <rune@lilypond.org>
Sun, 13 Oct 2002 15:01:49 +0000 (15:01 +0000)
grace-in-the-beginning-of-measure bug caused by the resent
partial-measure fix.

* lily/stem.cc: reversed noteheads overlap half of the stem. (Full
overlap looks too crowded)

ChangeLog
lily/accidental-engraver.cc
lily/stem.cc

index 35e18b21493dba2976ce01b9a8b8af18fa6a4cf0..71b6d05a68c3c5c071bcccb59ef727429af9d6f2 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,12 @@
+2002-10-13  Rune Zedeler  <rune@zedeler.dk>
+
+       * lily/accidental-engraver.cc: Fix
+       grace-in-the-beginning-of-measure bug caused by the resent
+       partial-measure fix.
+
+       * lily/stem.cc: reversed noteheads overlap half of the stem. (Full
+       overlap looks too crowded)
+       
 2002-10-13  Han-Wen Nienhuys  <hanwen@cs.uu.nl>
 
        * lily/parser.yy (assignment): allow SCM expression as assignment.
index 44f162caac09a0f466076dc461df21b77aefde03..75816c76ecf123a1c222c7b3c31029ec0efe94e9 100644 (file)
@@ -241,7 +241,7 @@ Accidental_engraver::process_acknowledged_grobs ()
       SCM barnum = get_property ("currentBarNumber");
       SCM smp = get_property("measurePosition");
       Moment mp = (unsmob_moment (smp)) ? *unsmob_moment (smp) : Moment (0);
-      if(mp<0 && gh_number_p(barnum)) barnum = scm_int2num(gh_scm2int(barnum)-1);
+      if(mp.main_part_<Rational(0) && gh_number_p(barnum)) barnum = scm_int2num(gh_scm2int(barnum)-1);
       bool extra_natural_b = get_property ("extraNatural") == SCM_BOOL_T;
       for (int i = 0; i  < accidentals_.size (); i++) 
        {
index 3e096be996b77bbb7d80e9e91c043d0b93ef78be..0f3722e74ab1481830475b62c2c400a963d34bd2 100644 (file)
@@ -418,10 +418,8 @@ Stem::position_noteheads (Grob*me)
 
 
   bool invisible = invisible_b (me);
-  Real thick = 0.0;
-  if (invisible)
-        thick = gh_scm2double (me->get_grob_property ("thickness"))
-         * me->get_paper ()->get_var ("linethickness");
+  Real thick = gh_scm2double (me->get_grob_property ("thickness"))
+     * me->get_paper ()->get_var ("linethickness");
       
 
   Grob *hed = support_head (me);
@@ -446,10 +444,16 @@ Stem::position_noteheads (Grob*me)
              Real l = Note_head::head_extent (heads[i], X_AXIS).length ();
 
              Direction d = get_direction (me);
-             heads[i]->translate_axis (l * d, X_AXIS);
+             /* reversed head should be shifted l-thickness, but this looks
+                too crowded, so we only shift l-0.5*thickness.
+                Notice that this leads to assymetry: Normal heads overlap
+                the stem 100% whereas reversed heads only overlaps the stem
+                50% */
+             #define magic 0.5
+             heads[i]->translate_axis ((l-thick*magic) * d, X_AXIS);
 
              if (invisible_b(me))
-               heads[i]->translate_axis (-thick *2* d , X_AXIS);
+               heads[i]->translate_axis (-thick*(2-magic) * d , X_AXIS);
 
              
             /* TODO: