[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Point d'orgue sur un nom d'accord
From: |
Ya Gloops |
Subject: |
Re: Point d'orgue sur un nom d'accord |
Date: |
Mon, 6 Jun 2022 19:37:41 +0000 (UTC) |
Le New ChordNames n'est il pas sensé être aussi en \chordmode pour entrer des
accords "c1:maj par exemple" ?
Auquel cas le script " c1^"abc" ne fonctionne plus...
\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 = 0.5
}
}
\new ChordNames \chordmode {c1^"abc" c1:maj\fermata }
Gilles
Le lundi 6 juin 2022, 20:09:34 UTC+2, Jean Abou Samra <jean@abou-samra.fr> a
écrit :
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