On 6/15/20, david <david427@quetzalia.fr> wrote:
ah, je crois que j'ai compris !
c'est le midi qui m'a mis la puce à l'oreille :
voilà comment je traduirais le programme :
on définit 2 notes m1 et m2
on clone m1
on attribue virtuellement une demi-durée à m1 et son clone
on écrit m1
on cache le clone et on écrit "x" en gras, au dessus
on écrit m2
Exactement.
du coup, dans le midi, on entend m1 et son clone avec chacun une
demi-durée de m1
Ah oui, je n’ai pas pensé au midi.
mon problème viendrait donc du fait que j'ai écrit sib' donc le clone
prend aussi une octave et donc le do arrive une octave trop haut ?
Bien vu ! Je n’avais pas du tout pensé au \relative.
Voici une version corrigée (mais qui ne marchera qu’à partir de la
version 2.20) : j’enlève tout bêtement le pitch du m-clone, puisque
depuis les versions récentes de LilyPond on peut simplement entrer une
duration sans pitch pour répéter la note précédente.
Au passage, j’avais laissé des déchets dans la version précédente (je
voulais utiliser la note 1 et la note 2 pour calculer une position
intermédiaire entre le pitch de l’une et de l’autre, mais finalement
j’ai renoncé parce que ça mettait le bazar dans les altérations
accidentelles).
%%%%%
extend =
#(define-music-function (m) (ly:music?)
(let* ((m-clone (ly:music-deep-copy m))
(x-markup (markup #:normal-text #:fontsize 5 #:bold "×"))
(x-fingering (make-music 'FingeringEvent 'text x-markup))
(change-fingering
(lambda (m)
(or (null? (ly:music-property m 'articulations))
(ly:music-set-property! m 'articulations
(list x-fingering)))
(or (null? (ly:music-property m 'pitch))
(ly:music-set-property! m 'pitch '()))))
(m-elements (ly:music-property m-clone 'elements)))
(if (null? m-elements)
(change-fingering m-clone)
(map change-fingering m-elements))
(ly:music-compress
#{
$m \once \textLengthOn \once \hideNotes $m-clone
#}
(ly:make-moment 1 2))))
\language "français"
\relative do { \clef bass
\extend sib'2-1 dod4-3( ré) |
\bar "|." }
%%%%
Et un autre petit détail qui me fait bêtement plaisir -- plus de
quatre ans après ceci :
https://git.savannah.gnu.org/cgit/lilypond.git/commit/?id=e45059ae37b240ce52639ad5c49110b510a89481
… c’est la _toute première fois_ à ma connaissance que quelqu’un poste
sur cette liste un exemple incluant la note "ré" avec un accent aigu
:-)
V.