Bonjour,
Il y a un petit moment, j'avais demandé comment écrire un doigté d'extension.
Je viens de reprendre un ancien fichier, j'ai fait un convert-ly, et j'ai maintenant un message d'erreur
Est-ce que quelqu'un sait comment modifier le code ?
Ou bien maintenant existe-t-il une meilleure méthode ? je n'ai rien trouvé sur la documentation
Pour rappel, l'extension se note avec un petit "x" à mi-chemin entre 2 doigtés de notes (ou bien 2 notes sans doigtés). Voir pièce jointe (sur cet exemple trouvé sur internet, le "x" est trop haut par rapport aux doigtés)
Je travaille avec la version 2.25.26
Voici le code :
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))))
Le code utilisé dans la partition :
fad4-3 \extend sol8-1
Et le message d'erreur :
Citation
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))))
J'espère que vous pourrez m'aider
Raphaël