GNU LilyPond – Manuel d'initiation: 4.1.2 Objets et interfaces

### 4.1.2 Objets et interfaces

Toute retouche implique que l’on modifie les opérations internes et les structures du programme LilyPond. Nous allons donc, pour commencer, présenter certains termes qui servent à décrire ces opérations internes et ces structures.

Le terme « Objet » est un terme générique qui fait référence à une multitude de structures internes mises en place par LilyPond durant la compilation d’un fichier d’entrée. Ainsi, quand une commande du type `\new Staff` apparaît, un nouvel objet du type `Staff` est créé. Cet objet `Staff` contient alors toutes les propriétés associées à cette portée, par exemple son nom et son armure, ainsi que le détail des graveurs qui ont été désignés pour fonctionner dans ce contexte de portée. Certains objets peuvent contenir les propriétés de tous les autres contextes, comme les objets `Voice`, les objets `Score`, les objets `Lyrics` ; d’autres se rapportent à tous les éléments de notation, comme les barres de mesure, les liaisons, les nuances, etc. Chaque objet dispose de son propre échantillon de valeurs pour le réglage des propriétés.

Certains types d’objet portent des noms spécifiques. Les objets qui se rapportent à des éléments de notation sur le fichier de sortie, comme les notes, les hampes, les liaisons de phrasé ou de prolongation, les doigtés, les clefs, etc. sont appelés « Objets de rendu » ; ils sont aussi connus sous le nom d’« Objets graphiques » (en anglais : Graphical objects ou Grobs pour faire court). Ce sont bien des objets au sens générique ci-dessus, et, en tant que tels, ils reçoivent des propriétés qui leur sont associées, comme leur position, leur taille, leur couleur, etc.

Certains objets de rendu, comme les liaisons de phrasé, les soufflets de crescendo, les marques d’octaviation et beaucoup d’autres grobs, ont pour particularité de ne pas se situer à un seul et unique endroit – ils ont un point de départ, un point d’arrivée, et éventuellement d’autres propriétés relatives à leur forme. Ces objets avec une forme étendue sont appelés des bandeaux (Spanners en anglais).

Il reste à expliquer ce que sont les « interfaces ». De nombreux objets, qui peuvent être très différents les uns des autres, ont pour point commun de devoir être compilés simultanément. Par exemple, tous les grobs ont une couleur, une taille, une position, etc., et toutes ces propriétés sont compilées simultanément durant l’interprétation du fichier d’entrée par LilyPond. Pour alléger ces opérations internes, ces actions et propriétés communes sont regroupées en un objet appelé `grob-interface`. Il existe beaucoup d’autres regroupements de propriétés communes dans le genre de celui-ci, chacun portant un nom qui se termine par `interface`. En tout, on en compte plus d’une centaine. Nous verrons plus loin en quoi c’est intéressant et utile pour l’utilisateur.

Ainsi s’achève le tour des principaux termes relatifs aux objets et que nous serons amenés à utiliser dans ce chapitre.

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

#### LilyPond — Manuel d’initiation