On Friday 31 August 2007 13:23, [EMAIL PROTECTED] 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


_______________________________________________
bug-lilypond mailing list
bug-lilypond@gnu.org
http://lists.gnu.org/mailman/listinfo/bug-lilypond

Reply via email to