]> git.donarmstrong.com Git - lilypond.git/commit
Instanciable scheme engravers
authorNicolas Sceaux <nicolas.sceaux@free.fr>
Sun, 21 Feb 2010 10:00:08 +0000 (11:00 +0100)
committerNicolas Sceaux <nicolas.sceaux@free.fr>
Tue, 2 Mar 2010 08:54:20 +0000 (09:54 +0100)
commit91e9ae62b6d26a5d4e3557df8cc3231eeb3676ee
tree7f2d81a8b65919a21d90bcb68503df0c1b39ad06
parent4afb06c6aa504ef69bea644887b20fd9a947f616
Instanciable scheme engravers

A scheme engraver definition may be a one argument procedure,
taking the context where it is defined as an argument, and
evaluating to an a-list scheme engraver definition.
This allows to define instance slots for a scheme engraver.

This patch also defines some scheme callbacks for grob related
functions, and add an example snippet showing how an existing
C++ engraver may be defined in Scheme: the ambitus engraver.
Documentation/snippets/new/scheme-engraver-ambitus.ly [new file with mode: 0644]
input/regression/scheme-engraver-instance.ly [new file with mode: 0644]
lily/axis-group-interface-scheme.cc
lily/engraver.cc
lily/grob-scheme.cc
lily/pointer-group-interface-scheme.cc [new file with mode: 0644]
lily/translator-group.cc
scm/music-functions.scm