[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Issue 430 in lilypond: Cross-staff beam craziness (when down-markup
From: |
Joe Neeman |
Subject: |
Re: Issue 430 in lilypond: Cross-staff beam craziness (when down-markup combines with down-articulation) |
Date: |
Fri, 31 Aug 2007 23:46:52 +1000 |
User-agent: |
KMail/1.9.5 |
On Friday 31 August 2007 13:23, address@hidden wrote:
> Issue 430: Cross-staff beam craziness (when down-markup combines with
> down-articulation) http://code.google.com/p/lilypond/issues/detail?id=430
>
> Comment #2 by hanwenn:
> Hi Joe,
>
> can you review my patch for this fix?
My preferred way for dealing with these cyclic dependency issues is to mark
something cross-staff. If a grob has the cross-staff property set to true, it
gets ignored for all pure-height calculations, so it's a good way to break
this sort of cycle (plus, it's encapsulated in its own grob property).
This issue looks particularly hairy, though. The natural thing would be to
mark the TextScript cross-staff, since it has a cross-staff Script in its
support. However, the Script isn't in its support yet when cross-staff gets
checked because getting the Script direction in Script_column::order_grobs
triggers Stem direction, which triggers the pure-height calculations.
Maybe it would be better to mark a script-interface grob as cross-staff
whenever it has another cross-staff script in the same ScriptColumn. Of
course, that's a recursive definition, but it can probably be made to work.
Anyway, it's too late for me to think about it properly now. In general,
though, it would be nice if we could do this with the cross-staff property
instead of adding code to a not-really-related callback.
Joe