Utilizzo di lilypond

L’eseguibile lilypond può essere lanciato dalla linea di comando nel seguente modo.

lilypond [opzione]… file

Se invocato con un nome di file senza estensione, viene tentata per prima l’estensione .ly. Per leggere l’input da stdin, usare un trattino (-) al posto di file.

Nota: Nelle versioni di Windows precedenti a Windows 10 1903, LilyPond non sa gestire i nomi file Unicode.

Quando file.ly viene elaborato, lilypond crea file.pdf come output predefinito. Possono essere specificati molti file, ognuno dei quali viene elaborato in modo indipendente.1

Se file.ly contiene più di un blocco \book, tutte le altre partiture sono salvate in file numerati, a partire da file-1.pdf. Inoltre, il valore di output-suffix (suffisso di output) viene inserito tra la base del nome del file e il numero. Per esempio, se file.ly contiene

#(define output-suffix "violino")
\score { … }
#(define output-suffix "violoncello")
\score { … }

LilyPond produce come output file-violino.pdf e file-violoncello-1.pdf.

Usare LilyPond con funzionalità standard della shell

Dato che LilyPond è un’applicazione a linea di comando, si possono sfruttare le funzionalità della ‘shell’ usata per lanciare LilyPond.

Per esempio,

lilypond *.ly

elabora tutti i file LilyPond nella directory corrente.

Potrebbe essere utile anche redirigere l’output della console (per esempio, in un file):

lilypond file.ly 1> stdout.txt

lilypond file.ly 2> stderr.txt

lilypond file.ly &> all.txt

Questi comandi redirigono rispettivamente l’output ‘normale’, gli ‘errori’ o ‘tutto’ in file di testo. Consulta la documentazione della tua shell, del prompt dei comandi (Windows), delle applicazioni Terminale o Console (MacOS X), per verificare se la redirezione dell’output è supportata o se la sintassi è diversa.

L’esempio seguente cerca e elabora tutti i file di input nella directory corrente e in tutte le directory inferiori ricorsivamente. I file di output vengono salvati nella stessa directory in cui è stato lanciato il comando, invece delle stesse directory in cui si trovano i file di input.

find . -name '*.ly' -exec lilypond '{}' \;

Questo comando dovrebbe funzionare anche in MacOS X.

Gli utenti Windows devono lanciare questo comando:

forfiles /s /M *.ly /c "cmd /c lilypond @file"

nel prompt dei comandi, che di solito si trova in Avvio > Accessori > Prompt dei comandi, oppure scrivendo ‘prompt dei comandi’ nella finestra di ricerca.

Altrimenti, si può indicare un percorso esplicito alla cartella che contiene tutte le sottocartelle con i file di input tramite l’opzione /p:

forfiles /s /p C:\Documents\MyScores /M *.ly /c "cmd /c lilypond @file"

Tale percorso, se contiene spazi, deve essere racchiuso tra virgolette doppie:

forfiles /s /p "C:\Documents\My Scores" /M *.ly /c "cmd /c lilypond @file"

Footnotes

(1)

Lo stato di GUILE non viene ripristinato dopo l’elaborazione di un file .ly: attenzione quindi a non cambiare alcun valore predefinito dall’interno di Scheme.


LilyPond: manuale d’uso del programma v2.25.15 (ramo di sviluppo).