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: Fri, 4 Sep 2020 10:28:25 +0200

From your answer I gather that getting this information this way is fine.
The other, more implicit question: has this change been overlooked when 
creating the changes documentation 
(http://lilypond.org/doc/v2.20/Documentation/changes-big-page.html)?

cheers

Maurits


> Op 3 sep. 2020, om 21:07 heeft Aaron Hill <lilypond@hillvisions.com> het 
> volgende geschreven:
> 
> On 2020-09-03 5:03 am, Maurits Lamers wrote:
>> 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?
> 
> You could check to see which symbol exists as a translator property:
> 
> ;;;;
> (define (translator-property? symbol)
>  (memq symbol all-translation-properties))
> 
> ;; ...
> 
> (ly:context-property
>  (ly:translator-context engraver)
>  (car (filter translator-property? '(keyAlterations keySignature)))
>  '())
> ;;;;
> 
> 
> -- Aaron Hill
> 




reply via email to

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