Defining an engraver in Scheme: ambitus engraver
This example demonstrates how the ambitus engraver may be defined on the user side, with a Scheme engraver. This is basically a rewrite in Scheme of …
…of some C++ methods used by the ambitus engraver. #(define (ly:separation-item::add-conditional-item grob grob-item) "Add @var{grob-item} … …ambitus direction)))) (list DOWN UP)) (ly:grob-suicide! ambitus-line)))) %%% %%% Ambitus engraver definition %%% #(define ambitus-engraver (lambda (context) (let ((ambitus … …is built, update the ambitus notes (acknowledgers ((note-head-interface engraver grob source-engraver) (if ambitus (update-ambitus-notes ambitus grob)))) ;; finally, …