On 11 August 2011 12:34, m...@apollinemike.com <m...@apollinemike.com> wrote:

> I figured out why it works - I figured I'd post this to the list in case 
> anyone else ever wants to mess around with pure properties.
>
> The StemTremolo is added to the paper column's element grob array via the 
> axis-group-engraver because it does not have an axis-group-parent-Y.

I think you mean the VerticalAxisGroup's elements array.

The StemTremolo is added to a PaperColumn's elements array (and gets
the column as axis-group-parent-X) in the Paper_column_engraver.

> Then, when horizontal spacing happens, its pure height function is passed 
> through for its print function (separation-item.cc).

I think I understand: before you added the print-to-height conversion,
the original height callback (ly:stem-tremolo::height) wasn't
pure-relevant; this resulted in Item::pure_height () returning an
empty extent, causing the StemTremolo to be left out of the skyline.
This didn't matter unless the spacing was really tight.

> I may write a "pure" tutorial for the contributor's guide.  It has taken me a 
> long time to figure out how "pure" works in lilypond, and if other people are 
> as mystified as I was when I started trying to figure this stuff out, then I 
> think an addition to the CG would help.

Sounds great.

Cheers,
Neil

_______________________________________________
lilypond-devel mailing list
lilypond-devel@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-devel

Reply via email to