From: Keith OHara Date: Sat, 5 Nov 2011 07:16:28 +0000 (-0700) Subject: Reduce interactions between staves during note-spacing; issue 2058 X-Git-Tag: release/2.15.22-1~25 X-Git-Url: https://git.donarmstrong.com/?a=commitdiff_plain;h=b1b88da3c285b2910f10d66af8632353396114ba;p=lilypond.git Reduce interactions between staves during note-spacing; issue 2058 Build the skylines for note-spacing at desired distance, not mininmum distance --- diff --git a/lily/align-interface.cc b/lily/align-interface.cc index fb1ccf8a21..f4884faa6b 100644 --- a/lily/align-interface.cc +++ b/lily/align-interface.cc @@ -167,7 +167,7 @@ Align_interface::get_minimum_translations_without_min_dist (Grob *me, } // If include_fixed_spacing is false, the only constraints that will be measured -// here are those that result from collisions (+ padding) and minimum-distance +// here are those that result from collisions (+ padding) and the spacing spec // between adjacent staves. // If include_fixed_spacing is true, constraints from line-break-system-details, // basic-distance+stretchable=0, and staff-staff-spacing of spaceable staves @@ -221,9 +221,13 @@ Align_interface::internal_get_minimum_translations (Grob *me, dy = down_skyline.distance (skylines[j][-stacking_dir]) + padding; - Real min_distance = 0; - if (Page_layout_problem::read_spacing_spec (spec, &min_distance, ly_symbol2scm ("minimum-distance"))) - dy = max (dy, min_distance); + Real spec_distance = 0; + if (Page_layout_problem::read_spacing_spec (spec, &spec_distance, ly_symbol2scm ("minimum-distance"))) + dy = max (dy, spec_distance); + // Consider the likely final spacing when estimating distance between staves of the full score + if (INT_MAX == end && 0 == start + && Page_layout_problem::read_spacing_spec (spec, &spec_distance, ly_symbol2scm ("basic-distance"))) + dy = max (dy, spec_distance); if (include_fixed_spacing && Page_layout_problem::is_spaceable (elems[j]) && last_spaceable_element) { @@ -308,7 +312,6 @@ Align_interface::align_elements_to_minimum_distances (Grob *me, Axis a) all_grobs[j]->translate_axis (translates[j], a); } - MAKE_SCHEME_CALLBACK (Align_interface, full_score_pure_minimum_translations, 1); SCM Align_interface::full_score_pure_minimum_translations (SCM smob)