From d8f145382aa6e698948a65ee687294ade81c560f Mon Sep 17 00:00:00 2001 From: Rune Zedeler Date: Sun, 13 Oct 2002 15:01:49 +0000 Subject: [PATCH] * 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) --- ChangeLog | 9 +++++++++ lily/accidental-engraver.cc | 2 +- lily/stem.cc | 16 ++++++++++------ 3 files changed, 20 insertions(+), 7 deletions(-) diff --git a/ChangeLog b/ChangeLog index 35e18b2149..71b6d05a68 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,12 @@ +2002-10-13 Rune Zedeler + + * 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 * lily/parser.yy (assignment): allow SCM expression as assignment. diff --git a/lily/accidental-engraver.cc b/lily/accidental-engraver.cc index 44f162caac..75816c76ec 100644 --- a/lily/accidental-engraver.cc +++ b/lily/accidental-engraver.cc @@ -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_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: -- 2.39.5