If one uses a scheme engraver that instantiates itself for each context, i.e.
\consists #(lambda (context) ...)
then using listeners will cause the warning:
"Warnung: Attempting to remove nonexisting listener."
Minimal test case attached. Output on the console is:
reinhold@curie:~$ LANGUAGE=C lilypond Issue_RemovingNonExistingListener.ly
GNU LilyPond 2.15.12
Processing `Issue_RemovingNonExistingListener.ly'
Parsing...
Interpreting music...
warning: Attempting to remove nonexisting listener.
warning: Attempting to remove nonexisting listener.
Preprocessing graphical objects...
Finding the ideal number of pages...
Fitting music on 1 page...
Drawing systems...
Layout output to `Issue_RemovingNonExistingListener.ps'...
Converting to `./Issue_RemovingNonExistingListener.pdf'...
Success: compilation successfully completed
Cheers,
Reinhold
--
------------------------------------------------------------------
Reinhold Kainhofer, [email protected], http://reinhold.kainhofer.com/
* Financial & Actuarial Math., Vienna Univ. of Technology, Austria
* http://www.fam.tuwien.ac.at/, DVR: 0005886
* LilyPond, Music typesetting, http://www.lilypond.org
\version "2.15.12"
\layout {
\context {
\Voice
\consists
#(lambda (context) `((listeners . ((note-event . ,(lambda (eng ev) #t))))))
% This works, because it does not create a copy for each voice:
% \consists
% #'((listeners . ((note-event . ,(lambda (eng ev) #t)))))
}
}
\relative c'' { <<
{ c4 } \\ { c4 }
>>
}
_______________________________________________
bug-lilypond mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/bug-lilypond