La commande \override

Dans Modification des propriétés d’un contexte et dans Ajout et suppression de graveurs, nous avons déjà rencontré les commandes \set et \with, qui servent à changer les propriétés des contextes et à supprimer ou ajouter des graveurs. Voici maintenant d’autres commandes plus importantes.

La commande pour changer les propriétés des objets de rendu est \override. Du fait que cette commande modifie en profondeur les propriétés internes de LilyPond, sa syntaxe n’est pas aussi simple que pour les commandes vues précédemment. Elle a besoin de savoir avec précision quelle est la propriété à modifier, pour quel objet et dans quel contexte, et quelle doit être sa nouvelle valeur. Voyons de quoi il retourne.

La syntaxe générale de cette commande est :

\override Contexte.ObjetDeRendu.propriété-rendu = valeur

Elle attribue à la propriété appelée propriété-rendu, associée à l’objet ObjetDeRendu, appartenant lui-même au contexte Contexte, une valeur valeur.

Le contexte Contexte peut être omis (c’est généralement le cas) quand il n’y a pas d’ambiguïté et qu’il s’agit d’un contexte de très bas niveau, comme Voice, ChordNames ou Lyrics. Dans les exemples qui suivent, le contexte sera très souvent omis. Nous verrons plus tard dans quelles circonstances il doit impérativement être indiqué.

Les sections ci-dessous traitent largement des propriétés et de leurs valeurs – see Types de propriétés – mais, pour illustrer la mise en forme et l’utilisation de ces commandes, nous nous limiterons à n’employer que quelques propriétés et valeurs simples, facilement compréhensibles.

LilyPond reconnaît comme expression primaire les éléments musicaux tels que les notes et durées, ainsi que les chaînes de caractères et annotations (les markups). D’autres expressions spécifiques comme les symboles et listes sont gérées en « mode Scheme », mode appelé en faisant précéder une valeur par un ‘#’. Quant aux nombres, ils doivent être précédés d’un ‘#’ lorsqu’ils sont utilisés en argument à une fonction de markup – autrement dit dans un bloc \markup.2

Pour de plus amples informations quant au mode Scheme, consultez Syntaxe Scheme dans LilyPond.

La commande \override est la plus fréquemment utilisée pour faire des retouches, et pratiquement tout le reste de ce chapitre aura pour but de montrer, à travers des exemples, comment l’utiliser. L’exemple ci-dessous change la couleur des têtes de notes :

\relative {
  c'4 d
  \override NoteHead.color = "red"
  e4 f |
  \override NoteHead.color = "green"
  g4 a b c |
}

[image of music]


Footnotes

(2)

Notez cependant que, pour LilyPond, un nombre doît commencer par un chiffre ou un signe moins suivi d’un chiffre dès qu’on n’est pas en mode Scheme. En d’autre termes, ‘0.2’ ou ‘-0.2’ sont des nombres valides, alors que ‘.2’ et ‘-.2’ ne le sont pas. Si cela était vraiment nécessaire, on pourrait toutefois écrire ‘#.2’ ou ‘#-.2’ – Scheme prend en charge bien d’autres représentations des nombres.


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