X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=input%2Fregression%2Fscheme-engraver.ly;h=cd1b848c35826419ea561b6ddbf2f22fc36be3ae;hb=fa2ab0d0c049e84e6b6a4839710f849cbbc61d08;hp=ee7f3ea11ed4e5936d27d5f9872c459b41746cc4;hpb=ddd59edaae68e71d5d3ea2576b3d0d25807fb500;p=lilypond.git diff --git a/input/regression/scheme-engraver.ly b/input/regression/scheme-engraver.ly index ee7f3ea11e..cd1b848c35 100644 --- a/input/regression/scheme-engraver.ly +++ b/input/regression/scheme-engraver.ly @@ -5,72 +5,49 @@ } -\version "2.13.9" +\version "2.19.21" + +#(define (t->m t) + "Return the current moment of translator object @var{t}." + (ly:context-current-moment (ly:translator-context t))) + +engraver_demo = +#(make-engraver + ((initialize translator) + (format (current-error-port) "\n\n~16a: (initialize)\n" (t->m translator))) + ((start-translation-timestep translator) + (format (current-error-port) "~16a: (start-translation-timestep)\n" (t->m translator))) + (listeners + ((rest-event engraver event) + (let ((grob (ly:engraver-make-grob engraver 'TextScript event))) + (ly:grob-set-property! grob 'text "hi") + (format (current-error-port) "~16a: detected this rest event: ~a\n~16a: created this grob: ~a\n" + (t->m engraver) event (t->m engraver) grob)))) + (acknowledgers + ((note-head-interface engraver grob source-engraver) + (format (current-error-port) "~16a: saw ~a coming from ~a\n" + (t->m engraver) grob source-engraver))) + (end-acknowledgers + ((beam-interface engraver grob source-engraver) + (format (current-error-port) "~16a: saw end of ~a coming from ~a\n" + (t->m engraver) grob source-engraver))) + ((process-music translator) + (format (current-error-port) "~16a: (process-music)\n" (t->m translator))) + ((process-acknowledged translator) + (format (current-error-port) "~16a: (process-acknowledged)\n" (t->m translator))) + ((stop-translation-timestep translator) + (format (current-error-port) "~16a: (stop-translation-timestep)\n" (t->m translator))) + ((finalize translator) + (format (current-error-port) "~16a: (finalize)\n" (t->m translator)))) \layout { \context { \Voice \consists - #(list - (cons 'initialize - (lambda (trans) - (display (list "initialize" - (ly:context-current-moment - (ly:translator-context trans)) "\n")))) - (cons 'start-translation-timestep - (lambda (trans) - (display (list "start-trans" - (ly:context-current-moment - (ly:translator-context trans)) "\n")))) - (cons 'listeners - (list - (cons 'rest-event (lambda (engraver event) - (let* - ((x (ly:engraver-make-grob engraver 'TextScript event))) - (display (list "caught event" event "\ncreate:\n" x "\n")) - (ly:grob-set-property! x 'text "hi")) - )) - )) - (cons 'acknowledgers - (list - (cons 'note-head-interface - (lambda (engraver grob source-engraver) - (display (list "saw head: " grob " coming from " source-engraver)) - )) - )) - (cons 'end-acknowledgers - (list - (cons 'beam-interface - (lambda (engraver grob source-engraver) - (display (list "saw end of beam: " grob " coming from " source-engraver)) - )) - )) - (cons 'process-music - (lambda (trans) - (display (list "process-music" - (ly:context-current-moment - (ly:translator-context trans)) "\n")))) - (cons 'process-acknowledged - (lambda (trans) - (display (list "process-acknowledged" - (ly:context-current-moment - (ly:translator-context trans)) "\n")))) - (cons 'start-translation-timestep - (lambda (trans) - (display (list "stop-trans" - (ly:context-current-moment - (ly:translator-context trans)) "\n")))) - (cons 'finalize - (lambda (trans) - (display (list "finalize" - (ly:context-current-moment - (ly:translator-context trans)) "\n")))) - ) - - }} - + \engraver_demo + } +} \relative { - c8[ r c] - + c'8[ r c] }