[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
>
- Re: key-change-event listener in 2.20,
Maurits Lamers <=