X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=input%2Fregression%2Fscheme-engraver.ly;h=177e10a7019f6c73e4827de7abf7e40908eb9e36;hb=5b2267a97cfb085c4492e2954c0b9eec36fc11f8;hp=ee7f3ea11ed4e5936d27d5f9872c459b41746cc4;hpb=54ef49768776f686e5ea452acd49e02ef8715279;p=lilypond.git diff --git a/input/regression/scheme-engraver.ly b/input/regression/scheme-engraver.ly index ee7f3ea11e..177e10a701 100644 --- a/input/regression/scheme-engraver.ly +++ b/input/regression/scheme-engraver.ly @@ -5,72 +5,49 @@ } -\version "2.13.9" +\version "2.16.0" + +#(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 1 "\n\n~16a: (initialize)\n" (t->m translator))) + ((start-translation-timestep translator) + (format 1 "~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 1 "~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 1 "~16a: saw ~a coming from ~a\n" + (t->m engraver) grob source-engraver))) + (end-acknowledgers + ((beam-interface engraver grob source-engraver) + (format 1 "~16a: saw end of ~a coming from ~a\n" + (t->m engraver) grob source-engraver))) + ((process-music translator) + (format 1 "~16a: (process-music)\n" (t->m translator))) + ((process-acknowledged translator) + (format 1 "~16a: (process-acknowledged)\n" (t->m translator))) + ((stop-translation-timestep translator) + (format 1 "~16a: (stop-translation-timestep)\n" (t->m translator))) + ((finalize translator) + (format 1 "~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 { +\relative c' { c8[ r c] - }