bug-lilypond
[Top][All Lists]
Advanced

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

Re: Lyrics break estimation of vertical spacing


From: Joe Neeman
Subject: Re: Lyrics break estimation of vertical spacing
Date: Tue, 23 Mar 2010 19:59:49 -0700

On Tue, 2010-03-23 at 19:57 -0400, Boris Shingarov wrote:
> > The estimated height for the whole system _should_ take into account the
>  > fact that the lyrics can be squeezed between the systems. Have a look at
>  > the comment in align-interface.cc:104 (which should get called as a
>  > result of sys->pure_height())
>   
>  Trying to make head or tail of which child is which, and why lyrics do 
>  increase the pure_height by much, I am now thouroughly confused by 
>  something else.  The height is calculated by unite()'ing the heights 
>  of all items and all spanners.  I started with a trivial example with 
>  some repeating notes, and no lyrics and nothing else.  There is an 
>  item amounting to [-0.9:0.3], and a spanner amounting to [-7:0]. 

With the attached .gdbinit file, you can do
ps grob->self_scm_
to see the type of a grob, or
pg grob
to see its type and its properties. That may help you get a better
understanding of what is going on.

> Ok, I step inside the calculation of pure_height for it, and find another 
> (one) spanner.  Putting a breakpoint inside the for() loop for the items, I 
> never hit it.  I'd appreciate a three-liner briefly explaining the design of 
> this.  (The "pure" vs "non-pure" height also seems of mysterious design). 

Until the line-breaking is computed, we can't calculate the horizontal
positioning of any grob. pure-height is an _estimate_ of the real height
of the grob ("pure" because it can be computed without causing
side-effects, whereas the actual height usually can't).

Cheers,
Joe

Attachment: .gdbinit
Description: Text document


reply via email to

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