[ << Programming work ] | [Top][Contents] | [ Release work >> ] |
[ < Acknowledging grobs ] | [ Up : Engraver tutorial ] | [ Callback tutorial > ] |
10.12.5 Engraver declaration/documentation
An engraver must have a public macro
-
TRANSLATOR_DECLARATIONS (Engraver_name)
where Engraver_name
is the name of the engraver. This
defines the common variables and methods used by every engraver.
At the end of the engraver file, one or both of the following macros are generally called to document the engraver in the Internals Reference:
-
ADD_ACKNOWLEDGER (Engraver_name, grob_interface)
-
ADD_TRANSLATOR (Engraver_name, Engraver_doc, Engraver_creates, Engraver_reads, Engraver_writes)
where Engraver_name
is the name of the engraver, grob_interface
is the name of the interface that will be acknowledged,
Engraver_doc
is a docstring for the engraver,
Engraver_creates
is the set of grobs created by the engraver,
Engraver_reads
is the set of properties read by the engraver,
and Engraver_writes
is the set of properties written by
the engraver.
The ADD_ACKNOWLEDGER
and ADD_TRANSLATOR
macros use a
non-standard indentation system. Each interface, grob, read property,
and write property is on its own line, and the closing parenthesis
and semicolon for the macro all occupy a separate line beneath the final
interface or write property. See existing engraver files for more
information.