From: Joe Neeman Date: Mon, 6 Aug 2007 06:22:19 +0000 (+1000) Subject: More tweaks to Note_spacing. X-Git-Tag: release/2.11.30-1~24^2^2~4 X-Git-Url: https://git.donarmstrong.com/?a=commitdiff_plain;h=9f089ec87fad67b7d39950012a806887d27813cb;p=lilypond.git More tweaks to Note_spacing. Increase spacing slightly in cases where near-collisions would occur. Correct the shifting and raising used for combining skylines for Note_spacing. --- diff --git a/lily/note-spacing.cc b/lily/note-spacing.cc index af8fb0d6e0..e41046bc45 100644 --- a/lily/note-spacing.cc +++ b/lily/note-spacing.cc @@ -69,7 +69,7 @@ Note_spacing::get_spacing (Grob *me, Item *right_col, Drul_array skys = Spacing_interface::skylines (me, right_col); Real distance = skys[LEFT].distance (skys[RIGHT]); Real min_dist = max (0.0, distance); - Real min_desired_space = left_head_end + (min_dist - left_head_end) / 2; + Real min_desired_space = left_head_end + (min_dist - left_head_end + base_space - increment) / 2; Real ideal = base_space - increment + left_head_end; /* If we have a NonMusical column on the right, we measure the ideal distance diff --git a/lily/spacing-interface.cc b/lily/spacing-interface.cc index 8d1e0b036a..1cf1a02cdc 100644 --- a/lily/spacing-interface.cc +++ b/lily/spacing-interface.cc @@ -58,11 +58,12 @@ Spacing_interface::skylines (Grob *me, Grob *right_col) { SCM sky_scm = g->get_property ("horizontal-skylines"); Skyline_pair *sky = Skyline_pair::unsmob (sky_scm); - Real shift = g->pure_relative_y_coordinate (system, 0, INT_MAX); - Real raise = g->relative_coordinate (columns[d], X_AXIS); + + extract_grob_set (g, "elements", elts); + Grob *ycommon = common_refpoint_of_array (elts, g, Y_AXIS); + Real shift = ycommon->pure_relative_y_coordinate (system, 0, INT_MAX); skylines[d].shift (-shift); - skylines[d].raise (-raise); if (sky) skylines[d].merge ((*sky)[-d]); @@ -73,7 +74,6 @@ Spacing_interface::skylines (Grob *me, Grob *right_col) skylines[d].merge (Separation_item::conditional_skyline (items[d][i], items[LEFT][0])); skylines[d].shift (shift); - skylines[d].raise (raise); } } }