lilypond-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

limitation in make-engraver?


From: Thomas Morley
Subject: limitation in make-engraver?
Date: Thu, 2 Mar 2017 23:51:40 +0100

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
    %\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]