From: Joe Neeman Date: Mon, 14 Dec 2009 23:58:11 +0000 (-0800) Subject: Fix centered dynamics with alignment-distance. X-Git-Tag: release/2.13.10-1~179 X-Git-Url: https://git.donarmstrong.com/?a=commitdiff_plain;h=38390d00c6667636e32f6781c2c48b69c4c407f3;p=lilypond.git Fix centered dynamics with alignment-distance. --- diff --git a/input/regression/page-spacing-dynamics.ly b/input/regression/page-spacing-dynamics.ly new file mode 100644 index 0000000000..b2f04d7494 --- /dev/null +++ b/input/regression/page-spacing-dynamics.ly @@ -0,0 +1,20 @@ +\version "2.13.9" + +\header { + texidoc = "Dynamic centering still works with alignment-distances." +} + +\score { + \new PianoStaff << + \new Staff c' + \new Dynamics { s2\fff\> s4 s\!\pp } + \new Staff c' + >> + \layout { + \context { + \Score + \override NonMusicalPaperColumn #'line-break-system-details = + #'((alignment-distances . (20))) + } + } +} diff --git a/lily/align-interface.cc b/lily/align-interface.cc index 77bd54cb05..db8dea4a90 100644 --- a/lily/align-interface.cc +++ b/lily/align-interface.cc @@ -159,10 +159,6 @@ Align_interface::get_minimum_translations (Grob *me, get_skylines (me, &elems, a, pure, start, end, &skylines); - SCM forced_distances = ly_assoc_get (ly_symbol2scm ("alignment-distances"), - Page_layout_problem::get_details (me), - SCM_EOL); - Real where = 0; Real default_padding = robust_scm2double (me->get_property ("padding"), 0.0); vector translates; @@ -205,15 +201,6 @@ Align_interface::get_minimum_translations (Grob *me, &min_distance, ly_symbol2scm ("minimum-distance"))) dy = max (dy, min_distance + stacking_dir*(last_spaceable_element_pos - where)); - - if (scm_is_pair (forced_distances)) - { - SCM forced_dist = scm_car (forced_distances); - forced_distances = scm_cdr (forced_distances); - - if (scm_is_number (forced_dist)) - dy = scm_to_double (forced_dist) + stacking_dir * (last_spaceable_element_pos - where); - } } } diff --git a/lily/page-layout-problem.cc b/lily/page-layout-problem.cc index 0fb646a68e..0bb80c1f5e 100644 --- a/lily/page-layout-problem.cc +++ b/lily/page-layout-problem.cc @@ -453,6 +453,7 @@ Page_layout_problem::find_system_offsets () // Given two lines that are already spaced (the first and last // elements of loose_lines), distribute some unspaced lines between // them. +// first_translation and last_translation are relative to the page. void Page_layout_problem::distribute_loose_lines (vector const &loose_lines, vector const &min_distances, diff --git a/ly/engraver-init.ly b/ly/engraver-init.ly index 8414cbc7ef..36f2c4a49c 100644 --- a/ly/engraver-init.ly +++ b/ly/engraver-init.ly @@ -384,6 +384,7 @@ a collection of staves, with a bracket in front and spanning bar lines." \override VerticalAxisGroup #'staff-affinity = #CENTER \override VerticalAxisGroup #'inter-staff-spacing = #'((space . 5) (padding . 0.5)) \override TextScript #'font-shape = #'italic + \override DynamicLineSpanner #'Y-offset = #0 \description "Holds a single line of dynamics, which will be centered between the staves surrounding this context."