On Sun, Apr 26, 2015 at 11:08 AM, Urs Liska <u...@openlilylib.org> wrote:


> Am 26.04.2015 um 17:16 schrieb Paul Morris:
>
>>
>>
>> but engravers can have both listeners and acknowledgers, and more than
>> one of each.
>
>
You can also use an end-acknowledger to catch the end of a spanner.


>
>> It’s probably *very* rare that a user would ever need to create an
>> engraver and need to know about listeners and acknowledgers.
>>
>
But it's certainly helpful to know at least something so you don't have the
sense that you're blindly filling in slots :)


>
>> For anyone wanting to go further there’s more that I don’t understand
>> (initialize, start-translation-timestep, process-music, etc.), to quote
>> from the doc string of the make-engraver macro at the bottom of
>> scm/output-lib.scm:
>>
>> Symbols mapping to a function would be @code{initialize},
>> @code{start-translation-timestep}, @code{process-music},
>> @code{process-acknowledged}, @code{stop-translation-timestep}, and
>> @code{finalize}.  Symbols mapping to another alist specified in the
>> same manner are @code{listeners} with the subordinate symbols being
>> event classes, and @code{acknowledgers} and @code{end-acknowledgers}
>> with the subordinate symbols being interfaces.”
>>
>
There is some material about these "methods" from a C++ standpoint in the
Contributor's Guide:
http://lilypond.org/doc/v2.19/Documentation/contributor/engraver-tutorial

Thanks!  This is all very useful.

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

Reply via email to