|
From: | lilypond |
Subject: | Re: [Lilypond-auto] Issue 1450 in lilypond: Collision between slur and text in les-nereides regtest |
Date: | Wed, 29 Aug 2012 22:24:15 +0000 |
Comment #6 on issue 1450 by address@hidden: Collision between slur and text in les-nereides regtest
http://code.google.com/p/lilypond/issues/detail?id=1450I have a plan of action that I think will fix this, but it'll take some time to implement. I'll likely make this my next project.
For cross-staff spanners, create dummy grobs of the same type (beam, slur, etc.) for every time the grob switches contexts. These grobs will have no width or height but will have stencils calculated based only on the notes in that context. In Axis_group_interface::skyline_spacing, these grobs will be included in VerticalAxisGroups for the portion of the group over which the group is extremal and the spanner's direction is the same as this extremity. This approximation will almost always be not-too-far from the actual and will avoid stuff like the les-nereides.ly collision.
Note that this whole mess would be avoided through some sorta linear program for the vertical layout of a page, which'd only need as variables the control points of the cross staff spanners and the Y offset of the systems on the page. Everything else would be a constant. So it'd be much more solvable by GLPK than the monstrosities I used to dream about where the entire spacing process was controlled through a single linear program.
[Prev in Thread] | Current Thread | [Next in Thread] |