lilypond-user
[Top][All Lists]
Advanced

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

Re: key-change-event listener in 2.20


From: Maurits Lamers
Subject: Re: key-change-event listener in 2.20
Date: Thu, 3 Sep 2020 14:03:57 +0200

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 <lilypond@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
> 




reply via email to

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