On Dec 15, 2013, at 10:46 AM, David Kastrup <d...@gnu.org> wrote:

> Mike Solomon <m...@mikesolomon.org> writes:
> 
>> 
> 
>>> The layout engine could use get_property_data() freely, but before it
>>> has set line-breaks the layout engine would refrain from calling any
>>> callback functions directly.  Instead of a callback for height',
>>> layout functions would look up the grob property
>>> tentative-height-estimator' where tentative-*-estimators are always
>>> functions that take the start-end columns as parameters.
>> 
>> This seems not too far from what we’re doing now, but it adds a lot
>> more properties.
> 
> I was of the opinion that the tentative estimators (pure) were for the
> situation _before_ the line breaking.

This is the case.

> 
>>> The tentative-height-estimator for something like a Slur or
>>> VerticalAxisGroup would return its best guess for the height, while
>>> the estimator for a Clef would simply get_property("height") causing
>>> its stencil to be formed and leaving the resulting data in the
>>> stencil' and 'height' properties for further use.
>> 
>> This seems to get the same result we have now while adding a lot of
>> extra properties.
> 
> Yup.  It would seem like we'd need more some nicer construct for
> providing a number of behaviors in a single callback/property, with
> caching for each set of _relevant_ preconditions.

Yup.

> 
>> I like the idea of their being a single property that is honed in on
>> with successive estimates until we get the perfect value.  This is how
>> I do a Sudoku - I pencil the guesses in the squares
> 
> Blasphemy!

Then LilyPond is a blasphemous piece of software...that has typeset thousands 
of pieces of liturgical music…

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

Reply via email to