From b605f2b518e0108d31e65b384f1a58dc5821938f Mon Sep 17 00:00:00 2001 From: Han-Wen Nienhuys Date: Sun, 11 Sep 2005 09:59:49 +0000 Subject: [PATCH] (set_chord_outlines): bugfix: insert complete box in skyline. --- ChangeLog | 5 +++++ lily/spacing-spanner.cc | 12 +++++++++--- lily/tie-column.cc | 11 ++++++++--- scm/define-music-types.scm | 2 +- 4 files changed, 23 insertions(+), 7 deletions(-) diff --git a/ChangeLog b/ChangeLog index 6534f18e44..e0bbce33e2 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2005-09-11 Han-Wen Nienhuys + + * lily/tie-column.cc (set_chord_outlines): bugfix: insert complete + box in skyline. + 2005-09-08 Han-Wen Nienhuys * lily/tie.cc (get_configuration): don't crash if left_dot is NULL. diff --git a/lily/spacing-spanner.cc b/lily/spacing-spanner.cc index 783889d3c8..2b9da0b802 100644 --- a/lily/spacing-spanner.cc +++ b/lily/spacing-spanner.cc @@ -439,9 +439,15 @@ ADD_INTERFACE (Spacing_spanner, "spacing-spanner-interface", "head width) A 16th note is followed by 0.5 note head width. The\n" "quarter note is followed by 3 NHW, the half by 4 NHW, etc.\n", - "grace-space-factor spacing-increment base-shortest-duration strict-note-spacing " - "shortest-duration-space common-shortest-duration uniform-stretching " - "packed-spacing "); + "grace-space-factor " + "spacing-increment " + "base-shortest-duration " + "strict-note-spacing " + "shortest-duration-space " + "common-shortest-duration " + "uniform-stretching " + "packed-spacing " + ); ADD_INTERFACE (Spacing_interface, "spacing-interface", "Something to do with line breaking and spacing. " diff --git a/lily/tie-column.cc b/lily/tie-column.cc index 38ac0c0a8a..670211562d 100644 --- a/lily/tie-column.cc +++ b/lily/tie-column.cc @@ -107,7 +107,7 @@ set_chord_outlines (Drul_array< Array > *skyline_drul, Array boxes; Interval x_union; - Grob *stem = 0; + Grob *stem = 0; for (int i = 0; i < ties.size (); i++) { Spanner *tie = dynamic_cast (ties[i]); @@ -178,15 +178,20 @@ set_chord_outlines (Drul_array< Array > *skyline_drul, do { Interval x ; + Interval y; if (boxes.size()) { Box b = boxes.boundary (updowndir, 0); x = b[X_AXIS]; x[-d] = b[X_AXIS].linear_combination (-d / 2); + y[-updowndir] = b[Y_AXIS][updowndir]; + y[updowndir] = updowndir * infinity_f; } - + if (!x.is_empty ()) - (*skyline_drul)[d].boundary (updowndir, 0).height_ = x[-d]; + insert_extent_into_skyline (&skyline_drul->elem_ref (d), + Box (x,y), + Y_AXIS, -d); } while (flip (&updowndir) != DOWN); diff --git a/scm/define-music-types.scm b/scm/define-music-types.scm index 8fa7798a19..1bdead9056 100644 --- a/scm/define-music-types.scm +++ b/scm/define-music-types.scm @@ -218,7 +218,7 @@ Syntax: @var{note}\\cr (description . "Change the key signature. Syntax: @code{\\key } @var{name} @var{scale}.") - + (to-relative-callback . ,(lambda (x p) p)) (types . (general-music key-change-event event)) )) -- 2.39.2