[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: limitation in make-engraver?
From: |
Thomas Morley |
Subject: |
Re: limitation in make-engraver? |
Date: |
Thu, 2 Mar 2017 23:55:10 +0100 |
2017-03-02 23:51 GMT+01:00 Thomas Morley <address@hidden>:
> Hi,
>
> it looks like the make-engraver-makro fails to accept certain variables.
>
> In the code belowe 3 engravers are defined using different syntax. All
> three try to use a predefined variable.
> The first, defined with make-engravers fails.
>
>
> \version "2.19.52"
>
> #(define ev 'note-event)
>
> #(define test-engr
> (lambda (context)
> (make-engraver
> (listeners
> (
> (ev engraver event)
> ;(note-event engraver event)
> (write ev)
> (format #t "\n\nnote-event found from test-engraver\n"))))))
>
> #(define test-I-engr
> (lambda (context)
> `((listeners
> (
> ,ev
> ;note-event
> .
> ,(lambda (engraver event)
> (write ev)
> (format #t "\n\nnote-event found from test-I-engraver\n")))))))
>
> #(define test-II-engr
> (lambda (context)
> (list
> (cons 'listeners
> (list
> (cons
> ev
> ;'note-event
> (lambda (engraver event)
> (write ev)
> (format #t "\n\nnote-event found from
> test-II-engraver\n"))))))))
> \layout {
> \context {
> \Voice
> \consists #test-engr
c/p error :(
uncomment the following two lines
> %\consists #test-I-engr
> %\consists #test-II-engr
> }
> }
>
> {
> c'4
> }
>
> Am I missing something or is it a limitation of make-engraver?
>
> This came up in the german forum, attempting to define multiple
> spanner-grobs/engravers in one go.
> http://www.lilypondforum.de/index.php?topic=2503.0
> A longish thread ...
>
> Cheers,
> Harm