lilypond-auto
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Lilypond-auto] Issue 2583 in lilypond: Hairpins with to-barline=##f


From: lilypond
Subject: Re: [Lilypond-auto] Issue 2583 in lilypond: Hairpins with to-barline=##f do not close at the end of a staff
Date: Fri, 10 Aug 2012 09:00:00 +0000

Updates:
        Summary: Hairpins with to-barline=##f do not close at the end of a staff
        Labels: Regression Patch-new

Comment #3 on issue 2583 by address@hidden: Hairpins with to-barline=##f do not close at the end of a staff
http://code.google.com/p/lilypond/issues/detail?id=2583

Version 2.12.3 got this right, but I haven't found when things went wrong.

Hairpins use a callback linked to their 'after-line-breaking' property (called just after line breaking) to decide if they need not be printed. The problem is that bar numbers and tempo marks also use the 'after-line-breaking', to find the top staff. In order to find the top staff at the location of a given bar number, accounting for temporary staves, Lilypond finds the horizontal extent of each staff in the system. In order to find those extents, she asks each grob for its width, and to answer that, the grobs figure their stencils.

If the bar-number 'after-line-breaking' routine gets called before the one for a Hairpin, a Hairpin will be asked to create its stencil before its continuation hairpin has decided if it will print.

A solution is for each broken Hairpin to explicitly ask its continuation to complete the 'after-line-breaking' on time. LilyPond claimed that this caused a cyclic dependency, but she is wrong.

I'm pretty sure there is a typo in the cyclic dependency checker, but would appreciate a look from someone who knows Guile.
<http://codereview.appspot.com/6449126>




reply via email to

[Prev in Thread] Current Thread [Next in Thread]