GNU LilyPond – Manuel de notation: 5.2.2 Interfaces de rendu

### 5.2.2 Interfaces de rendu

Tous les éléments de notation sont considérés comme des objets graphiques (en anglais Graphical Object, d’où le diminutif Grob). Chaque objet est doté d’un certain nombre de propriétés (l’épaisseur du trait, l’orientation, etc.), et lié à d’autres objets. Le fonctionnement de ces objets est décrit en détail dans grob-interface.

Prenons l’exemple des doigtés (en anglais Fingering). La page `Fingering` de la Référence des propriétés internes établit une liste de définitions propres à ce type d’objet :

> `padding` (dimension, in staff space):

> `0.5`

Ce qui signifie que les doigtés doivent être maintenus à une certaine distance (padding) des notes : 0,5 unités staff-space (espace de portée).

Chaque objet peut avoir plusieurs attributs, en tant qu’élément typographique ou musical. Ainsi, un doigté (objet Fingering) possède les attributs suivants :

- Sa taille ne dépend pas de l’espacement horizontal, contrairement aux liaisons ou ligatures.
- C’est du texte – un texte vraiment court, certes.
- Ce texte est imprimé au moyen d’une fonte, contrairement aux liaisons ou ligatures.
- Sur l’axe horizontal, le centre de ce symbole doit être aligné avec le centre de la note.
- Sur l’axe vertical, le symbole doit être proche de la note et de la portée.
- Sur l’axe vertical encore, il doit également s’ordonner avec les éventuels autres symboles, ponctuations, ou éléments textuels.

Faire appliquer ces différents attributs est le rôle des interfaces, que l’on trouve en bas de la page Fingering.

> This object supports the following interfaces: item-interface, self-alignment-interface, side-position-interface, text-interface, text-script-interface, font-interface, finger-interface, and grob-interface.

En français,

> Cet objet admet les interfaces suivantes :

Suit la liste des interfaces en question, présentées comme autant de liens, qui conduisent sur les pages dédiées à chacune d’entre elles. Chaque interface est dotée d’un certain nombre de propriétés, dont certaines peuvent être modifiées, et d’autres non (les Internal properties, ou propriétés internes).

Pour aller encore plus loin, plutôt que de simplement parler de l’objet `Fingering`, ce qui ne nous avance pas à grand chose, on peut aller explorer son âme même, dans les fichiers source de LilyPond (voir Autres sources de documentation), en l’occurence le fichier ‘`scm/define-grobs.scm`’ :

>     (Fingering
>       . ((padding . 0.5)
>          (avoid-slur . around)
>          (slur-padding . 0.2)
>          (staff-padding . 0.5)
>          (self-alignment-X . 0)
>          (self-alignment-Y . 0)
>          (script-priority . 100)
>          (stencil . ,ly:text-interface::print)
>          (direction . ,ly:script-interface::calc-direction)
>          (font-encoding . fetaText)
>          (font-size . -5) 		; don't overlap when next to heads.
>          (meta . ((class . Item)
>          (interfaces . (finger-interface
>                         font-interface
>                         text-script-interface
>                         text-interface
>                         side-position-interface
>                         self-alignment-interface
>                         item-interface))))))

…où l’on découvre que l’objet `Fingering` n’est rien de plus qu’un amas de variables et de réglages. La page de la Référence du programme est en fait directement engendrée par cette définition.

Autres langues : English, deutsch, español, 日本語.

#### LilyPond — Manuel de notation