--- /dev/null
+\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)))
+ }
+ }
+}
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<Real> translates;
&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);
- }
}
}
// 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<Grob*> const &loose_lines,
vector<Real> const &min_distances,
\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."