5.8.4 Autres sources de documentation

La référence des propriétés internes contient beaucoup d’informations sur LilyPond. Cependant vous pouvez en découvrir encore plus en consultant les fichiers internes de LilyPond. Pour cela, il vous faut d’abord connaître le répertoire ad hoc sur votre système. L’emplacement du répertoire dépend du fait que, pour vous procurer LilyPond, vous avez téléchargé un paquet précompilé sur lilypond.org ou vous l’avez installé grâce à votre gestionnaire de paquetages (c’est-à-dire distribué avec GNU/Linux ou installé avec MacPorts, Homebrew, +Cygwin, Chocolatey, etc.), ou encore vous l’avez compilé directement à partir des sources.

Dans ce répertoire, deux sous-répertoires sont particulièrement intéressants :

ly/

contient les fichiers en format LilyPond

scm/

contient les fichiers en format Scheme

Commençons par examiner quelques fichiers contenus dans ly/. Nous ouvrons ly/property-init.ly dans un éditeur de texte – celui que vous avez l’habitude d’utiliser pour les fichiers .ly fera très bien l’affaire. Ce fichier contient les définitions de toutes les commandes standard prédéfinies de LilyPond, comme \tieUp et \slurDotted. Vous pouvez constater que ce n’est rien d’autre que des définitions de variables composées d’un ou plusieurs groupes de commandes \override. Par exemple, \textLengthOn est défini comme :

textLengthOn = {
  % 0.4 staff-space between adjacent texts
  \override TextScript.extra-spacing-width = #'(-0.0 . 0.4)
  \override TextScript.extra-spacing-height = #'(-inf.0 . +inf.0)
}

Si vous n’aimez pas les valeurs par défaut, les commandes prédéfinies peuvent être facilement redéfinies, comme n’importe quelle autre variable, en tête de votre fichier d’entrée.

Voici les fichiers les plus utiles dans le répertoire ly/ :

Nom de fichierContenu
ly/engraver-init.lyDéfinition des contextes de graveurs
ly/paper-defaults-init.lyRéglages papier par défaut
ly/performer-init.lyDéfinition des contextes d’interprétation
ly/property-init.lyDéfinition de toutes les commandes prédéfinies courantes
ly/spanner-init.lyDéfinition des commandes prédéfinies pour les bandeaux

Les autres réglages (comme les définitions de commandes markup) sont conservés comme fichiers .scm (Scheme). Le langage de programmation Scheme offre une interface programmable dans le processus interne de LilyPond. De plus amples explications sur ces fichiers dépasseraient le cadre de ce manuel dans la mesure où elles requièrent la connaissance du langage Scheme. Les utilisateurs qui souhaiteraient comprendre le fonctionnement de ces fichiers de configuration doivent être avertis que des connaissances techniques substantielles et beaucoup de temps sont nécessaires (voir le Tutoriel Scheme).

Si c’est votre cas, les fichiers Scheme les plus utiles à connaître sont :

Nom de fichierContenu
scm/auto-beam.scmRègles par défaut des ligatures subalternes
scm/define-grobs.scmRéglages par défaut des propriétés de grobs
scm/define-markup-commands.scmSpécification de toutes les commandes de markup
scm/midi.scmRéglages par défaut pour les sorties MIDI
scm/output-lib.scmRéglages affectant l’apparence des frets, couleurs, altérations, barres de mesure, etc.
scm/parser-clef.scmDéfinition des clefs prises en charge
scm/script.scmRéglages par défaut des articulations

GNU LilyPond – Manuel d’initiation v2.25.22 (development-branch).