]> git.donarmstrong.com Git - lilypond.git/blobdiff - lily/align-interface.cc
Make BassFigureAlignment ignore alignment-distances.
[lilypond.git] / lily / align-interface.cc
index 44b3fc7085da0a4a8306ebb8b721a1603576ae5b..5741a442728ab65cb834f65402da11dd36ac2ca5 100644 (file)
@@ -1,7 +1,7 @@
 /*
   This file is part of LilyPond, the GNU music typesetter.
 
-  Copyright (C) 2000--2010 Han-Wen Nienhuys <hanwen@xs4all.nl>
+  Copyright (C) 2000--2011 Han-Wen Nienhuys <hanwen@xs4all.nl>
 
   LilyPond is free software: you can redistribute it and/or modify
   it under the terms of the GNU General Public License as published by
@@ -182,6 +182,13 @@ Align_interface::internal_get_minimum_translations (Grob *me,
 {
   if (!pure && a == Y_AXIS && dynamic_cast<Spanner*> (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<System*> (me->get_parent (Y_AXIS)))
+    include_fixed_spacing = false;
   
   Direction stacking_dir = robust_scm2dir (me->get_property ("stacking-dir"),
                                           DOWN);