|
From: | Jean Abou Samra |
Subject: | Re: rendering differences if using `-j12 CPU_COUNT=12` |
Date: | Sat, 1 May 2021 11:47:38 +0200 |
User-agent: | Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.7.1 |
Le 01/05/2021 à 11:33, Thomas Morley a écrit :
Am Sa., 1. Mai 2021 um 11:16 Uhr schrieb Jonas Hahnfeld via Discussions on LilyPond development<lilypond-devel@gnu.org>:Am Samstag, dem 01.05.2021 um 10:16 +0200 schrieb Jean Abou Samra:Since commit 4751d0a66e97a61c763c150bb38f0446cc945f4d, ly/turkish-makam.ly contains this: #(set! standard-alteration-glyph-name-alist (append turkishMakamGlyphs standard-alteration-glyph-name-alist)) which changes the shared variable standard-alteration-glyph-name-alist, used by the \sharp markup command among others. [...] This means that if a snippet using turkish-makam.ly is compiled, in the same session, before a file using \markup \sharp, the glyph changes. Basically the mechanism should be changed so that set! is no longer needed.I think all that's needed is changing (define-public standard-alteration-glyph-name-alist to (define-session-public standard-alteration-glyph-name-alist and the session mechanism will take care to restore the initial value after each file (as lang as you don't use destructive operations on that initial value).
Indeed, thanks for reminding me. I'd prefer fixing the mechanism, making the alist a layout variable or something so it becomes customizable, but this could be a good temporary fix.
Wouldn't it be better to _not_ reset `standard-alteration-glyph-name-alist' at all? The files hel-arabic.ly, turkish-makam.ly and makam.ly all define some custom-makam-glyph-alist and use this alist in \layout for KeySignature, Accidental, AccidentalCautionary, TrillPitchAccidental, AmbitusAccidental. Is this not sufficient? In other words why not simply delete all occurrencies of: #(set! standard-alteration-glyph-name-alist (append whateverMakamGlyphs standard-alteration-glyph-name-alist)) ? Then we would rely only on the mechanism partially demonstrated in input/regression/accidental-ancient.ly I'll test that later this WE
It's slightly more complicated. Chord names use the alist directly (sigh): (define-public (alteration->text-accidental-markup alteration) (make-smaller-markup (make-raise-markup (if (short-glyph? alteration) 0.3 0.6) (make-musicglyph-markup ;; FIXME -- use current glyph-name-alist here. (assoc-get alteration standard-alteration-glyph-name-alist ""))))) and the markup commands \sharp et allies do the same. Best, Jean
[Prev in Thread] | Current Thread | [Next in Thread] |