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.lyDefinizioni dei contesti degli incisori (engraver)
ly/paper-defaults-init.lySpecifiche dei valori predefiniti relativi al foglio
ly/performer-init.lyDefinizioni dei contesti dei performer
ly/property-init.lyDefinizioni di tutti i comandi predefiniti più comuni
ly/spanner-init.lyDefinizioni 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.scmValori predefiniti della disposizione delle travature
scm/define-grobs.scmImpostazioni predefinite delle proprietà dei grob
scm/define-markup-commands.scmDefinizione di tutti i comandi di markup
scm/midi.scmImpostazioni predefinite dell’output MIDI
scm/output-lib.scmImpostazioni che modificano l’aspetto di tasti, colori, alterazioni, stanghette, etc.
scm/parser-clef.scmDefinizioni delle chiavi supportate
scm/script.scmImpostazioni predefinite delle articolazioni

LilyPond — Manuale di apprendimento v2.23.82 (ramo di sviluppo).