5.3.6 Les commandes \tweak et \single

L’utilisation d’un \override pour modifier les propriétés d’un objet graphique affectera toutes les instances de l’objet en question au sein du contexte, et ce dès son apparition. Il peut parfois être préférable de n’affecter qu’un seul objet en particulier plutôt que tous les objets du contexte. C’est là le rôle de l’instruction \tweak, dont la syntaxe est :

\tweak [objet-de-rendu.]objet-propriété valeur

La commande \tweak s’applique à l’objet qui apparaît immédiatement après valeur. Mention de l’objet-de-rendu est requise pour lever toute ambiguité dans le cas où l’expression musicale viendrait à générer indirectement d’autres objets de type différent – par exemple, NoteHead est à l’origine de Stem.

Pour une introduction à la syntaxe et l’utilisation des retouches, voir le chapitre Méthodes de retouche.

Entre autres éléments qui sont susceptibles de se produire au même instant, nous citerons :

Dans l’exemple suivant, l’une des têtes de note de l’accord est colorisée, et l’aspect d’une autre est changé.

< c''
  \tweak color #red
  d''
  g''
  \tweak duration-log 1
  a''
> 4

[image of music]

L’instruction \tweak permet aussi de modifier l’aspect d’une liaison :

\relative { c'-\tweak thickness 5 ( d e f) }

[image of music]

La commande \tweak peut aussi s’appliquer à un accord, auquel cas elle affecte chacune de ses notes :

{ \tweak color #red <c'' e''>4 }

[image of music]

La commande \tweak simple ne saurait servir à modifier un élément qui ne serait pas explicitement mentionné dans le fichier source. C’est notamment le cas des hampes, ligatures automatiques ou altérations, dans la mesure où elles seront ultérieurement générées et après les têtes de note (objets NoteHead), plutôt qu’au fil des éléments musicaux saisis.

De tels objets créés indirectement ne peuvent être ajustés que par une forme développée de la commande \tweak, autrement dit lorsque l’objet est explicitement mentionné :

\tweak Stem.color #(universal-color 'orange)
\tweak Beam.color #(universal-color 'skyblue) c''8 e''
<c'' e'' \tweak Accidental.font-size -3 ges''>4

[image of music]

La commande \tweak ne peut non plus servir à modifier clefs ou métriques, puisqu’elles seront immanquablement séparées du \tweak par l’insertion automatique d’autres éléments requis pour spécifier le contexte.

Plusieurs commandes \tweak en enfilade permettent d’affecter un même élément de notation :

c'
  -\tweak springs-and-rods #ly:spanner::set-spacing-rods
  -\tweak minimum-length 15
  -\tweak style #'dashed-line
  -\tweak dash-fraction 0.2
  -\tweak thickness 3
  -\tweak color #red
  \glissando
f''

[image of music]

Vous pouvez examiner le flux musical généré par une portion d’un fichier source, y compris les éléments automatiquement insérés, en suivant les indications portées à la rubrique Affichage d’expressions musicales. Ceci s’avère tout à fait approprié pour déterminer ce qui peut se modifier à l’aide d’un \tweak ou bien aider à rectifier votre source de telle sorte que le \tweak produise ses effets.

La commande \single prend un ou plusieurs \override (destinés à s’appliquer à un instant musical donné ou au-delà) et les convertit en un tweak unique qui s’appliquera aux objets spécifiques alors créés.

Le fichier ly/property-init.ly contient de nombreuses définitions de multiples commandes \override qui peuvent alors faire l’objet d’un \single. Par exemple, la fonction \easyHeadsOn peut s’utiliser avec \single pour n’affecter qu’une seule des notes d’un accord :

< \single \easyHeadsOn c' g' >2

[image of music]

Voir aussi

Manuel d’initiation : Méthodes de retouche.

Manuel d’extension : Affichage d’expressions musicales.

Problèmes connus et avertissements

Lorsqu’il y a plusieurs liaisons de prolongation dans un accord, la commande \tweak ne permet de modifier les points de contrôle que pour la première rencontrée dans le fichier source.


GNU LilyPond – Manuel de notation v2.25.21 (branche de développement).