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 aux 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, 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’occurrence 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 des
propriétés internes est en fait directement engendrée par cette
définition.