[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
- limitation in make-engraver?,
Thomas Morley <=