3 texidoc = "Scheme engravers may be instantiated, with
4 instance-scoped slots, by defining a 1 argument procedure which
5 shall return the engraver definition as an alist, with the private
6 slots defined in a closure. The argument procedure argument is the
7 context where the engraver is instantiated."
17 #(let ((instance-counter 0))
19 (set! instance-counter (1+ instance-counter))
20 (let ((instance-id instance-counter)
21 (private-note-counter 0))
24 ((note-event engraver event)
25 (set! private-note-counter (1+ private-note-counter))
26 (let ((text (ly:engraver-make-grob engraver 'TextScript event)))
27 (ly:grob-set-property! text 'text
28 (format #f "~a.~a" instance-id
29 private-note-counter)))))))))
34 \relative { c''4 d e f }
35 \\ \relative { c'4 d e f }