lilypond-devel
[Top][All Lists]
Advanced

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

Re: rendering differences if using `-j12 CPU_COUNT=12`


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



reply via email to

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