From: Joe Neeman Date: Sat, 5 May 2007 01:50:35 +0000 (+1000) Subject: regression fixes and output prettification X-Git-Tag: release/2.11.24-1~8^2~8 X-Git-Url: https://git.donarmstrong.com/?a=commitdiff_plain;h=ae4cb78594e1802b2fb06cf0eb6f99014d9e8ec6;p=lilypond.git regression fixes and output prettification --- diff --git a/lily/optimal-page-breaking.cc b/lily/optimal-page-breaking.cc index 0e4f06dbcb..d9aec18550 100644 --- a/lily/optimal-page-breaking.cc +++ b/lily/optimal-page-breaking.cc @@ -62,7 +62,11 @@ Optimal_page_breaking::solve () if (page_count > 1) min_sys_count -= best.systems_per_page_[page_count - 2]; - message (_f ("Fitting music on %d (or one fewer) pages...", (int)page_count)); + if (page_count == 1) + message (_ ("Fitting music on 1 page...")); + else + message (_f ("Fitting music on %d or %d pages...", (int)page_count-1, (int)page_count)); + /* try a smaller number of systems than the ideal number for line breaking */ bound = ideal_line_division; for (vsize sys_count = ideal_sys_count; --sys_count >= min_sys_count;) diff --git a/lily/page-breaking.cc b/lily/page-breaking.cc index 662fb7d58c..96f93d85e5 100644 --- a/lily/page-breaking.cc +++ b/lily/page-breaking.cc @@ -677,9 +677,13 @@ Page_breaking::space_systems_on_n_or_one_more_pages (vsize configuration, vsize else { cache_line_details (configuration); + + vsize min_p_count = min_page_count (configuration, first_page_num); Page_spacer ps (cached_line_details_, first_page_num, this); - n_res = ps.solve (n); - m_res = ps.solve (n+1); + if (n >= min_p_count) + n_res = ps.solve (n); + if (n < cached_line_details_.size ()) + m_res = ps.solve (n+1); } Real penalty = blank_page_penalty (); diff --git a/lily/page-spacing.cc b/lily/page-spacing.cc index 028a67a9fd..d154536956 100644 --- a/lily/page-spacing.cc +++ b/lily/page-spacing.cc @@ -99,7 +99,7 @@ Page_spacer::solve (vsize page_count) All the systems that don't fit get tacked onto the last page. */ vsize i; - for (i = system; isinf (state_.at (i, page_count-1).demerits_) && i--; ) + for (i = system; isinf (state_.at (i, page_count-1).demerits_) && i; i--) ; if (i) diff --git a/scm/define-grobs.scm b/scm/define-grobs.scm index 35fc4ec0a5..c3315a3b42 100644 --- a/scm/define-grobs.scm +++ b/scm/define-grobs.scm @@ -292,6 +292,7 @@ (axes . (,Y)) (Y-extent . ,ly:axis-group-interface::height) (vertical-skylines . ,ly:axis-group-interface::calc-skylines) + (adjacent-pure-heights . ,ly:axis-group-interface::adjacent-pure-heights) (meta . ((class . Spanner) (interfaces . (axis-group-interface ))))))