Subject: [LilyPond] Instruments à Cordes - doigté d'extension

From: Raphaël Broussier via LilyPond <[email-masked]>
Date: Mon, 07 Jul 2025 22:55:40 +0000

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 :slight_smile:
Raphaël

---
Pour poster dans ce sujet, visitez la [page du sujet](https://lilypond.community/t/instruments-a-cordes-doigte-dextension/5940/1).

Pour créer un nouveau sujet, écrivez à [[email-masked]](mailto:[email-masked]) ou visitez la [page d'accueil de lilypond.community](https://lilypond.community).