5.7.4 Altre fonti di informazione

La guida al Funzionamento interno contiene molte informazioni su LilyPond, ma si possono trovare ancora più informazioni nei file interni di LilyPond. Per studiarli devi prima trovare la giusta directory nel tuo sistema operativo. Il percorso di questa directory dipende da quale sistema operativo si sta usando e da come si è ottenuto LilyPond, se scaricando un binario precompilato da lilypond.org oppure installandolo da un gestore di pacchetti (come nelle distribuzioni GNU/Linux o nelle istallazioni tramite fink o cygwin) o compilandolo dai sorgenti:

Scaricato da lilypond.org

Istallato da un gestore di pacchetti o compilato da sorgenti

Vai in ‘PREFIX/share/lilypond/X.Y.Z/’, dove PREFIX è definito dal gestore pacchetti o dallo script configure e X.Y.Z è il numero di versione di LilyPond.


All’interno di questa directory le due sottodirectory interessanti sono

Iniziamo col vedere alcuni file in ‘ly/’. Apri ‘ly/property-init.ly’ in un editor di testo. Quello che usi normalmente per i file .ly va bene. Questo file contiene le definizioni di tutti i comandi predefiniti standard di LilyPond, come \tieUp e \slurDotted. Vedrai che questi non sono altro che definizioni di variabili che contengono uno o più comandi \override. Ad esempio, \tieDotted è definito così:

tieDotted = {
  \override Tie.dash-period = #0.75
  \override Tie.dash-fraction = #0.1
}

Se non ti piacciono i valori predefiniti, puoi facilmente definire nuovamente questi comandi, proprio come qualsiasi altra variabile, all’inizio del file di input.

Ecco i file più utili che si trovano in ‘ly/’:

Nome del fileContenuti
‘ly/engraver-init.ly’Definizioni dei contesti degli incisori (engraver)
‘ly/paper-defaults-init.ly’Specifiche dei valori predefiniti relativi al foglio
‘ly/performer-init.ly’Definizioni dei contesti dei performer
‘ly/property-init.ly’Definizioni di tutti i comandi predefiniti più comuni
‘ly/spanner-init.ly’Definizioni dei comandi predefiniti relativi agli estensori (spanner)

Altre impostazioni (come le definizioni dei comandi di markup) sono salvate come file ‘.scm’ (Scheme). Il linguaggio di programmazione Scheme serve a fornire un’interfaccia di programmazione per modificare il funzionamento interno di LilyPond. Una spiegazione dettagliata di questi file non rientra nell’obiettivo di questo manuale, dal momento che è necessario conoscere il linguaggio Scheme. Avvisiamo gli utenti che è richiesta una notevole quantità di abilità tecnica o di tempo per comprendere Scheme e questi file (vedi Scheme tutorial).

Nel caso tu conosca Scheme, i file che potrebbero essere di interesse sono:

Nome del fileContenuti
‘scm/auto-beam.scm’Valori predefiniti della disposizione delle travature
‘scm/define-grobs.scm’Impostazioni predefinite delle proprietà dei grob
‘scm/define-markup-commands.scm’Definizione di tutti i comandi di markup
‘scm/midi.scm’Impostazioni predefinite dell’output MIDI
‘scm/output-lib.scm’Impostazioni che modificano l’aspetto di tasti, colori, alterazioni, stanghette, etc.
‘scm/parser-clef.scm’Definizioni delle chiavi supportate
‘scm/script.scm’Impostazioni predefinite delle articolazioni

LilyPond — Manuale di apprendimento v2.24.1 (ramo stabile).