lilypond-devel
[Top][All Lists]
Advanced

[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



reply via email to

[Prev in Thread] Current Thread [Next in Thread]