[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
>