-% DO NOT EDIT this file manually; it is automatically
-% generated from Documentation/snippets/new
-% Make any changes in Documentation/snippets/new/
-% and then run scripts/auxiliar/makelsr.py
-%
-% This file is in the public domain.
-%% Note: this file works from version 2.19.7
-\version "2.19.7"
+%% DO NOT EDIT this file manually; it is automatically
+%% generated from LSR http://lsr.di.unimi.it
+%% Make any changes in LSR itself, or in Documentation/snippets/new/ ,
+%% and then run scripts/auxiliar/makelsr.py
+%%
+%% This file is in the public domain.
+\version "2.18.0"
\header {
-
lsrtags = "contexts-and-engravers"
+ texidoc = "
+This example demonstrates how the ambitus engraver may be defined on
+the user side, with a Scheme engraver.
- texidoc = "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 the code from
+@code{lily/ambitus-engraver.cc}.
- This is basically a rewrite in Scheme of the code from
- @file{lily/ambitus-engraver.cc}.
"
-
doctitle = "Defining an engraver in Scheme: ambitus engraver"
} % begin verbatim
-
#(use-modules (oop goops))
%%%
(let ((ambitus #f))
;; when music is processed: make the ambitus object, if not already built
(make-engraver
- ((process-music translator)
- (if (not ambitus)
- (set! ambitus (make-ambitus translator))))
- ;; set the ambitus clef and key signature state
- ((stop-translation-timestep translator)
- (if ambitus
- (initialize-ambitus-state ambitus translator)))
- ;; when a note-head grob is built, update the ambitus notes
- (acknowledgers
+ ((process-music translator)
+ (if (not ambitus)
+ (set! ambitus (make-ambitus translator))))
+ ;; set the ambitus clef and key signature state
+ ((stop-translation-timestep translator)
+ (if ambitus
+ (initialize-ambitus-state ambitus translator)))
+ ;; when a note-head grob is built, update the ambitus notes
+ (acknowledgers
((note-head-interface engraver grob source-engraver)
- (if ambitus
- (update-ambitus-notes ambitus grob))))
- ;; finally, typeset the ambitus according to its upper and lower notes
- ;; (if any).
- ((finalize translator)
- (if ambitus
- (typeset-ambitus ambitus translator)))))))
+ (if ambitus
+ (update-ambitus-notes ambitus grob))))
+ ;; finally, typeset the ambitus according to its upper and lower notes
+ ;; (if any).
+ ((finalize translator)
+ (if ambitus
+ (typeset-ambitus ambitus translator)))))))
%%%
%%% Example