5.7.4 Altre fonti di informazione (Manuale di apprendimento di LilyPond)

#### 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

- GNU/Linux

  Vai in

      INSTALLDIR/lilypond/usr/share/lilypond/current/

- MacOS X

  Vai in

      INSTALLDIR/LilyPond.app/Contents/Resources/share/lilypond/current/

  usando `cd` in un terminale per entrare in questa directory oppure facendo un Ctrl+click sull’applicazione LilyPond e scegliendo “Mostra i contenuti dei pacchetti”.

- Windows

  Con Windows Explorer vai in

      INSTALLDIR/LilyPond/usr/share/lilypond/current/

#### 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

- `ly/` - contiene i file nel linguaggio di LilyPond
- `scm/` - contiene i file nel linguaggio Scheme

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 file | Contenuti
--- | ---
`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 file | Contenuti
--- | ---
`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

#### Manuale di apprendimento di LilyPond v2.26.0 (stable-branch).

- 1 Installazione
  - 1.1 Installazione grafica in GNU/Linux
  - 1.2 Installazione grafica in Windows
  - 1.3 Installazione grafica in macOS
  - 1.4 Installazione da linea di comando
- 2 Tutorial
  - 2.1 Compilare un file
  - 2.2 Come scrivere i file di input
    - 2.2.1 Notazione semplice
      - Altezze
      - Durate (ritmi)
      - Pause
      - Indicazione di tempo
      - Indicazioni di tempo
      - Chiave
      - Tutto insieme
    - 2.2.2 Lavorare sui file di input
  - 2.3 Gestire gli errori
    - 2.3.1 Consigli generali per la risoluzione dei problemi
    - 2.3.2 Alcuni errori comuni
  - 2.4 Come leggere i manuali
    - 2.4.1 Materiale omesso
    - 2.4.2 Esempi cliccabili
    - 2.4.3 Panoramica dei manuali
- 3 Notazione comunemente utilizzata
  - 3.1 Notazione su un solo pentagramma
    - 3.1.1 Stanghette e controlli di battuta
      - Stanghette
      - Controlli di battuta
    - 3.1.2 Altezze e armature di chiave
      - Alterazioni dell’altezza
      - Armature di chiave
      - Attenzione: armature di chiave e altezze
    - 3.1.3 Legature di valore e di portamento
      - Legature di valore
      - Legature di portamento
      - Legature di frase
      - Attenzione: legature di portamento vs. legature di valore
    - 3.1.4 Articolazioni e dinamiche
      - Articolazioni
      - Diteggiature
      - Dinamiche
    - 3.1.5 Aggiungere il testo
    - 3.1.6 Code automatiche e manuali
    - 3.1.7 Comandi di tempo avanzati
      - Battuta parziale
      - Gruppi irregolari
      - Abbellimenti
  - 3.2 Note simultanee
    - 3.2.1 Espressioni musicali
      - Analogia: le espressioni matematiche
      - Espressioni musicali simultanee: righi multipli
      - Espressioni musicali simultanee: rigo singolo
    - 3.2.2 Righi multipli
    - 3.2.3 Gruppi di pentagrammi
    - 3.2.4 Combinare le note negli accordi
    - 3.2.5 Polifonia su un singolo rigo
  - 3.3 Canzoni
    - 3.3.1 Impostare canzoni semplici
    - 3.3.2 Allineare il testo alla melodia
    - 3.3.3 Testo su più righi
  - 3.4 Ritocchi finali
    - 3.4.1 Organizzare i brani con le variabili
    - 3.4.2 Aggiungere i titoli
    - 3.4.3 Nomi assoluti delle note
    - 3.4.4 Dopo il tutorial
- 4 Concetti fondamentali
  - 4.1 Come funzionano i file di input di LilyPond
    - 4.1.1 Introduzione alla struttura di un file di LilyPond
    - 4.1.2 La partitura è una (singola) espressione musicale composta
    - 4.1.3 Annidare le espressioni musicali
    - 4.1.4 Struttura dell’inserimento note
    - 4.1.5 Sul non annidamento di parentesi e legature di valore
  - 4.2 Le voci contengono la musica
    - 4.2.1 Sento le Voci
    - 4.2.2 Definire esplicitamente le voci
    - 4.2.3 Voci e musica vocale
  - 4.3 Contesti e incisori
    - 4.3.1 I contesti
    - 4.3.2 Creare i contesti
    - 4.3.3 Gli incisori
    - 4.3.4 Modificare le proprietà di contesto
    - 4.3.5 Aggiungere e togliere gli incisori
  - 4.4 Estendere i modelli
    - 4.4.1 Soprano e violoncello
    - 4.4.2 Partitura vocale a quattro parti SATB
    - 4.4.3 Scrivere una partitura da zero
    - 4.4.4 Ridurre l’input grazie a variabili e funzioni
    - 4.4.5 Partiture e parti
- 5 Modifica dell’output
  - 5.1 Modifiche di base
    - 5.1.1 Introduzione alle modifiche
    - 5.1.2 Oggetti e interfacce
    - 5.1.3 Convenzioni per i nomi di oggetti e proprietà
    - 5.1.4 Metodi di modifica
      - Il comando `\override`
      - Il comando `\revert`
      - Il prefisso `\once`
      - Il comando di ritocco `\tweak`
      - Il prefisso `\single`
  - 5.2 Manuale del Funzionamento interno
    - 5.2.1 Proprietà degli oggetti di formattazione
    - 5.2.2 Proprietà presenti nelle interfacce
    - 5.2.3 Tipi di proprietà
  - 5.3 Aspetto degli oggetti
    - 5.3.1 Visibilità e colore degli oggetti
      - La proprietà `stencil`
      - La proprietà `break-visibility`
      - La proprietà `transparent`
      - La proprietà `color`
    - 5.3.2 Dimensione degli oggetti
    - 5.3.3 Lunghezza e spessore degli oggetti
  - 5.4 Posizionamento degli oggetti
    - 5.4.1 Comportamento automatico
    - 5.4.2 Oggetti interni al rigo
      - La proprietà `direction`
      - Diteggiatura
    - 5.4.3 Oggetti esterni al rigo
      - La proprietà `outside-staff-priority`
      - Il comando `\textLengthOn`
      - Posizionamento delle dinamiche
      - Dimensione dei grob
  - 5.5 Spaziatura verticale
  - 5.6 Collisioni tra oggetti
    - 5.6.1 Spostare gli oggetti
    - 5.6.2 Correggere elementi della notazione sovrapposti
      - La proprietà `padding`
      - La proprietà `right-padding`
      - La proprietà `staff-padding`
      - La proprietà `self-alignment-X`
      - La proprietà `staff-position`
      - La proprietà `extra-offset`
      - La proprietà `positions`
      - La proprietà `force-hshift`
    - 5.6.3 Esempio musicale
  - 5.7 Altre modifiche
    - 5.7.1 Altri usi delle modifiche con `\tweak`
      - Legature di valore tra note di voci diverse
      - Simulare una corona nel MIDI
    - 5.7.2 Uso delle variabili per modificare la formattazione
    - 5.7.3 Fogli di stile
    - 5.7.4 Altre fonti di informazione
    - 5.7.5 Modifiche avanzate con Scheme
- Appendix A Modelli
  - A.1 Modelli integrati
    - A.1.1 Modello SATB
    - A.1.2 Modello SSAATTBB
  - A.2 Modelli per rigo singolo
    - A.2.1 Solo note
    - A.2.2 Note e testo
    - A.2.3 Note e accordi
    - A.2.4 Note, testo e accordi
  - A.3 Modelli per pianoforte
    - A.3.1 Solo pianoforte
    - A.3.2 Pianoforte e melodia con testo
    - A.3.3 Pianoforte con testo al centro
  - A.4 Modelli per quartetto d’archi
    - A.4.1 Quartetto d’archi semplice
    - A.4.2 Parti di un quartetto d’archi
  - A.5 Modelli per gruppi vocali
    - A.5.1 Partitura vocale SATB
    - A.5.2 Partitura vocale SATB e automatica riduzione per pianoforte
    - A.5.3 SATB con contesti allineati
    - A.5.4 SATB su quattro righi
    - A.5.5 Strofa sola e ritornello a due parti
    - A.5.6 Inni
    - A.5.7 Salmi
  - A.6 Modelli per orchestra
    - A.6.1 Orchestra, coro e pianoforte
  - A.7 Modelli per notazione antica
    - A.7.1 Trascrizione di musica mensurale
    - A.7.2 Trascrizione di musica Gregoriana
  - A.8 Altri modelli
    - A.8.1 Combo jazz
- Appendix B GNU Free Documentation License
- Appendix C Indice