From: Joe Neeman Date: Thu, 26 May 2011 18:45:18 +0000 (+0300) Subject: Make BassFigureAlignment ignore alignment-distances. X-Git-Tag: release/2.15.0-1~28 X-Git-Url: https://git.donarmstrong.com/?a=commitdiff_plain;ds=sidebyside;h=0f3fefdfdf5fb73533fa63fdb975895a8d452845;p=lilypond.git Make BassFigureAlignment ignore alignment-distances. --- diff --git a/input/regression/page-spacing-bass-figures.ly b/input/regression/page-spacing-bass-figures.ly new file mode 100644 index 0000000000..8a3fef0e55 --- /dev/null +++ b/input/regression/page-spacing-bass-figures.ly @@ -0,0 +1,19 @@ +\version "2.15.0" + +\header { + texidoc = "@var{alignment-distances} applies to the toplevel +VerticalAlignment but not to BassFigureAlignment. The 4 in +the bass figure line should be directly below the 6." +} + +\score { + << + \new Staff { + \overrideProperty #"Score.NonMusicalPaperColumn" + #'line-break-system-details #'((alignment-distances . (15))) + c'4 + } + \new Staff << + { d'4 } + \figures { <6 4>4 } >> >> + } diff --git a/lily/align-interface.cc b/lily/align-interface.cc index cb876f5bbf..5741a44272 100644 --- a/lily/align-interface.cc +++ b/lily/align-interface.cc @@ -182,6 +182,13 @@ Align_interface::internal_get_minimum_translations (Grob *me, { if (!pure && a == Y_AXIS && dynamic_cast (me) && !me->get_system ()) me->programming_error ("vertical alignment called before line-breaking"); + + // If include_fixed_spacing is true, we look at things like system-system-spacing + // and alignment-distances, which only make sense for the toplevel VerticalAlignment. + // If we aren't toplevel, we're working on something like BassFigureAlignment + // and so we definitely don't want to include alignment-distances! + if (!dynamic_cast (me->get_parent (Y_AXIS))) + include_fixed_spacing = false; Direction stacking_dir = robust_scm2dir (me->get_property ("stacking-dir"), DOWN);