From dbf67da71caccc4f772ed9d22262d0419a9d12fc Mon Sep 17 00:00:00 2001 From: Han-Wen Nienhuys Date: Sun, 1 Aug 2004 23:36:19 +0000 Subject: [PATCH] * lily/slur-quanting.cc (enumerate_attachments): apply center on stem-X in more cases. * lily/stem.cc (dim_callback): solve todo. --- ChangeLog | 7 +++++++ lily/slur-quanting.cc | 10 +++++++--- lily/stem.cc | 12 ++++++++---- scm/lily.scm | 2 +- 4 files changed, 23 insertions(+), 8 deletions(-) diff --git a/ChangeLog b/ChangeLog index 3ec7d23a72..a2217214db 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +2004-08-02 Han-Wen Nienhuys + + * lily/slur-quanting.cc (enumerate_attachments): apply center on + stem-X in more cases. + + * lily/stem.cc (dim_callback): solve todo. + 2004-08-01 Han-Wen Nienhuys * input/test/README: new file. diff --git a/lily/slur-quanting.cc b/lily/slur-quanting.cc index bed231991f..b6ad5ac5a3 100644 --- a/lily/slur-quanting.cc +++ b/lily/slur-quanting.cc @@ -556,6 +556,10 @@ get_base_attachments (Spanner *me, bool same_beam = (extremes[d].stem_ && extremes[-d].stem_ && Stem::get_beam (extremes[d].stem_) == Stem::get_beam (extremes[-d].stem_)); + + /* + fixme: X coord should also be set in this case. + */ if (stem && extremes[d].stem_dir_ == dir && Stem::get_beaming (stem, -d) @@ -692,10 +696,10 @@ enumerate_attachments (Grob *me, Grob *common[], os[d][X_AXIS] = base_attachment[d][X_AXIS]; if (extremes[d].stem_ && !Stem::is_invisible (extremes[d].stem_) - && extremes[d].stem_dir_ == dir - && dir == -d) + && extremes[d].stem_dir_ == dir) { - if (extremes[d].stem_extent_[Y_AXIS].contains (os[d][Y_AXIS])) + if (dir == -d + && extremes[d].stem_extent_[Y_AXIS].contains (os[d][Y_AXIS])) { os[d][X_AXIS] = extremes[d].slur_head_extent_[-d] - d * 0.3; diff --git a/lily/stem.cc b/lily/stem.cc index 6a2acc434d..ebf61ee177 100644 --- a/lily/stem.cc +++ b/lily/stem.cc @@ -631,11 +631,15 @@ Stem::dim_callback (SCM e, SCM ax) r.set_empty (); } else if (unsmob_grob (me->get_property ("beam")) || abs (duration_log (me)) <= 2) - ; // TODO! + { + r = Interval (-1,1); + r *= thickness (me)/2; + } else - r = flag (me).extent (X_AXIS) - + thickness (me)/2; - + { + r = flag (me).extent (X_AXIS) + + thickness (me)/2; + } return ly_interval2scm (r); } diff --git a/scm/lily.scm b/scm/lily.scm index a9339f97b7..07d1146b9f 100644 --- a/scm/lily.scm +++ b/scm/lily.scm @@ -594,7 +594,7 @@ L1 is copied, L2 not. (for-each (lambda (f) (catch 'ly-file-failed (lambda () (ly:parse-file f)) handler) - (dump-gc-protects) +; (dump-gc-protects) ) files) -- 2.39.5