lilypond-user-fr
[Top][All Lists]
Advanced

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

Re: bug arranger.ly et pitchedTrill


From: Jean Abou Samra
Subject: Re: bug arranger.ly et pitchedTrill
Date: Wed, 12 May 2021 10:42:23 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.8.1


Le 12/05/2021 à 03:57, Gilles Thibault a écrit :
L
J'ai remarqué que les fonctions de transposition d'arranger.ly
n'affectaient pas les pitchedTrill :

Oups, il semble là que c'est carrément la fonction Lilypond
   music-map
qui soit fautive !

Elle est définie dans scm/music-functions.scm par

%%%%%%%%%%%
(define-public (music-map function music)
  "..."
  (let ((es (ly:music-property music 'elements))
        (e (ly:music-property music 'element)))
    (if (pair? es)
        (set! (ly:music-property music 'elements)
              (map (lambda (y) (music-map function y)) es)))
    (if (ly:music? e)
        (set! (ly:music-property music 'element)
              (music-map function  e)))
    (function music)))

Il faudrait que ce soit :

%%%%%%%%%%%
(define-public (music-map function music)
  "..."
  (let ((es (ly:music-property music 'elements))
        (e (ly:music-property music 'element))
        (arts (ly:music-property music 'articulations)))
    (if (pair? es)
        (set! (ly:music-property music 'elements)
              (map (lambda (y) (music-map function y)) es)))
    (if (pair? arts)
        (set! (ly:music-property music 'articulations)
              (map (lambda (y) (music-map function y)) arts)))
    (if (ly:music? e)
        (set! (ly:music-property music 'element)
              (music-map function  e)))
    (function music)))

La différence ici c'est le bouclage aussi sur la propriété 'articulations. Comme les trilles sont définies dans la propriété 'articulations, aucune fonction ne peut avoir le moindre effet sur elles. Je ne pense pas que se soit volontaire de la part des développeurs. C'est sûrement une erreur.

En ré-definissant au début de son fichier ly, la fonction music-map comme écrit juste au-dessus, les fonctions octave et set-transp marchent à nouveau sur les trilles.

Sapristi, c'est que c'est vrai !

Gilles, voudrais-tu proposer un patch ? Jette un œil à http://lilypond.org/doc/v2.23/Documentation/contributor/working-with-source-code pour savoir comment faire.

Merci,
Jean




reply via email to

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