5.8.4 Otras fuentes de información

La documentación del manual de Referencia de Funcionamiento Interno contiene montañas de información sobre LilyPond, pero se puede obtener más información aún leyendo los archivos internos de LilyPond. Para echarles un vistazo, en primer lugar debe buscar la carpeta correspondiente a su sistema. La ubicación de esta carpeta depende de si consiguió el programa LilyPond descargando un binario precompilado desde el sitio web lilypond.org o si lo instaló mediante un gestor de paquetes (es decir, distribuido con GNU/Linux, o instalado bajo MacPorts, Homebrew, Cygwin, Chocolatey, etc.) o fue compilado a partir de la fuente.

Dentro de esta carpeta, las dos subcarpetas interesantes son

ly/

contiene archivos en formato LilyPond

scm/

contiene archivos en formato Scheme

Vamos a comenzar observando algunos archivos que están en ly/. Abra ly/property-init.ly con un editor de textos (el mismo que usaría normalmente para los archivos .ly servirá perfectamente). Este archivo contiene las definiciones de todas las instrucciones estándar predefinidas de LilyPond, como por ejemplo \tieUp y \slurDotted. Podrá ver que no son nada más que definiciones de variables que contienen una o varias instrucciones \override. Por ejemplo, \textLengthOn está definido de tal forma que su valor es:

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 no le gustan los valores predeterminados, estas instrucciones predefinidas se pueden redefinir con facilidad como cualquier otra variable, al principio de su archivo de código de entrada.

Los siguientes son los archivos más útiles que se encuentran en ly/:

ArchivoContenido
ly/engraver-init.lyDefiniciones de Contextos de grabadores
ly/paper-defaults-init.lyespecificaciones de valores predeterminados relacionados con el papel
ly/performer-init.lyDefiniciones de Contextos de interpretación
ly/property-init.lyDefiniciones de todas las instrucciones predefinidas que son comunes
ly/spanner-init.lyDefiniciones de las instrucciones predefinidas relacionadas con los objetos de extensión

Otros ajustes (como las definiciones de las instrucciones de marcado) se almacenan como archivos .scm (de Scheme). El lenguaje de programación Scheme se utiliza para proporcionar una interfaz programable en el funcionamiento interno de LilyPond. Cualquier explicación adicional sobre estos archivos se encuentra por el momento fuera del ámbito de este manual, porque se requiere un cierto conocimiento del lenguaje Scheme. Se advierte a los usuarios que se necesita una importante cantidad de conocimientos técnicos o de tiempo para comprender el lenguaje Scheme y estos archivos (véase Tutorial de Scheme).

Si ya tiene estos conocimientos, los archivos de Scheme que pueden interesarle son:

ArchivoContenido
scm/auto-beam.scmValores predeterminados de sub-barrado
scm/define-grobs.scmvalores predeterminados de las propiedades de grobs
scm/define-markup-commands.scmCasi todas las instrucciones de marcado
scm/midi.scmAjustes predeterminados para la salida MIDI
scm/output-lib.scmAjustes que afectan al aspecto de los trastes, colores, alteraciones, lineas divisorias, etc.
scm/parser-clef.scmDefiniciones de las claves contempladas
scm/script.scmAjustes predeterminados para las articulaciones

Manual de aprendizaje de GNU LilyPond v2.25.29 (development-branch).