On 6 sept. 2012, at 08:06, Werner LEMBERG <w...@gnu.org> wrote:

>>> The reason we can't just override the text property is because it
>>> is junked and reset internally in LilyPond.  The
>>> unpure-pure-container makes sure that the chord is taken into
>>> account in horizontal spacing calculations.  Anytime you override a
>>> stencil, try to use an unpure-pure-container.
>> 
>> Where is this documented in the user manuals?  Where in the code?
> 
> You have beaten me by a few minutes :-)
> 
> 
>    Werner
> 
> _______________________________________________
> lilypond-user mailing list
> lilypond-user@gnu.org
> https://lists.gnu.org/mailman/listinfo/lilypond-user

unpure-pure stuff is:

http://lilypond.org/doc/v2.16/Documentation/notation/unpure_002dpure-containers

and also in the CG

http://lilypond.org/doc/v2.17/Documentation/contributor/understanding-pure-properties

The kludge I used is not documented anywhere - I looked in define-grobs.scm, 
saw that it was using ly:text-interface::print but that there was no callback 
for text, which means that it must be set in the code.  So the stencil function 
(or a number of other ones) could be hijacked to set text.

I'm a big fan of not calling Grob::set_property anywhere in the C++ unless it 
is absolutely necessary, so it'd be great to git rid of this.

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

Reply via email to