> Le 04/07/2021 11:08, CHARADE Olivier <olivier.charade@cnrs.fr> a écrit :
>
>
> Voilà bien une commande sur mesure dont je ne me serais jamais attendu à ce qu'elle existe. Pourtant, ce n'est pas faute d'avoir parcouru cette page de la doc.
> Effectivement j'aimerais que chaque soufflet soit un peu plus large. D'un point de vue général, ce qui me gênait dans la solution que j'adoptais, c'était l'asymétrie du résultat. Pour comparer, maintenant que j'ai relu cette page de la doc, j'ai tenté:
>
> \override Hairpin.minimum-length = #50
> <<{c'1}\\{s2\< s4.\> s8\!}>>
> c'1\espressivo
>
>
> Cependant quelque soit la valeur de longueur minimale (j'ai commencé à 5, comme dans la doc), je ne vois rien qui bouge.
> Je pense comprendre que l'\espressivo appelle un symbole qui n'a rien à voir d'un point de vue programmation avec les soufflets et qu'il est normal que l'\override le laisse de marbre, mais pour les “vrais“ soufflets, quelque chose m'échappe.
Pour les vrais soufflets, le souci provient du fait
que le \override s'adresse à un contexte Voice, et
la construction << \\ >> fait que les objets Hairpin
sont créés dans un autre contexte Voice. Les choses
rentrent dans l'ordre en plaçant le \override dans
ce contexte-là :
\version "2.22.0"
{
<<
{ c'1 }
\\
{
\override Hairpin.minimum-length = 10
s2\< s4.\> s8\!
}
>>
c'1\espressivo
}
Par ailleurs, \espressivo est effectivement un script
ponctuel qui n'a rien à voir avec les vrais soufflets,
et peut s'obtenir solitaire avec
\version "2.22.1"
\markup \musicglyph "scripts.espr"
Pour ajuster sa longueur, on peut utiliser la même
syntaxe \markup :
\version "2.22.1"
espressivo =
\tweak stencil #ly:text-interface::print
\tweak text \markup \scale #'(2 . 1.2) \musicglyph "scripts.espr"
\tweak padding 0.6
\espressivo
{
c'1\espressivo
}
L'astuce du #ly:text-interface::print est décrite sur
cette page de la documentation :
https://lilypond.org/doc/v2.23/Documentation/notation/modifying-stencils
Pour centrer une note au milieu de sa mesure,
je pense que la solution la plus simple reste
\version "2.22.1"
{
d4 4 4 4
\tweak extra-spacing-width #'(-4 . 0) d1
}
(On pourrait écrire des graveurs en Scheme qui
créent des Spanners, mais cela deviendrait immédiatement
très compliqué.)
Cordialement,
Jean