Hi all, I finally figured out what goes wrong here. The issue is that I get the key signature and the last key signature from the context in the following way:
(ly:context-property (ly:translator-context engraver) 'keySignature)) (ly:context-property (ly:translator-context engraver) 'lastKeySignature)) which works in 2.14 up to 2.18. In 2.20 these properties seem to have been renamed to keyAlterations and lastKeyAlterations (according to http://lilypond.org/doc/v2.20/Documentation/internals/key_005fengraver) What would be the best way to support both 2.18 and 2.20? Is there a better / more reliable method of getting this information? Thanks in advance! Maurits > Op 31 aug. 2020, om 19:31 heeft Aaron Hill <lilyp...@hillvisions.com> het > volgende geschreven: > > On 2020-08-31 8:15 am, Maurits Lamers wrote: >> Hi all, >> I just noticed that in Lilypond 2.20 the key signature listener in my >> braille system doesn't get called anymore, where under 2.18.2 it does. >> I added a code sample below where I show how I attach the listeners. >> All the other events seem to be called in the normal way. Did anything >> change in the mean time? > > Something else must be going on, because the following works in 2.18.2 and > 2.20.0: > > %%%% > \version "2.18.2" > > #(define (format-event engraver event) > (let ((origin (ly:prob-property event 'origin))) > (ly:input-message origin "found event here"))) > > \new Voice \with { > % Using make-engraver macro: > \consists > #(lambda (context) > (make-engraver > (listeners > ((key-change-event engraver event) > (format-event engraver event))))) > > % Manually constructed: > \consists > #(list > (cons 'listeners > (list > (cons 'key-change-event format-event)))) > } { \key g \major g'2 b' | \key aes \major c''2 aes' } > %%%% > > > -- Aaron Hill >