[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Point d'orgue sur un nom d'accord
From: |
Jean Abou Samra |
Subject: |
Point d'orgue sur un nom d'accord |
Date: |
Mon, 6 Jun 2022 20:08:35 +0200 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.9.1 |
Le 06/06/2022 à 19:51, Vincent Gay a écrit :
Le 06/06/2022 à 14:37, Jean Abou Samra a écrit :
Hier en voiture, en rentrant de la fondue Lily, tu demandais s'il
était possible d'afficher de vraies pauses dans les ChordNames
plutôt que « N.C. ». Je ne m'en suis pas rendu compte sur le
moment, mais en fait il suffit tout simplement d'ajouter les graveurs
qui vont bien.
Yep, ben justement je me demandais quel(s) graveur il faut pour
pouvoir rajouter un point d'orgue sur un nom d'accord.
Merci d'avance
Le Script_engraver, plus un graveur personnalisé écrit en Scheme :-)
\version "2.22.2"
\layout {
\context {
\ChordNames
\consists Script_engraver
\consists Text_engraver
\consists
#(lambda (context)
(let ((chord-name #f)
(scripts '()))
(make-engraver
(acknowledgers
((chord-name-interface engraver grob source-engraver) ;;
détecte les ChordName
(set! chord-name grob))
((script-interface engraver grob source-engraver) ;;
détecte les Script
(set! scripts (cons grob scripts))))
((stop-translation-timestep engraver)
(if chord-name
(for-each
(lambda (s)
;; Le ChordName devient parent du Script...
(ly:grob-set-parent! s X chord-name)
(ly:grob-set-parent! s Y chord-name)
;; ... et c'est contre lui que le Script se
positionne.
(ly:pointer-group-interface::add-grob s
'side-support-elements chord-name))
scripts))
(set! chord-name #f)
(set! scripts '())))))
%% Réglage de la distance entre le nom d'accord et le script
\override Script.padding = 1.2
}
}
\new ChordNames { c1^"abc" c1\fermata }
Ça te paraît être quelque chose de souhaitable par défaut ?
Je peux l'ajouter comme feature request sur
https://gitlab.com/lilypond/lilypond/-/issues
Cordialement,
Jean