if (!spacer.fits ())
{
- Real overflow = spacer.configuration_length (spacer.force ()) - page_height_;
- vsize space_count = solution_.size ();
- for (vsize i = 0; i < space_count; i++)
- solution_[i] -= (i + 1) * overflow / space_count;
+ Real overflow = spacer.configuration_length (spacer.force ())
+ - page_height_;
warning (_f ("couldn't fit music on page: overflow is %f",
overflow));
warning (_ ("compressing music to fit"));
+ vsize space_count = solution_.size ();
+ Real spacing_increment = overflow / (space_count - 2);
+ for (vsize i = 2; i < space_count; i++)
+ solution_[i] -= (i-1) * spacing_increment;
}
}
Real stretchability = 0;
if (Page_layout_problem::read_spacing_spec (spec, &stretchability, ly_symbol2scm ("stretchability"))
&& stretchability == 0)
- Page_layout_problem::read_spacing_spec (spec, &ret, ly_symbol2scm ("space"));
+ Page_layout_problem::read_spacing_spec (spec, &ret, ly_symbol2scm ("basic-distance"));
// If we're pure, then paper-columns have not had their systems set,
// and so elts[i]->get_system () is unreliable.
Real space;
Real stretch;
Real min_dist;
- if (read_spacing_spec (spec, &space, ly_symbol2scm ("space")))
+ if (read_spacing_spec (spec, &space, ly_symbol2scm ("basic-distance")))
spring->set_distance (space);
if (read_spacing_spec (spec, &min_dist, ly_symbol2scm ("minimum-distance")))
spring->set_min_distance (min_dist);