]> git.donarmstrong.com Git - lilypond.git/blob - Documentation/it/notation/input.itely
Doc - NR + CG: Clarify Emmentaler is the 'font' and Feta/Parmesan are glyphs
[lilypond.git] / Documentation / it / notation / input.itely
1 @c -*- coding: utf-8; mode: texinfo; documentlanguage: it -*-
2
3 @ignore
4     Translation of GIT committish: 71fa1bbb755d3ba14eea93394af88fa4a1092222
5
6     When revising a translation, copy the HEAD committish of the
7     version that you are working on.  For details, see the Contributors'
8     Guide, node Updating translation committishes..
9 @end ignore
10
11 @c \version "2.19.22"
12 @c Translators: Federico Bruni
13 @c Translation checkers:
14
15 @node Input e output
16 @chapter Input e output
17 @translationof General input and output
18
19 Questa sezione tratta le questioni generali relative all'input e
20 all'output di LilyPond, non specifiche di un certo tipo di notazione.
21
22 @menu
23 * Struttura dell'input::
24 * Titoli e intestazioni::
25 * Lavorare coi file di input::
26 * Controllo dell'output::
27 * Creazione dell'output MIDI::
28 * Estrazione dell'informazione musicale::
29 @end menu
30
31
32 @node Struttura dell'input
33 @section Struttura dell'input
34 @translationof Input structure
35
36 Il principale formato di input di LilyPond sono i file di testo.  Per
37 convenzione, questi file hanno estensione @file{.ly}.
38
39 @menu
40 * Struttura di una partitura::
41 * Molteplici partiture in un libro::
42 * Molteplici file di output da un unico file di input::
43 * Nomi dei file di output::
44 * Struttura del file::
45 @end menu
46
47
48 @node Struttura di una partitura
49 @subsection Struttura di una partitura
50 @translationof Structure of a score
51
52 @funindex \score
53
54 Un blocco @code{\score} deve contenere una singola espressione musicale
55 delimitata da parentesi graffe:
56
57 @example
58 \score @{
59   @dots{}
60 @}
61 @end example
62
63 @warning{Ci deve essere @strong{solo una} espressione musicale più
64 esterna in un blocco @code{\score} e @strong{deve} essere racchiusa
65 tra parentesi graffe.}
66
67 Questa espressione musicale singola può essere di qualsiasi dimensione
68 e contenere altre espressioni musicali di qualsiasi complessità. Tutti
69 gli esempi seguenti sono espressioni musicali:
70
71 @example
72 @{ c'4 c' c' c' @}
73 @end example
74
75 @lilypond[verbatim,quote]
76 {
77   { c'4 c' c' c' }
78   { d'4 d' d' d' }
79 }
80 @end lilypond
81
82 @lilypond[verbatim,quote]
83 <<
84   \new Staff { c'4 c' c' c' }
85   \new Staff { d'4 d' d' d' }
86 >>
87 @end lilypond
88
89 @example
90 @{
91   \new GrandStaff <<
92     \new StaffGroup <<
93       \new Staff @{ \flauto @}
94       \new Staff @{ \oboe @}
95     >>
96     \new StaffGroup <<
97       \new Staff @{ \violinoI @}
98       \new Staff @{ \violinoII @}
99     >>
100   >>
101 @}
102 @end example
103
104 I commenti sono un'eccezione a questa regola generale (altre eccezioni
105 sono spiegate in @ref{File structure}).  Sia i commenti su una singola
106 riga che quelli multiriga delimitati da @code{%@{ @dots{} %@}} possono
107 essere inseriti ovunque nel file di input: dentro o fuori un blocco
108 @code{\score} e dentro o fuori la singola espressione musicale di
109 un blocco @code{\score}.
110
111 È bene ricordare che anche se un file contiene soltanto un blocco
112 @code{\score}, questo è implicitamente racchiuso in un blocco
113 \book.  Un blocco \book in un file sorgente produce almeno un file
114 di output e il nome predefinito del file di output deriva dal nome
115 del file di input, quindi @file{fandangoperelefanti.ly} genererà
116 @file{fandangoperelefanti.pdf}.
117
118 Maggiori dettagli sui blocchi @code{\book} si trovano in
119 @ref{Multiple scores in a book},
120 @ref{Multiple output files from one input file} e @ref{File structure}.
121
122 @seealso
123 Manuale di apprendimento:
124 @rlearning{Lavorare sui file di input},
125 @rlearning{Espressioni musicali},
126 @rlearning{La partitura è una (singola) espressione musicale composta}.
127
128
129 @node Molteplici partiture in un libro
130 @subsection Molteplici partiture in un libro
131 @translationof Multiple scores in a book
132
133 @funindex \book
134 @cindex movimenti, molteplici
135
136 Un documento può contenere più brani di musica e testo, come, per
137 esempio, uno studio o una parte orchestrale con vari movimenti.
138 Ogni movimento si inserisce con un blocco @code{\score},
139
140 @example
141 \score @{
142   @var{@dots{}musica@dots{}}
143 @}
144 @end example
145
146 e il testo si inserisce con un blocco @code{\markup},
147
148 @example
149 \markup @{
150   @var{@dots{}testo@dots{}}
151 @}
152 @end example
153
154 @funindex \book
155
156 Tutti i movimenti e i testi che appaiono nello stesso file @file{.ly}
157 normalmente vengono elaborati in un singolo file di output.
158
159 @example
160 \score @{
161   @var{@dots{}}
162 @}
163 \markup @{
164   @var{@dots{}}
165 @}
166 \score @{
167   @var{@dots{}}
168 @}
169 @end example
170
171 Un'importante eccezione è costituita dai documenti da elaborare con
172 lilypond-book, dove occorre aggiungere esplicitamente un blocco
173 @code{\book}, altrimenti apparirà nell'output solo il primo blocco
174 @code{\score} o @code{\markup}.
175
176 L'intestazione di ogni brano musicale può essere inserita nel blocco
177 @code{\score}.  Il nome definito nel campo @code{piece} (brano)
178 dell'intestazione apparirà all'inizio di ogni movimento.  Il titolo
179 dell'intero libro può trovarsi all'interno del blocco @code{\book}
180 oppure, se questo non è presente, nel blocco @code{\header} all'inizio
181 del file.
182
183 @example
184 \header @{
185   title = "Otto miniature"
186   composer = "Igor Stravinsky"
187 @}
188 \score @{
189   @dots{}
190   \header @{ piece = "Romanza" @}
191 @}
192 \markup @{
193    @dots{}testo della seconda strofa@dots{}
194 @}
195 \markup @{
196    @dots{}testo della terza strofa@dots{}
197 @}
198 \score @{
199   @dots{}
200   \header @{ piece = "Minuetto" @}
201 @}
202 @end example
203
204 @funindex \bookpart
205
206 I brani musicali possono essere raggruppati in parti di libro tramite
207 i blocchi @code{\bookpart}.  Le parti di libro sono separate da
208 un'interruzione di pagina e possono iniziare con un titolo, come il
209 libro stesso, specificandolo in un blocco @code{\header}.
210
211 @example
212 \bookpart @{
213   \header @{
214     title = "Titolo del libro"
215     subtitle = "Prima parte"
216   @}
217   \score @{ @dots{} @}
218   @dots{}
219 @}
220 \bookpart @{
221   \header @{
222     subtitle = "Seconda parte"
223   @}
224   \score @{ @dots{} @}
225   @dots{}
226 @}
227 @end example
228
229 @node Molteplici file di output da un unico file di input
230 @subsection Molteplici file di output da un unico file di input
231 @translationof Multiple output files from one input file
232
233 Per generare molteplici file di output dallo stesso file @file{.ly},
234 basta aggiungere molteplici blocchi @code{\book}, ognuno dei
235 quali produrrà un file di output separato.
236 Se non è specificato alcun blocco @code{\book} nel file di
237 input, LilyPond tratterà implicitamente l'intero file come un
238 singolo blocco @code{\book}, come è spiegato in @ref{File structure}.
239
240 Nel generare molteplici file da un singolo file sorgente, LilyPond
241 controlla che nessuno dei file di output di alcun blocco
242 @code{\book} sovrascriva il file di output prodotto da un blocco
243 @code{\book} precedente dello stesso file di input.
244
245 Per farlo, aggiunge un suffisso al nome del file di output di ogni
246 blocco @code{\book}, derivato dal nome del file di input (se viene
247 lasciata l'impostazione predefinita).
248
249 Il comportamento predefinito consiste quindi nell'appendere un suffisso
250 numerico a ogni nome che potrebbe entrare in conflitto, quindi
251
252 @example
253 \book @{
254   \score @{ @dots{} @}
255   \paper @{ @dots{} @}
256 @}
257 \book @{
258   \score @{ @dots{} @}
259   \paper @{ @dots{} @}
260 @}
261 \book @{
262   \score @{ @dots{} @}
263   \paper @{ @dots{} @}
264 @}
265 @end example
266
267 nel file sorgente @file{ottominiature.ly}
268 genererà
269
270 @itemize
271 @item
272 @file{ottominiature.pdf},
273 @item
274 @file{ottominiature-1.pdf} e
275 @item
276 @file{ottominiature-2.pdf}.
277 @end itemize
278
279 @node Nomi dei file di output
280 @subsection Nomi dei file di output
281 @translationof Output file names
282
283 @funindex \bookOutputSuffix
284 @funindex \bookOutputName
285
286 LilyPond permette di decidere quali nomi di file debbano essere
287 usati dai vari backend quando questi generano i file di output.
288
289 Nella sezione precedente abbiamo visto come LilyPond prevenga i
290 conflitti di nome quando genera molti file di output da un singolo
291 file sorgente.  È possibile anche specificare un proprio suffisso
292 per ogni blocco @code{\book}.  Quindi si possono, per esempio,
293 generare file chiamati @file{ottominiature-Romanza.pdf}, @file{ottominiature-Minuetto.pdf}
294 e @file{ottominiature-Notturno.pdf} aggiungendo una dichiarazione
295 @code{\bookOutputSuffix} all'interno di ogni blocco @code{\book}.
296
297 @example
298 \book @{
299   \bookOutputSuffix "Romanza"
300   \score @{ @dots{} @}
301   \paper @{ @dots{} @}
302 @}
303 \book @{
304   \bookOutputSuffix "Minuetto"
305   \score @{ @dots{} @}
306   \paper @{ @dots{} @}
307 @}
308 \book @{
309   \bookOutputSuffix "Notturno"
310   \score @{ @dots{} @}
311   \paper @{ @dots{} @}
312 @}
313 @end example
314
315 È possibile anche specificare un diverso nome del file di output per
316 ciascun blocco @code{book}, tramite le dichiarazioni
317 @code{\bookOutputName}
318
319 @example
320 \book @{
321   \bookOutputName "Romanza"
322   \score @{ @dots{} @}
323   \paper @{ @dots{} @}
324 @}
325 \book @{
326   \bookOutputName "Minuetto"
327   \score @{ @dots{} @}
328   \paper @{ @dots{} @}
329 @}
330 \book @{
331   \bookOutputName "Notturno"
332   \score @{ @dots{} @}
333   \paper @{ @dots{} @}
334 @}
335 @end example
336
337 Questo file produrrà i seguenti file di output:
338
339 @itemize
340 @item
341 @file{Romanza.pdf},
342 @item
343 @file{Minuetto.pdf} e
344 @item
345 @file{Notturno.pdf}.
346 @end itemize
347
348
349 @node Struttura del file
350 @subsection Struttura del file
351 @translationof File structure
352
353 @funindex \paper
354 @funindex \midi
355 @funindex \layout
356 @funindex \header
357 @funindex \score
358 @funindex \book
359 @funindex \bookpart
360
361 Un file @file{.ly} può contenere un qualsiasi numero di espressioni di
362 livello superiore (in inglese, @emph{toplevel expressions}). Per espressione di
363 livello superiore si intende una delle seguenti:
364
365 @itemize
366 @item
367 Una definizione di output, come @code{\paper}, @code{\midi} e
368 @code{\layout}.  Tale definizione, se posta nel livello superiore, cambia
369 le impostazioni predefinite al livello del libro. Se più di una di
370 queste definizioni viene inserita nel livello superiore, le definizioni
371 vengono combinate, ma in caso di conflitto hanno precedenza le definizioni
372 più recenti. Per sapere con precisione come ciò influisca sul blocco
373 @code{\layout}, leggere
374 @ref{The layout block,,Il blocco @code{@bs{}layout}}.
375
376 @item
377 Un'espressione scheme diretta, come
378 @code{#(set-default-paper-size "a7" 'landscape)} o
379 @code{#(ly:set-option 'point-and-click #f)}.
380
381 @item
382 Un blocco @code{\header}.  Se all'inizio del file, imposta il blocco
383 dell'intestazione globale.  Questo è il blocco che contiene
384 le impostazioni predefinite dei campi dei titoli come compositore,
385 titolo, etc. per tutti i libri del file (vedi @ref{Titles explained}).
386
387 @item
388 Un blocco @code{\score}.  Questa partitura e altre eventuali partiture
389 di livello superiore saranno combinate insieme in un singolo blocco
390 @code{\book}.  Tale comportamento può essere modificato impostando la
391 variabile @code{toplevel-score-handler} nel livello superiore.  Il
392 gestore (in inglese @emph{handler}) predefinito è definito nel file
393 @file{../scm/lily-library.scm} e viene impostato nel file
394 @file{../ly/declarations-init.ly}.
395
396 @item
397 Un blocco @code{\book} combina logicamente molteplici movimenti
398 (ovvero molteplici blocchi @code{\score}) in un documento.  Se ci
399 sono vari blocchi @code{\score}, verrà creato un file di output per
400 ogni blocco @code{\book}, in cui saranno concatenati tutti i
401 movimenti corrispondenti.  Ha senso specificare esplicitamente
402 i blocchi @code{\book} in un file @file{.ly} solo se si desidera
403 creare vari file di output da un solo file di input.  Un'eccezione
404 è data dai documenti lilypond-book, dove bisogna aggiungere
405 esplicitamente un blocco @code{\book} se si vuole più di un singolo
406 blocco @code{\score} o @code{\markup} nello stesso esempio.  Tale
407 comportamento può essere modificato impostando la variabile
408 @code{toplevel-book-handler} nel livello superiore. Il gestore
409 predefinito è definito nel file di inizializzazione
410 @file{../scm/lily.scm}.
411
412 @item
413 Un blocco @code{\bookpart}.  Un libro può essere suddiviso in varie
414 parti, tramite blocchi @code{\bookpart}, per semplificare le
415 interruzioni di pagina o per usare impostazioni @code{\paper}
416 diverse nelle varie parti.
417
418 @item
419 Un'espressione musicale composta, come
420 @example
421 @{ c'4 d' e'2 @}
422 @end example
423
424 pone il brano in un blocco @code{\score} e lo formatta in un unico
425 libro insieme a tutti gli altri blocchi @code{\score} e espressioni
426 musicali di livello superiore. In altre parole, un file che contiene
427 soltanto l'espressione musicale precedente verrà trasformato in
428
429 @example
430 \book @{
431   \score @{
432     \new Staff @{
433       \new Voice @{
434         @{ c'4 d' e'2 @}
435       @}
436     @}
437     \layout @{ @}
438   @}
439   \paper @{ @}
440   \header @{ @}
441 @}
442 @end example
443
444 Tale comportamento può essere modificato impostando la variabile
445 @code{toplevel-music-handler} nel livello superiore.  Il gestore
446 predefinito è definito nel file di inizializzazione
447 @file{../scm/lily.scm}.
448
449 @item
450 Un testo, per esempio una strofa
451 @example
452 \markup @{
453    2.  La prima riga della seconda strofa.
454 @}
455 @end example
456
457 I testi possono trovarsi sopra, sotto o in mezzo alle partiture
458 o espressioni musicali, ovunque esse appaiano.
459
460 @cindex variabili
461
462 @item
463 Una variabile, come
464 @example
465 foo = @{ c4 d e d @}
466 @end example
467
468 può essere utilizzata in un punto successivo del file scrivendo
469 @code{\foo}.  Il nome di una variabile deve avere solo caratteri
470 alfabetici; nessun numero, trattino o trattino basso.
471
472 @end itemize
473
474 L'esempio seguente mostra tre elementi che possono essere inseriti
475 nel livello superiore
476
477 @example
478 \layout @{
479   % Non giustificare l'output
480   ragged-right = ##t
481 @}
482
483 \header @{
484    title = "Do-re-mi"
485 @}
486
487 @{ c'4 d' e2 @}
488 @end example
489
490
491 Ciascuna delle seguenti istruzioni lessicali può essere inserita
492 in qualsiasi punto di un file:
493
494 @itemize
495 @item @code{\version}
496 @item @code{\include}
497 @item @code{\sourcefilename}
498 @item @code{\sourcefileline}
499 @item
500 Un commento su riga singola, introdotto da un segno @code{%}.
501
502 @item
503 Un commento multiriga delimitato da @code{%@{ @dots{} %@}}.
504
505 @end itemize
506
507 @cindex spazio bianco
508
509 Lo spazio bianco tra gli elementi dell'input viene generalmente
510 ignorato e può essere liberamente omesso o aumentato per migliorare
511 la leggibilità.  Tuttavia esistono dei casi in cui lo spazio bianco
512 deve essere sempre usato per non incorrere in errori:
513
514 @itemize
515
516 @item Intorno ad ogni parentesi graffa di apertura e di chiusura.
517
518 @item Dopo ogni comando o variabile, ovvero qualsiasi elemento
519 che inizi con un segno@tie{}@code{\}.
520
521 @item Dopo ogni elemento che debba essere interpretato come
522 un'espressione Scheme, ovvero ogni elemento che inizi con un
523 segno@tie{}@code{#}.
524
525 @item Per separare tutti gli elementi di un'espressione Scheme.
526
527 @item Nella modalità @code{lyricmode} prima e dopo i comandi @code{\set}
528 e @code{\override}.
529
530 @end itemize
531
532 @seealso
533 Manuale di apprendimento:
534 @rlearning{Come funzionano i file di input di LilyPond}.
535
536 Guida alla notazione:
537 @ref{Titles explained},
538 @ref{The layout block,,Il blocco @code{@bs{}layout}}.
539
540
541 @node Titoli e intestazioni
542 @section Titoli e intestazioni
543 @translationof Titles and headers
544
545 @cindex titoli
546 @cindex intestazioni
547 @cindex piè di pagina
548
549 Quasi tutte le partiture musicali hanno il titolo e il nome del compositore e
550 alcuni brani comprendono molte altre informazioni.
551
552 @menu
553 * Creazione di titoli intestazioni e piè di pagina::
554 * Titoli intestazioni e piè di pagina personalizzati::
555 * Creazione di metadati per i file di output::
556 * Creazione di note a piè di pagina::
557 * Riferimento ai numeri di pagina::
558 * Indice::
559 @end menu
560
561
562 @node Creazione di titoli intestazioni e piè di pagina
563 @subsection Creazione di titoli intestazioni e piè di pagina
564 @translationof  Creating titles headers and footers
565
566 @menu
567 * Come funzionano i titoli::
568 * Formattazione predefinita dei titoli delle parti e dei brani::
569 * Formattazione predefinita delle intestazioni e dei piè di pagina::
570 @end menu
571
572
573 @node Come funzionano i titoli
574 @unnumberedsubsubsec Come funzionano i titoli
575 @translationof Titles explained
576
577 Ogni blocco @code{\book} in un singolo file di input produce un diverso
578 file di output, vedi @ref{File structure}.  In ciascun file di output
579 sono disponibili tre tipi di titolazioni: @emph{titoli del libro} all'inizio
580 di ogni libro (@emph{book}), @emph{titoli della parte} all'inizio di ciascuna
581 parte (@emph{bookpart}) e @emph{titoli del brano} all'inizio di ciascun
582 brano (@emph{score}).
583
584 I valori dei campi dei titoli come @code{title} (titolo) e @code{composer}
585 (compositore) sono definiti nei blocchi @code{\header} (la sintassi dei
586 blocchi @code{\header} e un elenco completo dei campi disponibili si
587 trovano in @ref{Default layout of bookpart and score titles}).  I titoli
588 del libro, delle parti e dei brani possono avere tutti gli stessi campi,
589 sebbene per impostazione predefinita i campi dei titoli del brano siano
590 limitati a @code{piece} e @code{opus}.
591
592 I blocchi @code{\header} possono essere inseriti in quattro diversi punti
593 formando una gerarchia discendente di blocchi @code{\header}:
594
595 @itemize
596
597 @item
598 All'inizio del file di input, prima di tutti i blocchi @code{\book},
599 @code{\bookpart} e @code{\score}.
600
601 @item
602 All'interno di un blocco @code{\book} ma fuori da tutti i blocchi
603 @code{\bookpart} e @code{\score} compresi in quel libro.
604
605 @item
606 All'interno di un blocco @code{\bookpart} ma fuori da tutti i blocchi
607 @code{\score} compresi in quella parte.
608
609 @item
610 Dopo l'espressione musicale in un blocco @code{\score}.
611
612 @end itemize
613
614 I valori dei campi vengono filtrati attraverso questa gerarchia, con i valori
615 più in alto nella gerarchia che persistono finché un valore più in basso nella
616 gerarchia non ha la precedenza. In sintesi:
617
618 @itemize
619
620 @item
621 Il titolo di un libro deriva dai campi impostati all'inizio del file di input,
622 modificati dai campi definiti nel blocco @code{\book}.  I valori
623 risultanti vengono usati per stampare il titolo di quel libro, purché ci sia
624 altro materiale che generi una pagina all'inizio del libro, prima della prima
625 parte.  Una singola interruzione di pagina (@code{\pageBreak}) è sufficiente.
626
627 @item
628 Il titolo di una parte deriva dai campi impostati all'inizio del file di input,
629 modificati dai campi definiti nel blocco @code{\book} e poi da quelli definiti
630 nel blocco @code{\bookpart}.  I valori risultanti vengono usati per stampare il
631 titolo di quella parte del libro.
632
633 @item
634 Il titolo di un brano deriva dai campi all'inizio del file di input,
635 modificati dai campi definiti nel blocco @code{\book} e poi da quelli
636 definiti nel blocco @code{\bookpart} e infine da quelli definiti
637 nel blocco @code{\score}.  I valori risultanti vengono usati per
638 stampare il titolo di quel brano. Nota bene: per impostazione
639 predefinita nei titoli del brano appaiono soltanto i campi @code{piece}
640 e @code{opus} a meno che la variabile @code{print-all-headers} di
641 @code{\paper} non sia impostata su @code{#t}.
642
643 @end itemize
644
645 @warning{Ricordarsi che quando si mette un blocco @bs{}@code{header} in
646 un blocco @bs{}@code{score}, l'espressione musicale deve precedere il
647 blocco @bs{}@code{header}.}
648
649 Non è necessario inserire blocchi @code{\header} in tutti e quattro
650 i luoghi: alcuni o perfino tutti possono essere omessi. Analogalmente,
651 in semplici file di input si possono omettere i blocchi @code{\book} e
652 @code{\bookpart}, lasciando che questi siano creati implicitamente.
653
654 Se il libro ha un solo brano, il blocco @code{\header} viene di
655 solito messo all'inizio del file, in modo che sia prodotto soltanto
656 il titolo della parte e lasciando disponibili tutti i campi di
657 titolazione.
658
659 Se il libro ha vari brani, è possibile usare diverse disposizioni dei
660 blocchi @code{\header}, corrispondenti ai diversi tipi di pubblicazione
661 musicale.  Per esempio, se la pubblicazione contiene vari brani dello
662 stesso compositore, la soluzione più adatta prevederebbe un blocco @code{\header}
663 all'inizio del file che specifichi il titolo del libro e il nome del compositore,
664 e dei blocchi @code{\header} in ciascun blocco @code{\score} che specifichino il
665 titolo del brano (@code{piece}) e dell'opera (@code{opus}), come in questo
666 esempio:
667
668 @lilypond[papersize=a5,quote,verbatim,noragged-right]
669 \header {
670   title = "SUITE I."
671   composer = "J. S. Bach."
672 }
673
674 \score {
675   \new Staff \relative {
676     \clef bass
677     \key g \major
678     \repeat unfold 2 { g,16( d' b') a b d, b' d, } |
679     \repeat unfold 2 { g,16( e' c') b c e, c' e, } |
680   }
681   \header {
682     piece = "Prélude."
683   }
684 }
685
686 \score {
687   \new Staff \relative {
688     \clef bass
689     \key g \major
690     \partial 16 b16 |
691     <g, d' b'~>4 b'16 a( g fis) g( d e fis) g( a b c) |
692     d16( b g fis) g( e d c) b(c d e) fis( g a b) |
693   }
694   \header {
695     piece = "Allemande."
696   }
697 }
698 @end lilypond
699
700 Sono possibili disposizioni più complesse.  Per esempio, i campi testuali
701 del blocco @code{\header} di un libro possono essere stampati nei titoli
702 di tutti i brani, magari sovrascrivendo alcuni campi e sopprimendone altri:
703
704 @lilypond[papersize=a5,quote,verbatim,noragged-right]
705 \book {
706   \paper {
707     print-all-headers = ##t
708   }
709   \header {
710     title = "DAS WOHLTEMPERIRTE CLAVIER"
711     subtitle = "TEIL I"
712     % Non mostrare il piè di pagina predefinito nell'ultima pagina di questo libro
713     tagline = ##f
714   }
715   \markup { \vspace #1 }
716   \score {
717     \new PianoStaff <<
718       \new Staff { s1 }
719       \new Staff { \clef "bass" s1 }
720     >>
721     \header {
722       title = "PRAELUDIUM I"
723       opus = "BWV 846"
724       % Non mostrare il sottotitolo in questo brano
725       subtitle = ##f
726     }
727   }
728   \score {
729     \new PianoStaff <<
730       \new Staff { s1 }
731       \new Staff { \clef "bass" s1 }
732     >>
733     \header {
734       title = "FUGA I"
735       subsubtitle = "A 4 VOCI"
736       opus = "BWV 846"
737       % Non mostrare il sottotitolo in questo brano
738       subtitle = ##f
739     }
740   }
741 }
742 @end lilypond
743
744 @seealso
745 Guida alla notazione:
746 @ref{File structure},
747 @ref{Default layout of bookpart and score titles},
748 @ref{Custom layout for titles}.
749
750
751 @node Formattazione predefinita dei titoli delle parti e dei brani
752 @unnumberedsubsubsec Formattazione predefinita dei titoli delle parti e dei brani
753 @translationof Default layout of bookpart and score titles
754
755 Questo esempio illustra visivamente tutte le variabili del
756 blocco @code{\header}:
757
758 @lilypond[papersize=a6landscape,quote,verbatim,noragged-right]
759 \book {
760   \header {
761       % I seguenti campi sono centrati
762     dedication = "Dedica"
763     title = "Titolo"
764     subtitle = "Sottotitolo"
765     subsubtitle = "Sottosottotitolo"
766       % I seguenti campi sono distribuiti uniformemente su una riga
767       % il campo "instrument" appare anche nelle pagine seguenti
768     instrument = \markup \with-color #green "Strumento"
769     poet = "Poeta"
770     composer = "Compositore"
771       % I campi seguenti sono posti agli estremi opposti della stessa riga
772     meter = "Tempo"
773     arranger = "Arrangiatore"
774       % I campi seguenti sono centrati in fondo
775     tagline = "Lo slogan va in fondo all'ultima pagina"
776     copyright = "Il copyright va in fondo alla prima pagina"
777   }
778   \score {
779     { s1 }
780     \header {
781         % I campi seguenti sono posti agli estremi opposti della stessa riga
782       piece = "Brano 1"
783       opus = "Opera 1"
784     }
785   }
786   \score {
787     { s1 }
788     \header {
789         % I campi seguenti sono posti agli estremi opposti della stessa riga
790       piece = "Brano 2 sulla stessa pagina"
791       opus = "Opera 2"
792     }
793   }
794   \pageBreak
795   \score {
796     { s1 }
797     \header {
798         % I campi seguenti sono posti agli estremi opposti della stessa riga
799       piece = "Brano 3 su una nuova pagina"
800       opus = "Opera 3"
801     }
802   }
803 }
804 @end lilypond
805
806 Notare che:
807
808 @itemize
809 @item
810 Il nome dello strumento sarà ripetuto su ogni pagina.
811
812 @item
813 Appaiono soltanto i campi @code{piece} e @code{opus} di un blocco @code{\score}
814 quando la variabile @code{print-all-headers} del foglio è impostata su
815 @code{##f} (valore predefinito).
816
817 @item
818 I campi testuali non specificati in un blocco @code{\header} sono sostituiti
819 con @code{\null} in modo da non sprecare spazio.
820
821 @item
822 Le impostazioni predefinite per @code{scoreTitleMarkup} posizionano i campi
823 @code{piece} e @code{opus} alle estremità opposte della stessa riga.
824
825 @end itemize
826
827 Per cambiare la formattazione predefinita leggere @ref{Custom layout for titles}.
828
829 @cindex breakbefore
830
831 Se un blocco @code{\book} inizia subito con un blocco @code{\bookpart},
832 non verrà stampato alcun titolo per il libro, dato che non esiste una
833 pagina in cui farlo apparire. Se il titolo del libro deve comunque
834 apparire, conviene inserire all'inizio  di @code{\book} del testo
835 inserito con @code{\markup} oppure un comando @code{\pageBreak}.
836
837 Usare la variabile @code{breakbefore} all'interno di un blocco @code{\header}
838 racchiuso in un blocco @code{\score} per far sì che i titoli del blocco
839 @code{\header} di più alto livello appaiano da soli nella prima pagina,
840 mentre la musica (definita nel blocco @code{\score}) inizia nella
841 pagina successiva.
842
843 @c ho tradotto i campi liberamente per maggiore chiarezza - fb
844 @lilypond[papersize=c7landscape,verbatim,noragged-right]
845 \book {
846   \header {
847     title = "Titolo del libro"
848     subtitle = "Sottotitolo del libro"
849     copyright = "Fine della prima pagina"
850   }
851   \score {
852     \repeat unfold 4 { e'' e'' e'' e'' }
853     \header {
854       piece = "Titolo del brano"
855       breakbefore = ##t
856     }
857   }
858 }
859 @end lilypond
860
861 @seealso
862 Manuale di apprendimento:
863 @rlearning{Come funzionano i file di input di LilyPond},
864
865 Guida alla notazione:
866 @ref{Custom layout for titles},
867 @ref{File structure}.
868
869 File installati:
870 @file{ly/titling-init.ly}.
871
872
873 @node Formattazione predefinita delle intestazioni e dei piè di pagina
874 @unnumberedsubsubsec Formattazione predefinita delle intestazioni e dei piè di pagina
875 @translationof Default layout of headers and footers
876
877 Le @emph{intestazioni} e i @emph{piè di pagina} sono linee di testo che appaiono
878 in cima e in fondo alle pagine, distinte dal testo principale di un libro.
879 Possono essere definite nelle seguenti variabili del blocco @code{\paper}:
880
881 @itemize
882 @item @code{oddHeaderMarkup}
883 @item @code{evenHeaderMarkup}
884 @item @code{oddFooterMarkup}
885 @item @code{evenFooterMarkup}
886 @end itemize
887
888 Queste variabili di markup possono soltanto accedere ai campi testuali definiti
889 nei blocchi @code{\header} del livello superiore (che vengono applicati a tutti
890 i brani del libro) e sono definiti in @file{ly/titling-init.ly}.  Impostazioni
891 predefinite:
892
893 @itemize
894
895 @item
896 i numeri di pagina sono collocati automaticamente in alto a sinistra (se la
897 pagina è pari) o in alto a destra (se la pagina è dispari), a partire dalla
898 seconda pagina.
899
900 @item
901 il campo @code{instrument} viene ripetuto al centro di ogni pagina, a
902 partire dalla seconda pagina.
903
904 @item
905 il testo del @code{copyright} è centrato in fondo alla prima pagina.
906
907 @item
908 lo @qq{slogan} (o firma) -- @code{tagline} -- è centrato in fondo
909 all'ultima pagina o sotto il campo del @code{copyright} se c'è
910 una sola pagina.
911
912 @end itemize
913
914 Il testo del piè di pagina predefinito per l'ultima pagina può essere
915 modificato aggiungendo il campo @code{tagline} al blocco @code{\header}
916 del livello superiore.
917
918 @lilypond[papersize=a8landscape,verbatim]
919 \book {
920   \header {
921     tagline = "... notazione musicale per tutti"
922   }
923   \score {
924     \relative {
925       c'4 d e f
926     }
927   }
928 }
929 @end lilypond
930
931 Per toglierlo, impostare @code{tagline} su @code{##f}.
932
933
934 @node Titoli intestazioni e piè di pagina personalizzati
935 @subsection Titoli intestazioni e piè di pagina personalizzati
936 @translationof Custom titles headers and footers
937
938 @menu
939 * Titoli personalizzati::
940 * Formattazione personalizzata dei titoli::
941 * Formattazione personalizzata di intestazioni e piè di pagina::
942 @end menu
943
944
945 @node Titoli personalizzati
946 @unnumberedsubsubsec Titoli personalizzati
947 @translationof Custom text formatting for titles
948
949 Si possono usare i normali comandi @code{\markup} per personalizzare qualsiasi
950 intestazione, piè di pagina e titolo di un blocco @code{\header}.
951
952 @lilypond[quote,verbatim,noragged-right]
953 \score {
954   { s1 }
955   \header {
956     piece = \markup { \fontsize #4 \bold "PRAELUDIUM I" }
957     opus = \markup { \italic "BWV 846" }
958   }
959 }
960 @end lilypond
961
962 @seealso
963 Guida alla notazione:
964 @ref{Formatting text}.
965
966
967 @node Formattazione personalizzata dei titoli
968 @unnumberedsubsubsec Formattazione personalizzata dei titoli
969 @translationof Custom layout for titles
970
971 @cindex bookTitleMarkup
972 @cindex scoreTitleMarkup
973 @funindex bookTitleMarkup
974 @funindex scoreTitleMarkup
975
976 I comandi @code{\markup} nel blocco @code{\header} sono utili solo per la
977 formattazione del testo, ma non consentono un controllo preciso sul
978 posizionamento dei titoli. Per personalizzare il posizionamento dei campi
979 testuali, cambiare una o entrambe le seguenti variabili @code{\paper}:
980
981 @itemize
982 @item @code{bookTitleMarkup}
983 @item @code{scoreTitleMarkup}
984 @end itemize
985
986 Il posizionamento dei titoli secondo i valori predefiniti di queste variabili
987 @code{\markup} è mostrato negli esempi in
988 @ref{Default layout of bookpart and score titles}.
989
990 Le impostazioni predefinite di @code{scoreTitleMarkup}, definite in
991 @file{ly/titling-init.ly}, sono:
992
993 @example
994 scoreTitleMarkup = \markup @{ \column @{
995   \on-the-fly \print-all-headers @{ \bookTitleMarkup \hspace #1 @}
996   \fill-line @{
997     \fromproperty #'header:piece
998     \fromproperty #'header:opus
999   @}
1000 @}
1001 @}
1002 @end example
1003
1004 Questo pone i campi testuali @code{piece} e @code{opus} alle estremità opposte
1005 della stessa riga:
1006
1007 @lilypond[quote,verbatim,noragged-right]
1008 \score {
1009   { s1 }
1010   \header {
1011     piece = "PRAELUDIUM I"
1012     opus = "BWV 846"
1013   }
1014 }
1015 @end lilypond
1016
1017 L'esempio seguente ridefinisce @code{scoreTitleMarkup} in modo che il campo
1018 testuale di @code{piece} sia centrato e in un tipo di carattere più grande e
1019 in grassetto.
1020
1021 @lilypond[papersize=a5,quote,verbatim,noragged-right]
1022 \book {
1023   \paper {
1024     indent = 0\mm
1025     scoreTitleMarkup = \markup {
1026       \fill-line {
1027         \null
1028         \fontsize #4 \bold \fromproperty #'header:piece
1029         \fromproperty #'header:opus
1030       }
1031     }
1032   }
1033   \header { tagline = ##f }
1034   \score {
1035     { s1 }
1036     \header {
1037       piece = "PRAELUDIUM I"
1038       opus = "BWV 846"
1039     }
1040   }
1041 }
1042 @end lilypond
1043
1044 I campi testuali che non sono normalmente attivi nei blocchi @code{\header}
1045 compresi in un blocco @code{\score} possono essere stampati nello spazio
1046 dedicato al titolo del brano aggiungendo @code{print-all-headers} nel
1047 blocco @code{\paper}.  Lo svantaggio di questo metodo è che i campi testuali
1048 intesi esclusivamente per lo spazio del titolo della parte devono essere
1049 manualmente soppressi in ogni blocco @code{\score}.  Vedi @ref{Titles explained}.
1050
1051 Per evitare ciò, è meglio mettere il campo testuale desiderato nella
1052 definizione di @code{scoreTitleMarkup}. Nell'esempio seguente il campo
1053 @code{composer} (solitamente associato a @code{bookTitleMarkup}) viene
1054 aggiunto a @code{scoreTitleMarkup}, facendo sì che ogni brano possa elencare
1055 un diverso compositore:
1056
1057 @lilypond[papersize=a5,quote,verbatim,noragged-right]
1058 \book {
1059   \paper {
1060     indent = 0\mm
1061     scoreTitleMarkup = \markup {
1062       \fill-line {
1063         \null
1064         \fontsize #4 \bold \fromproperty #'header:piece
1065         \fromproperty #'header:composer
1066       }
1067     }
1068   }
1069   \header { tagline = ##f }
1070   \score {
1071     { s1 }
1072     \header {
1073       piece = "MENUET"
1074       composer = "Christian Petzold"
1075     }
1076   }
1077   \score {
1078     { s1 }
1079     \header {
1080       piece = "RONDEAU"
1081       composer = "François Couperin"
1082     }
1083   }
1084 }
1085 @end lilypond
1086
1087 È anche possibile creare un campo testuale personalizzato e fare riferimento
1088 ad esso nella definizione di markup.
1089
1090 @lilypond[papersize=a5,quote,verbatim,noragged-right]
1091 \book {
1092   \paper {
1093     indent = 0\mm
1094     scoreTitleMarkup = \markup {
1095       \fill-line {
1096         \null
1097         \override #`(direction . ,UP) {
1098           \dir-column {
1099             \center-align \fontsize #-1 \bold
1100               \fromproperty #'header:mycustomtext %% Campo definito dall'utente
1101             \center-align \fontsize #4 \bold
1102               \fromproperty #'header:piece
1103           }
1104         }
1105         \fromproperty #'header:opus
1106       }
1107     }
1108   }
1109   \header { tagline = ##f }
1110   \score {
1111     { s1 }
1112     \header {
1113       piece = "FUGA I"
1114       mycustomtext = "A 4 VOCI" %% Campo definito dall'utente
1115       opus = "BWV 846"
1116     }
1117   }
1118 }
1119 @end lilypond
1120
1121 @seealso
1122 Guida alla notazione:
1123 @ref{Titles explained}.
1124
1125
1126 @node Formattazione personalizzata di intestazioni e piè di pagina
1127 @unnumberedsubsubsec Formattazione personalizzata di intestazioni e piè di pagina
1128 @translationof Custom layout for headers and footers
1129
1130 I comandi @code{\markup} nel blocco @code{\header} sono utili solo per la
1131 formattazione del testo, ma non consentono un controllo preciso sul
1132 posizionamento di intestazioni e piè di pagina. Per personalizzare il
1133 posizionamento dei campi testuali, usare una o entrambe le seguenti
1134 variabili @code{\paper}:
1135
1136 @itemize
1137 @item @code{oddHeaderMarkup}
1138 @item @code{evenHeaderMarkup}
1139 @item @code{oddFooterMarkup}
1140 @item @code{evenFooterMarkup}
1141 @end itemize
1142
1143 @cindex markup condizionale
1144 @cindex testo condizionale
1145 @cindex on-the-fly
1146 @funindex \on-the-fly
1147
1148 Il comando @code{\on-the-fly} -- usato all'interno di un blocco @code{\markup} --
1149 permette di aggiungere del testo a intestazioni e piè di pagina definiti nel
1150 blocco @code{\paper}, solo se certe condizioni sono soddisfatte, tramite la
1151 seguente sintassi:
1152
1153 @example
1154 variabile = \markup @{
1155   @dots{}
1156   \on-the-fly  \@var{procedura}  @var{testo}
1157   @dots{}
1158 @}
1159 @end example
1160
1161 La @var{procedura} viene chiamata ogni volta che viene elaborato il comando
1162 @code{\markup} nel quale essa si trova. La @var{procedura} verifica una
1163 precisa condizione e interpreta (ovvero stampa) l'argomento @var{testo} se
1164 e solo se la condizione è vera.
1165
1166 Sono disponibili varie procedure pronte per verificare varie condizioni:
1167
1168 @quotation
1169 @multitable {print-page-number-check-first-----} {should this page be printed-----}
1170
1171 @headitem  Nome della procedura           @tab  Condizione verificata
1172
1173 @item print-page-number-check-first @tab  stampare questa pagina?
1174 @item create-page-number-stencil    @tab  print-page-numbers è vero?
1175 @item print-all-headers             @tab  print-all-headers è vero?
1176 @item first-page                    @tab  prima pagina del libro?
1177 @item not-first-page                @tab  non la prima pagina del libro?
1178 @item (on-page nmbr)                @tab  numero pagina = nmbr?
1179 @item last-page                     @tab  ultima pagina del libero?
1180 @item part-first-page               @tab  prima pagina della parte?
1181 @item not-part-first-page           @tab  non la prima pagine della parte?
1182 @item part-last-page                @tab  ultima pagina della parte?
1183 @item not-single-page               @tab  pagine della parte > 1?
1184
1185 @end multitable
1186 @end quotation
1187
1188 L'esempio seguente centra i numeri di pagina in fondo a ogni pagina.
1189 Innanzitutto vengono annullate le impostazioni predefinite per
1190 @code{oddHeaderMarkup} e @code{evenHeaderMarkup} definendo ciascuno di
1191 essi come un markup @emph{null}. Poi @code{oddFooterMarkup} viene
1192 ridefinito col numero di pagina centrato. Infine a @code{evenFooterMarkup}
1193 viene assegnata la stessa formattazione di @code{\oddFooterMarkup}:
1194
1195 @lilypond[papersize=a8,quote,verbatim,noragged-right]
1196 \book {
1197   \paper {
1198     print-page-number = ##t
1199     print-first-page-number = ##t
1200     oddHeaderMarkup = \markup \null
1201     evenHeaderMarkup = \markup \null
1202     oddFooterMarkup = \markup {
1203       \fill-line {
1204         \on-the-fly \print-page-number-check-first
1205         \fromproperty #'page:page-number-string
1206       }
1207     }
1208     evenFooterMarkup = \oddFooterMarkup
1209   }
1210   \score {
1211     \new Staff { s1 \break s1 \break s1 }
1212   }
1213 }
1214 @end lilypond
1215
1216 Varie condizioni @code{\on-the-fly} possono essere combinate insieme come se
1217 si utilizzasse l'operatore logico @q{AND} e il testo apparirà solo se tutte
1218 le condizioni sono vere. Per esempio, queste due condizioni
1219
1220 @example
1221   \on-the-fly \first-page
1222   \on-the-fly \last-page
1223   @code{@{ \markup @dots{} \fromproperty #'header: @dots{} @}}
1224 @end example
1225
1226 verificano se l'output è una pagina singola.
1227
1228 @seealso
1229 Guida alla notazione:
1230 @ref{Titles explained},
1231 @ref{Default layout of bookpart and score titles}.
1232
1233 File installati:
1234 @file{../ly/titling-init.ly}.
1235
1236 @node Creazione di metadati per i file di output
1237 @subsection Creazione di metadati per i file di output
1238 @translationof Creating output file metadata
1239
1240 @cindex metadati PDF
1241 @cindex metadati MIDI
1242 @cindex MIDI, metadati
1243 @cindex PDF, metadati
1244
1245 Oltre ad apparire nell'output, le variabili di @code{\header} vengono
1246 usate anche per impostare i metadati per i file di output.  Per esempio,
1247 con i file PDF, questi metadati possono essere mostrati dai lettori PDF
1248 come @code{proprietà} del file PDF.  Per ciascun tipo di file di output,
1249 verranno considerate solo le definizioni @code{\header} dei blocchi
1250 specifici per quel tipo e dei blocchi che si trovano al livello superiore
1251 della gerarchia.  Dunque per i file PDF solo le definizioni @code{\header}
1252 del livello @code{\book} e del livello superiore vengono utilizzate per
1253 i metadati PDF del documento, mentre  per i file MIDI vengono usate le
1254 definizioni che si trovano in un livello inferiore o in un
1255 blocco @code{\score}.
1256
1257 Per esempio, impostando la proprietà @code{title} del blocco @code{header}
1258 su @q{Sinfonia I}, questo nome verrà usato come titolo del documento PDF e
1259 come nome della sequenza del file MIDI.
1260
1261 @example
1262   \header@{
1263     title = "Sinfonia I"
1264   @}
1265 @end example
1266
1267 Se si desidera impostare il titolo dell'output su un valore e la proprietà
1268 titolo del PDF su un valore diverso, si può usare @code{pdftitle}, nel
1269 modo seguente:
1270
1271 @example
1272   \header@{
1273     title = "Sinfonia I"
1274     pdftitle = "Sinfonia I di Beethoven"
1275   @}
1276 @end example
1277
1278 Le variabili @code{title}, @code{subject}, @code{keywords},
1279 @code{subtitle}, @code{composer}, @code{arranger}, @code{poet}, @code{author}
1280 e @code{copyright} impostano anche le proprietà del PDF e possono essere
1281 tutte prefissate con @q{pdf} per impostare una proprietà del PDF su un
1282 valore diverso da quello dell'output.
1283
1284 La proprietà PDF @code{Creator} è automaticamente impostata su @q{LilyPond} più
1285 la versione di LilyPond utilizzata, e @code{CreationDate} (data di creazione) e
1286 @code{ModDate} (data di modifica) sono entrambe impostate sulla data e ora
1287 correnti.  @code{ModDate} può essere sovrascritta impostando nel blocco
1288 @code{header} la variabile @code{moddate} (o @code{pdfmoddate}) su una
1289 valida data per il PDF.
1290
1291 La variabile @code{title} imposta anche il nome della sequenza dei file
1292 MIDI.  La variabile @code{midititle} serve a impostare il nome della
1293 sequenza in modo indipendente dal valore usato per l'output.
1294
1295
1296 @node Creazione di note a piè di pagina
1297 @subsection Creazione di note a piè di pagina
1298 @translationof Creating footnotes
1299
1300 @cindex note a piè di pagina
1301
1302 Le note a piè di pagina possono essere usate in situazioni diverse.  In tutti
1303 i casi, un @q{segno della nota a piè di pagina} viene inserito come riferimento
1304 vicino al testo o alla musica a cui si riferisce e il corrispondente
1305 @q{testo della nota a piè di pagina} appare in fondo alla stessa pagina.
1306
1307 Le note a piè di pagina si creano diversamente a seconda che siano applicate a
1308 espressioni musicali o a del testo separato e fuori dalle espressioni
1309 musicali.
1310
1311 @menu
1312 * Note a piè di pagina nelle espressioni musicali::
1313 * Note a piè di pagina nel testo separato::
1314 @end menu
1315
1316 @node Note a piè di pagina nelle espressioni musicali
1317 @unnumberedsubsubsec Note a piè di pagina nelle espressioni musicali
1318 @translationof Footnotes in music expressions
1319
1320 @cindex note a piè di pagina nelle espressioni musicali
1321 @funindex \footnote
1322
1323 @subsubsubheading Panoramica sulle note a piè di pagina attaccate alla musica
1324
1325 Le note a piè di pagina nelle espressioni musicali appartengono a
1326 due categorie:
1327
1328 @table @emph
1329 @item Note a piè di pagina basate su un evento
1330 sono collegate a un preciso evento.  Esempi di tali eventi sono
1331 note singole, articolazioni (come le indicazioni di diteggiatura, gli accenti,
1332 le dinamiche), e ciò che è successivo a un evento (come le legature di
1333 portamento e le travature manuali).  La forma generale per le note a piè di
1334 pagina basate su un evento è la seguente:
1335
1336 @example
1337 [@var{direzione}] \footnote [@var{segno}] @var{offset} @var{nota} @var{musica}
1338 @end example
1339
1340 @item Note a piè di pagina basate sul tempo
1341 sono collegate a un preciso momento temporale in un contesto musicale.  Alcuni
1342 comandi come @code{\time} e @code{\clef} non usano in realtà degli eventi
1343 per creare oggetti come le indicazioni di tempo e le chiavi.  E nemmeno un
1344 accordo crea un suo evento: il suo gambo o coda sono creati alla fine di
1345 un'unità di tempo (attraverso un evento di una delle note al suo interno).
1346 Non è definito esattamente quale dei molteplici eventi nota di un accordo
1347 sarà giudicato la causa ultima di un gambo o di una coda. Dunque per legare
1348 una nota a questi, sono preferibili le note a piè di pagina basate sul tempo.
1349
1350 Una nota a piè di pagina basata sul tempo permette a tali oggetti della
1351 formattazione di avere delle note senza che sia necessario riferirsi a
1352 un evento.  La forma generale per le note a piè di pagina basate sul
1353 tempo è la seguente:
1354
1355 @example
1356 \footnote [@var{segno}] @var{offset} @var{nota} [@var{Contesto}].@var{NomeGrob}
1357 @end example
1358
1359 @end table
1360
1361 Gli elementi di entrambe le forme sono:
1362
1363 @table @var
1364
1365 @item direzione
1366 se (e  solo se) @code{\footnote} viene applicato a un post-evento o a una
1367 articolazione, deve essere preceduto da un indicatore di direzione
1368 (@code{-, _, ^}) per poter collegare la @var{musica} (col segno della
1369 nota a piè di pagina) alla nota o pausa precedenti.
1370
1371 @item segno
1372 è del testo -- racchiuso tra virgolette o in un blocco @code{\markup} -- che
1373 specifica il segno della nota usata per contrassegnare sia il punto di
1374 riferimento che la nota stessa in fondo alla pagina. Può essere omesso
1375 (o sostituito con @code{\default}), nel qual caso sarà generato automaticamente
1376 un numero in sequenza. Tali sequenze numeriche ricominciano su ogni pagina
1377 contenente una nota.
1378
1379 @item offset
1380 è una coppia di numeri come @samp{#(2 . 1)} che specificano la distanza
1381 orizzontale e verticale (X e Y@tie{}offset), in unità di spazio rigo, dal
1382 bordo dell'oggetto in cui il segno deve essere posizionato. Valori positivi
1383 degli offset vengono presi dal bordo in alto a destra, valori negativi
1384 dal bordo in basso a sinistra e lo zero significa che il segno è centrato
1385 sul bordo.
1386
1387 @item Contesto
1388 è il contesto in cui è creato il grob a cui è collegata la nota.  Può essere
1389 omesso se il grob si trova in un contesto più basso, per esempio un
1390 contesto @code{Voice}.
1391
1392 @item NomeGrob
1393 indica un tipo di grob a cui assegnare la nota (come @samp{Flag}).  Se viene
1394 specificato, la nota a piè di pagina non è collegata a un'espressione musicale
1395 in particolare, bensì a tutti i grob di quel tipo che si trovano in quel
1396 momento del tempo musicale.
1397
1398 @item nota
1399 è il testo -- racchiuso tra virgolette o in un blocco @code{\markup} -- che
1400 contiene il testo da usare per la nota a piè di pagina.
1401
1402 @item musica
1403 è l'evento musicale o il post-evento o articolazione a cui viene collegata
1404 la nota.
1405
1406 @end table
1407
1408 @subsubsubheading Note a piè di pagina basate su un evento
1409
1410 @cindex note a piè di pagina basate su un evento
1411
1412 Una nota a piè di pagina può essere collegata a un oggetto della formattazione
1413 direttamente causato dall'evento corrispondente a @var{musica} con la sintassi:
1414
1415 @example
1416 \footnote [@var{segno}] @var{offset} @var{nota} @var{musica}
1417 @end example
1418
1419 @lilypond[quote,verbatim,papersize=a8landscape]
1420 \book {
1421   \header { tagline = ##f }
1422   \relative c'' {
1423     \footnote #'(-1 . 3) "Una nota" a4
1424     a4
1425     \footnote #'(2 . 2) "Una pausa" r4
1426     a4
1427   }
1428 }
1429 @end lilypond
1430
1431 Contrassegnare un @emph{intero} accordo con una nota a piè di pagina basata
1432 su un evento non è possibile: infatti un accordo, perfino uno che contenga
1433 una sola nota, non produce un vero evento specifico. Tuttavia possono essere
1434 contrassegnate singole note @emph{dentro} l'accordo:
1435
1436 @lilypond[quote,verbatim,papersize=a8landscape]
1437 \book {
1438   \header { tagline = ##f }
1439   \relative c'' {
1440     \footnote #'(2 . 3) "Non funziona" <a-3>2
1441     <\footnote #'(-2 . -3) "Funziona" a-3>4
1442     <a-3 \footnote #'(3 . 1/2) "Anche questo funziona" c-5>4
1443   }
1444 }
1445 @end lilypond
1446
1447 Se la nota deve essere attaccata a un post-evento o un'articolazione
1448 il comando @code{\footnote} @emph{deve} essere preceduto da un indicatore
1449 di direzione, @code{-, _, ^}, e seguito dal post-evento o dall'articolazione
1450 che si desidera commentare nell'argomento @var{musica}.  In questa forma
1451 @code{\footnote} può essere considerato semplicemente una copia del
1452 suo ultimo argomento con un segno di nota a piè di pagina collegato a
1453 esso.  La sintassi è:
1454
1455 @example
1456 @var{direzione} \footnote [@var{segno}] @var{offset} @var{nota} @var{musica}
1457 @end example
1458
1459 @lilypond[quote,verbatim,papersize=a8landscape]
1460 \book {
1461   \header { tagline = ##f }
1462   \relative {
1463     a'4_\footnote #'(0 . -1) "Una legatura di portamento forzata in giù" (
1464     b8^\footnote #'(1 . 0.5) "Una travatura manuale forzata in su" [
1465     b8 ]
1466     c4 )
1467     c-\footnote #'(1 . 1) "Tenuto" --
1468   }
1469 }
1470 @end lilypond
1471
1472 @subsubsubheading Note a piè di pagina basate sul tempo
1473
1474 @cindex note a piè di pagina basate sul tempo
1475
1476 Se l'oggetto della formattazione a cui attaccare la nota è @emph{indirettamente}
1477 causato da un evento -- come un @code{Accidental} (alterazione) o @code{Stem}
1478 (gambo) causati da un evento @code{NoteHead} (testa di nota), è necessario
1479 specificare il @var{NomeGrob} dell'oggetto di formattazione al posto di
1480 @var{musica} dopo il testo della nota:
1481
1482 @lilypond[quote,verbatim,papersize=a8landscape]
1483 \book {
1484   \header { tagline = ##f }
1485   \relative c'' {
1486     \footnote #'(-1 . -3) "Un bemolle" Accidental
1487     aes4 c
1488     \footnote #'(-1 . 0.5) "Un altro bemolle" Accidental
1489     ees
1490     \footnote #'(1 . -2) "Un gambo" Stem
1491     aes
1492   }
1493 }
1494 @end lilypond
1495
1496 Tuttavia nota che, quando si specifica un NomeGrob, una nota a piè di
1497 pagina sarà attaccata a tutti i grob di quel tipo che si trovano in
1498 quel momento musicale:
1499
1500 @lilypond[quote,verbatim,papersize=a8landscape]
1501 \book {
1502   \header { tagline = ##f }
1503   \relative c' {
1504     \footnote #'(-1 . 3) "Un bemolle" Accidental
1505     <ees ges bes>4
1506     \footnote #'(2 . 0.5) "Articolazione" Script
1507     c'->-.
1508   }
1509 }
1510 @end lilypond
1511
1512 È possibile assegnare a una nota di un accordo una singola nota a
1513 piè di pagina (basata su un evento). @samp{NoteHead} è l'unico grob
1514 causato direttamente dalla nota di un accordo, dunque una nota a piè
1515 di pagina basata su un evento è adatta @emph{soltanto} ad aggiungere
1516 una nota a piè di pagina al @samp{NoteHead} all'interno di un accordo.
1517 Tutti gli altri grob delle note di un accordo sono causati indirettamente.
1518 Il comando @code{\footnote} non ha una sintassi per specificare @emph{sia}
1519 un particolare tipo di grob @emph{sia} un particolare evento a cui collegare
1520 la nota. Tuttavia si può usare un comando @code{\footnote} basato sul tempo
1521 per specificare il tipo di grob e poi precedere tale comando con @code{\single}
1522 perché venga applicato soltanto all'evento che segue:
1523
1524 @lilypond[quote,verbatim,papersize=a8landscape]
1525 \book {
1526   \header { tagline = ##f }
1527   \relative c'' {
1528     < \footnote #'(1 . -2) "An A" a
1529       \single \footnote #'(-1 . -1) "Un diesis" Accidental
1530       cis
1531       \single \footnote #'(0.5 . 0.5) "Un bemolle" Accidental
1532       ees fis
1533     >2
1534   }
1535 }
1536 @end lilypond
1537
1538 @warning {Quando le note a piè di pagina sono collegate a diversi elementi
1539 musicali nello stesso momento musicale, come nell'esempio precedente, le note
1540 sono numerate dall'elemento più alto a quello più in basso come questi
1541 appaiono nell'output e non nell'ordine in cui sono inseriti nell'input.}
1542
1543 Gli oggetti della formattazione come le chiavi e i cambi di armatura di chiave
1544 sono causati principalmente da proprietà modificate piuttosto che da veri
1545 eventi. Per questo motivo le note su tali oggetti devono essere basate sul loro
1546 tempo musicale. Le note a piè di pagina basate sul tempo sono da preferire anche
1547 quando si vogliono contrassegnare elementi come i gambi e le travature in un
1548 @emph{accordo}: sebbene tali elementi dell'accordo siano nominalmente assegnati
1549 a @emph{un} evento all'interno dell'accordo, affidarsi a una scelta particolare
1550 sarebbe imprudente.
1551
1552 L'oggetto della formattazione in questione deve essere sempre specificato
1553 esplicitamente nelle note a piè di pagina basate sul tempo, e il contesto
1554 appropriato deve essere indicato se il grob viene creato in un contesto
1555 diverso da quello più basso.
1556
1557 @lilypond[quote,verbatim,papersize=a8landscape]
1558 \book {
1559   \header { tagline = ##f }
1560   \relative c'' {
1561     r1 |
1562     \footnote #'(-0.5 . -1) "Cambio di tempo" Staff.TimeSignature
1563     \time 3/4
1564     \footnote #'(1 . -1) "Gambo dell'accordo" Stem
1565     <c e g>4 q q
1566     \footnote #'(-0.5 . 1) "Stanghetta" Staff.BarLine
1567     q q
1568     \footnote #'(0.5 . -1) "Cambio di armatura" Staff.KeySignature
1569     \key c \minor
1570     q
1571   }
1572 }
1573 @end lilypond
1574
1575 Si possono usare segni personalizzati in alternativa a quelli numerici, e
1576 si può sopprimere la linea che collega l'oggetto commentato al segno:
1577
1578 @lilypond[quote,verbatim,papersize=a8landscape]
1579 \book {
1580   \header { tagline = ##f }
1581   \relative c' {
1582     \footnote "*" #'(0.5 . -2) \markup { \italic "* La prima nota" } a'4
1583     b8
1584     \footnote \markup { \super "$" } #'(0.5 . 1)
1585       \markup { \super "$" \italic " La seconda nota" } e
1586     c4
1587     \once \override Score.FootnoteItem.annotation-line = ##f
1588     b-\footnote \markup \tiny "+" #'(0.1 . 0.1)
1589       \markup { \super "+" \italic " Editoriale" } \p
1590   }
1591 }
1592 @end lilypond
1593
1594 Altri esempi di segni personalizzati si trovano in
1595 @ref{Footnotes in stand-alone text}.
1596
1597
1598 @node Note a piè di pagina nel testo separato
1599 @unnumberedsubsubsec Note a piè di pagina nel testo separato
1600 @translationof Footnotes in stand-alone text
1601
1602 @cindex note a piè di pagina nel testo separato
1603
1604 Vengono usate all'interno di blocchi @code{\markup} che si trovano
1605 fuori dalle espressioni musicali.  Non hanno una linea che le unisce al
1606 loro punto di riferimento: i loro segni seguono semplicemente il
1607 testo citato. I segni possono essere inseriti automaticamente, nel
1608 qual caso sono numerici; altrimenti è possibile inserire manualmente
1609 dei segni personalizzati.
1610
1611 Le note a piè di pagina su testo separato vengono create in modo diverso
1612 a seconda che si scelgano segni automatici oppure segni personalizzati.
1613
1614 @subsubsubheading Note a piè di pagina nel testo separato con segni automatici
1615
1616 La sintassi di una nota a piè di pagina nel testo separato con segni
1617 automatici è
1618
1619 @example
1620 \markup @{ @dots{} \auto-footnote @var{testo} @var{nota} @dots{} @}
1621 @end example
1622
1623 Gli elementi sono:
1624
1625 @table @var
1626
1627 @item testo
1628 è il testo -- racchiuso tra virgolette doppie o in un blocco markup -- da
1629 contrassegnare.
1630
1631 @item nota
1632 è il testo della nota a piè di pagina.
1633
1634 @end table
1635
1636 Per esempio:
1637
1638 @lilypond[verbatim,quote,ragged-right,papersize=a8]
1639 \book {
1640   \header { tagline = ##f }
1641   \markup {
1642     "Una semplice"
1643     \auto-footnote "canzone" \italic " Scritta da me"
1644     "è mostrata sotto.  È una composizione"
1645     \auto-footnote "recente" \italic " Agosto 2012"
1646     "."
1647   }
1648   \relative {
1649     a'4 b8 e c4 d
1650   }
1651 }
1652 @end lilypond
1653
1654 @subsubsubheading Note a piè di pagina nel testo separato con segni personalizzati
1655
1656 La sintassi di una nota a piè di pagina nel testo separato con segni
1657 personalizzati è
1658
1659 @example
1660 \markup @{ @dots{} \footnote @var{segno} @var{nota} @dots{} @}
1661 @end example
1662
1663 Gli elementi sono:
1664
1665 @table @var
1666
1667 @item segno
1668 è una stringa di testo o un markup che indicano il segno da usare per
1669 contrassegnare il punto di riferimento. Tale segno @emph{non} viene
1670 inserito automaticamente prima della nota stessa.
1671
1672 @item nota
1673 è una stringa di testo o un markup che indicano il testo della nota a
1674 piè di pagina, preceduto dal @var{segno}.
1675
1676 @end table
1677
1678 Qualsiasi carattere facile da scrivere, come * o +, può essere usato come+
1679 segno, come è spiegato in @ref{Footnotes in music expressions}.  Altrimenti,
1680 si possono usare gli alias ASCII (vedi @ref{ASCII aliases}):
1681
1682 @lilypond[verbatim,quote,ragged-right,papersize=a8]
1683 \book {
1684   \paper { #(include-special-characters) }
1685   \header { tagline = ##f }
1686   \markup {
1687     "Una semplice canzone"
1688     \footnote "*" \italic "* Scritta da me"
1689     "è mostrata sotto.  È una composizione recente"
1690     \footnote \super &dagger; \concat {
1691       \super &dagger; \italic " Agosto 2012"
1692     }
1693     "."
1694   }
1695   \relative {
1696     a'4 b8 e c4 d
1697   }
1698 }
1699 @end lilypond
1700
1701 È possibile usare anche i caratteri Unicode per indicare i segni
1702 (vedi @ref{Unicode}):
1703
1704 @lilypond[verbatim,quote,ragged-right,papersize=a8]
1705 \book {
1706   \header { tagline = ##f }
1707   \markup {
1708     "Una semplice canzone"
1709     \footnote \super \char##x00a7 \concat {
1710       \super \char##x00a7 \italic " Scritta da me"
1711     }
1712     "è mostrata sotto.  È una composizione recente"
1713     \footnote \super \char##x00b6 \concat {
1714       \super \char##x00b6 \italic " Agosto 2012"
1715     }
1716     "."
1717   }
1718   \relative {
1719     a'4 b8 e c4 d
1720   }
1721 }
1722 @end lilypond
1723
1724 @seealso
1725 Manuale di apprendimento:
1726 @rlearning{Oggetti e interfacce}.
1727
1728 Guida alla notazione:
1729 @ref{ASCII aliases},
1730 @ref{Balloon help},
1731 @ref{List of special characters},
1732 @ref{Text marks},
1733 @ref{Text scripts},
1734 @ref{Unicode}.
1735
1736 Guida al funzionamento interno:
1737 @rinternals{FootnoteEvent},
1738 @rinternals{FootnoteItem},
1739 @rinternals{FootnoteSpanner},
1740 @rinternals{Footnote_engraver}.
1741
1742 @knownissues
1743 Varie note a piè di pagina sulla stessa pagina possono essere messe
1744 soltanto una dopo l'altra; non è possibile disporle sulla stessa
1745 riga.
1746
1747 Le note a piè di pagina non possono essere collegate a @code{MultiMeasureRests},
1748 a travature automatiche o a testo vocale.
1749
1750 I segni delle note a piè di pagina potrebbero entrare in collisione con
1751 righi, oggetti @code{\markup}, altri segni e linee delle note a piè di
1752 pagina.
1753
1754
1755 @node Riferimento ai numeri di pagina
1756 @subsection Riferimento ai numeri di pagina
1757 @translationof Reference to page numbers
1758
1759 È possibile contrassegnare un punto specifico di una partitura usando il
1760 comando @code{\label} (etichetta) nel livello superiore o all'interno della
1761 musica.  Questa etichetta può quindi essere citata all'interno di un blocco
1762 markup, per ottenere il numero di pagina in cui è stato inserito il punto
1763 contrassegnato, tramite il comando markup @code{\page-ref}.
1764
1765 @lilypond[verbatim,papersize=a8landscape]
1766 \header { tagline = ##f }
1767 \book {
1768   \label #'primoBrano
1769   \score {
1770     {
1771       c'1
1772       \pageBreak \mark A \label #'segnoA
1773       c'1
1774     }
1775   }
1776   \markup { Il primo brano inizia a pagina \page-ref #'primoBrano "0" "?" }
1777   \markup { Il segno A è a pagina \page-ref #'segnoA "0" "?" }
1778 }
1779 @end lilypond
1780
1781 Il comando markup @code{\page-ref} prende tre argomenti:
1782 @enumerate
1783 @item l'etichetta -- un simbolo scheme -- per esempio @code{#'primoBrano};
1784 @item un testo markup da usare come misura di riferimento per stimare le
1785 dimensioni del testo;
1786 @item un testo markup che verrà usato al posto del numero di pagina se l'etichetta
1787 non viene trovata.
1788 @end enumerate
1789
1790 Il motivo per cui è necessario una misura di riferimento è che, nel momento in
1791 cui vengono interpretati i testi (markup), le interruzioni di pagina non sono
1792 state decise, quindi i numeri di pagina non sono ancora noti. Per aggirare il
1793 problema, la vera interpretazione del testo viene rimandata a un momento
1794 successivo; tuttavia le dimensioni del testo devono essere conosciute prima,
1795 ecco perché serve una misura di riferimento per decidere tali dimensioni. Se il
1796 libro ha un numero di pagine compreso tra 10 e 99, tale misura sarà "00", ovvero
1797 un numero di due cifre.
1798
1799
1800 @predefined
1801 @funindex \label
1802 @code{\label},
1803 @funindex \page-ref
1804 @code{\page-ref}.
1805 @endpredefined
1806
1807
1808 @node Indice
1809 @subsection Indice
1810 @translationof Table of contents
1811
1812 L'indice si include col comando @code{\markuplist \table-of-contents}.
1813 Gli elementi che devono apparire nell'indice si inseriscono col comando
1814 @code{\tocItem}, che può essere usato nel livello superiore o all'interno
1815 di un'espressione musicale.
1816
1817 @verbatim
1818 \markuplist \table-of-contents
1819 \pageBreak
1820
1821 \tocItem \markup "Primo brano"
1822 \score {
1823   {
1824     c'4  % ...
1825     \tocItem \markup "Un punto preciso nel primo brano"
1826     d'4  % ...
1827   }
1828 }
1829
1830 \tocItem \markup "Secondo brano"
1831 \score {
1832   {
1833     e'4 % ...
1834   }
1835 }
1836 @end verbatim
1837
1838 I testi markup usati per formattare l'indice sono definiti nel blocco
1839 @code{\paper}.  Ce ne sono due predefiniti:
1840
1841 @itemize
1842
1843 @item
1844 @code{tocTitleMarkup}
1845
1846 @noindent
1847 Usato per formattare il titolo dell'indice.
1848
1849 @verbatim
1850 tocTitleMarkup = \markup \huge \column {
1851   \fill-line { \null "Indice" \null }
1852   \null
1853 }
1854 @end verbatim
1855
1856 @item
1857 @code{tocItemMarkup}
1858
1859 @noindent
1860 Usato per formattare gli elementi dell'indice.
1861
1862 @verbatim
1863 tocItemMarkup = \markup \fill-line {
1864   \fromproperty #'toc:text \fromproperty #'toc:page
1865 }
1866 @end verbatim
1867
1868 @end itemize
1869
1870 @noindent
1871 Queste variabili possono essere entrambe modificate.
1872
1873 Ecco un esempio che mostra come cambiare il titolo dell'indice in francese:
1874
1875 @verbatim
1876 \paper {
1877   tocTitleMarkup = \markup \huge \column {
1878     \fill-line { \null "Table des matières" \null }
1879     \hspace #1
1880   }
1881 }
1882 @end verbatim
1883
1884 Ecco un esempio che mostra come cambiare il corpo dei caratteri nell'indice:
1885
1886 @verbatim
1887 \paper {
1888   tocItemMarkup = \markup \large \fill-line {
1889     \fromproperty #'toc:text \fromproperty #'toc:page
1890   }
1891 }
1892 @end verbatim
1893
1894 Nota il modo in cui sono citati il testo e il numero di pagina dell'elemento
1895 dell'indice nella definizione di @code{tocItemMarkup}.
1896
1897 Includendo il comando @code{\tocItemWithDotsMarkup} dentro @code{tocItemMarkup}
1898 lo spazio tra un elemento dell'indice e la sua pagina corrispondente sarà
1899 riempito con dei punti:
1900
1901 @lilypond[verbatim,line-width=10.0\cm]
1902 \header { tagline = ##f }
1903 \paper {
1904   tocItemMarkup = \tocItemWithDotsMarkup
1905 }
1906
1907 \book {
1908   \markuplist \table-of-contents
1909   \tocItem \markup { Allegro }
1910   \tocItem \markup { Largo }
1911   \markup \null
1912 }
1913 @end lilypond
1914
1915 Si possono anche definire comandi personalizzati con markup specifici per
1916 creare un indice più complesso.  Nell'esempio seguente, viene definito un
1917 nuovo stile per inserire i nomi degli atti nell'indice di un'opera.
1918
1919 @noindent
1920 Una nuova variabile di markup (chiamata @code{tocActMarkup}) viene definita
1921 nel blocco @code{\paper}:
1922
1923 @verbatim
1924 \paper {
1925   tocActMarkup = \markup \large \column {
1926     \hspace #1
1927     \fill-line { \null \italic \fromproperty #'toc:text \null }
1928     \hspace #1
1929   }
1930 }
1931 @end verbatim
1932
1933 @noindent
1934 Viene quindi aggiunta una funzione musicale personalizzata (@code{tocAct}),
1935 che usa la nuova definizione di markup @code{tocActMarkup}:
1936
1937 @verbatim
1938 tocAct =
1939 #(define-music-function (text) (markup?)
1940    (add-toc-item! 'tocActMarkup text))
1941 @end verbatim
1942
1943 @noindent
1944 Un file di input di LilyPond, che usi queste definizioni personalizzate,
1945 potrebbe avere il seguente output:
1946
1947 @lilypond[line-width=10.0\cm]
1948 \header { tagline = ##f }
1949 \paper {
1950   tocActMarkup = \markup \large \column {
1951     \hspace #1
1952     \fill-line { \null \italic \fromproperty #'toc:text \null }
1953     \hspace #1
1954   }
1955 }
1956
1957 tocAct =
1958 #(define-music-function (text) (markup?)
1959    (add-toc-item! 'tocActMarkup text))
1960
1961 \book {
1962   \markuplist \table-of-contents
1963   \tocAct \markup { Atto Primo }
1964   \tocItem \markup { Coro. Viva il nostro Alcide }
1965   \tocItem \markup { Cesare. Presti omai l'Egizia terra }
1966   \tocAct \markup { Atto Secondo }
1967   \tocItem \markup { Sinfonia }
1968   \tocItem \markup { Cleopatra. V'adoro, pupille, saette d'Amore }
1969   \markup \null
1970 }
1971 @end lilypond
1972
1973 Ecco un esempio del comando @code{\fill-with-pattern} usato nel contesto di
1974 un indice:
1975
1976 @verbatim
1977 \paper {
1978   tocItemMarkup = \markup { \fill-line {
1979     \override #'(line-width . 70)
1980     \fill-with-pattern #1.5 #CENTER . \fromproperty #'toc:text \fromproperty #'toc:page
1981     }
1982   }
1983 }
1984 @end verbatim
1985
1986 @seealso
1987 File installati:
1988 @file{ly/toc-init.ly}.
1989
1990 @predefined
1991 @funindex \table-of-contents
1992 @code{\table-of-contents},
1993 @funindex \tocItem
1994 @code{\tocItem}.
1995 @endpredefined
1996
1997
1998 @node Lavorare coi file di input
1999 @section Lavorare coi file di input
2000 @translationof Working with input files
2001
2002 @menu
2003 * Inclusione di file LilyPond::
2004 * Edizioni diverse da un unico sorgente::
2005 * Caratteri speciali::
2006 @end menu
2007
2008
2009 @node Inclusione di file LilyPond
2010 @subsection Inclusione di file LilyPond
2011 @translationof Including LilyPond files
2012
2013 @funindex \include
2014 @cindex inclusione di file
2015
2016 Se un progetto è grande e complesso, conviene suddividerlo in file separati.
2017 Per citare un altro file si usa
2018
2019 @example
2020 \include "altrofile.ly"
2021 @end example
2022
2023 La riga @code{\include "altrofile.ly"} equivale a incollare i contenuti
2024 di @file{altrofile.ly} nel file corrente nel punto in cui appare il
2025 comando @code{\include}.  Per esempio, in un progetto complesso si
2026 possono scrivere file separati per ogni parte strumentale e creare
2027 un file per l'@qq{intera partitura} che raccoglie i file dei singoli
2028 strumenti. Di norma il file incluso definisce una serie di variabili
2029 che poi diventano disponibili nel file della partitura completa. Le
2030 sezioni contrassegnate con delle etichette nei file inclusi possono
2031 essere usate in varie parti di una partitura, vedi
2032 @ref{Different editions from one source}.
2033
2034 I file nella directory di lavoro corrente possono essere citati indicando
2035 semplicemente il nome del file dopo il comando @code{\include}. I file in altre
2036 posizioni possono essere inclusi sia con un percorso assoluto che con un
2037 percorso relativo (ma come separatore delle directory occorre usare la barra, o
2038 slash, come in UNIX, piuttosto che la barra inversa, o backslash, come in
2039 DOS/Windows).  Per esempio, se @file{cose.ly} si trova una directory prima
2040 della directory di lavoro corrente, usare
2041
2042 @example
2043 \include "../cose.ly"
2044 @end example
2045
2046 @noindent
2047 oppure se le parti orchestrali incluse si trovano tutte in una
2048 sottodirectory chiamata @file{parti} all'interno della directory
2049 corrente, usare
2050
2051 @example
2052 \include "parti/VI.ly"
2053 \include "parti/VII.ly"
2054 @dots{} etc
2055 @end example
2056
2057 I file che devono essere inclusi possono contenere essi stessi delle
2058 dichiarazioni @code{\include}.  Per impostazione predefinita, queste
2059 dichiarazioni @code{\include} di secondo livello non sono interpretate
2060 finché non vengono portate nel file principale, dunque i nomi dei file
2061 che specificano devono essere tutti relativi alla directory del file
2062 principale, non alla directory del file incluso. Tuttavia tale comportamento
2063 può essere cambiato globalmente tramite l'opzione @option{-drelative-includes}
2064 da linea di comando (oppure agggiungendo @code{#(ly:set-option 'relative-includes #t)}
2065 in cima al file di input principale).
2066
2067 Quando @code{relative-includes} viene impostato su @code{#t}, il percorso di
2068 ogni comando @code{\include} sarà considerato relativo al file che contiene
2069 quel comando.  Questo comportamento è raccomandato e diventerà il comportamento
2070 predefinito in una versione futura di lilypond.
2071
2072 È possibile includere sia file relativi alla directory principale sia file
2073 relativi a qualche altra directory impostando @code{relative-includes} su
2074 @code{#t} o @code{#f} nei punti giusti dei file.  Per esempio, se è stata
2075 creata una libreria generale, libA, che usa altri file inclusi dal file
2076 di base di quella libreria, tali dichiarazioni @code{\include} dovranno
2077 essere precedute da @code{#(ly:set-option #relative-includes #t)} per poter
2078 essere interpretate correttamente quando riportate nel file @code{.ly}
2079 principale:
2080
2081 @example
2082 libA/
2083   libA.ly
2084   A1.ly
2085   A2.ly
2086   @dots{}
2087 @end example
2088
2089 @noindent
2090 quindi il file di base, @code{libA.ly}, conterrà
2091
2092 @example
2093 #(ly:set-option 'relative-includes #t)
2094 \include "A1.ly"
2095 \include "A2.ly"
2096 @dots{}
2097 % ritorna alle impostazioni predefinite
2098 #(ly:set-option 'relative-includes #f)
2099 @end example
2100
2101 Qualsiasi file @file{.ly} può quindi includere l'intera libreria
2102 semplicemente con
2103
2104 @example
2105 \include "~/libA/libA.ly"
2106 @end example
2107
2108 Si possono ideare strutture di file più complesse facendo dei cambi nei
2109 punti giusti.
2110
2111 È possibile includere dei file anche da una directory che si trova in un
2112 percorso di ricerca specificato come opzione quando si lancia LilyPond da
2113 linea di comando. I file inclusi possono allora essere specificati
2114 usando soltanto il loro nome. Per esempio, per compilare con questo metodo
2115 il file @file{principale.ly} che include i file di una sottodirectory
2116 chiamata @file{parti}, entrare nella directory di @file{principale.ly} e
2117 eseguire questo comando
2118
2119 @example
2120 lilypond --include=parti principale.ly
2121 @end example
2122
2123 e in principale.ly scrivere
2124
2125 @example
2126 \include "VI.ly"
2127 \include "VII.ly"
2128 @dots{} etc
2129 @end example
2130
2131 I file che devono essere inclusi in molte partiture possono essere
2132 salvati nella directory di installazione di LilyPond @file{../ly}.  La
2133 posizione di questa directory dipende dal tipo di installazione (vedi
2134 @rlearning{Altre fonti di informazione}).  Questi file possono quindi
2135 essere inclusi semplicemente nominandoli in una dichiarazione @code{\include}.
2136 Questo è il modo in cui sono inclusi i file che dipendono dalla lingua,
2137 come @file{english.ly}.
2138
2139 LilyPond include un certo numero di file quando si lancia il
2140 programma.  Queste inclusioni non sono evidenti all'utente, ma i
2141 file possono essere identificati eseguendo @code{lilypond --verbose} dalla
2142 linea di comando.  Così si vedrà un elenco di percorsi e file che LilyPond
2143 usa, insieme a tante altre informazioni.  I più importanti di questi file
2144 sono trattati in @rlearning{Altre fonti di informazione}.  Tali file possono
2145 essere modificati, ma le modifiche saranno perse quando si installa una
2146 nuova versione di LilyPond.
2147
2148 Alcuni semplici esempi d'uso di @code{\include} si trovano in
2149 @rlearning{Partiture e parti}.
2150
2151 @seealso
2152 Manuale di apprendimento:
2153 @rlearning{Altre fonti di informazione},
2154 @rlearning{Partiture e parti}.
2155
2156 @knownissues
2157 Se a un file incluso viene assegnato un nome identico a uno dei file di
2158 installazione di LilyPond, quest'ultimo ha la precedenza.
2159
2160
2161 @node Edizioni diverse da un unico sorgente
2162 @subsection Edizioni diverse da un unico sorgente
2163 @translationof Different editions from one source
2164
2165 Esistono vari metodi per generare versioni diverse di una partitura
2166 dalla stessa sorgente di musica. Le variabili sono forse le più
2167 utili per combinare lunghe sezioni musicali e/o note. Le etichette
2168 (@emph{tag}) sono più utili per selezionare una sezione da varie
2169 sezioni brevi alternative e possono essere usate anche per unire
2170 insieme dei brani in punti diversi.
2171
2172 Qualsiasi metodo venga usato, la separazione delle note dalla struttura
2173 della partitura permetterà di cambiare la struttura lasciando le note
2174 intatte.
2175
2176 @menu
2177 * Uso delle variabili::
2178 * Uso delle etichette::
2179 * Impostazioni globali::
2180 @end menu
2181
2182 @node Uso delle variabili
2183 @unnumberedsubsubsec Uso delle variabili
2184 @translationof Using variables
2185
2186 @cindex variabili, uso delle
2187
2188 Se le sezioni musicali sono definite in variabili, possono essere
2189 riutilizzate in varie parti della partitura, come è stato spiegato
2190 in @rlearning{Organizzare i brani con le variabili}.  Per esempio, una
2191 partitura vocale @notation{a cappella} spesso comprende, ai fini delle
2192 prove, una riduzione per pianoforte delle parti, identiche alla musica
2193 vocale, dunque la musica deve essere inserita una volta sola. La musica
2194 definita in due variabili può essere combinata in un rigo, come è
2195 spiegato in @ref{Automatic part combining}. Ecco un esempio:
2196
2197 @lilypond[verbatim,quote]
2198 sopranoMusic = \relative { a'4 b c b8( a) }
2199 altoMusic = \relative { e'4 e e f }
2200 tenorMusic = \relative { c'4 b e d8( c) }
2201 bassMusic = \relative { a4 gis a d, }
2202 allLyrics = \lyricmode { King of glo -- ry }
2203 <<
2204   \new Staff = "Soprano" \sopranoMusic
2205   \new Lyrics \allLyrics
2206   \new Staff = "Alto" \altoMusic
2207   \new Lyrics \allLyrics
2208   \new Staff = "Tenore" {
2209     \clef "treble_8"
2210     \tenorMusic
2211   }
2212   \new Lyrics \allLyrics
2213   \new Staff = "Basso" {
2214     \clef "bass"
2215     \bassMusic
2216   }
2217   \new Lyrics \allLyrics
2218   \new PianoStaff <<
2219     \new Staff = "Destra" {
2220       \partcombine
2221       \sopranoMusic
2222       \altoMusic
2223     }
2224     \new Staff = "Sinistra" {
2225       \clef "bass"
2226       \partcombine
2227       \tenorMusic
2228       \bassMusic
2229     }
2230   >>
2231 >>
2232 @end lilypond
2233
2234 Partiture separate che mostrino soltanto le parti vocali o soltanto
2235 quelle per pianoforte possono essere prodotte semplicemente cambiando
2236 le dichiarazioni della struttura, lasciando la notazione musicale
2237 intatta.
2238
2239 Nel caso di partiture lunghe, conviene mettere le definizioni delle
2240 variabili in file separati da includere, vedi
2241 @ref{Including LilyPond files}.
2242
2243 @node Uso delle etichette
2244 @unnumberedsubsubsec Uso delle etichette
2245 @translationof Using tags
2246
2247 @funindex \tag
2248 @funindex \keepWithTag
2249 @funindex \removeWithTag
2250 @cindex tag
2251 @cindex etichetta
2252 @cindex tenere la musica etichettata
2253 @cindex togliere la musica etichettata
2254
2255 Il comando @code{\tag #'@var{parteA}} contrassegna un'espressione
2256 musicale col nome @var{parteA}.
2257 Le espressioni contrassegnate in questo modo possono essere incluse o
2258 rimosse in base al loro nome successivamente, usando
2259 @code{\keepWithTag #'@var{nome}} oppure
2260 @code{\removeWithTag #'@var{nome}}.  Il risultato dell'applicazione di
2261 questi filtri alla musica etichettata è il seguente:
2262 @multitable @columnfractions .5 .5
2263 @headitem Filtro
2264   @tab Risultato
2265 @item
2266 Musica etichettata preceduta da @code{\keepWithTag #'@var{nome}} o
2267        @code{\keepWithTag #'(@var{nome1} @var{nome2}@dots{})}
2268 @tab Viene inclusa la musica non etichettata e quella etichettata con
2269      uno dei nomi specificati; la musica etichettata con un nome
2270      etichetta diverso viene esclusa.
2271 @item
2272 Musica etichettata preceduta da @code{\removeWithTag #'@var{nome}} o
2273        @code{\removeWithTag #'(@var{nome1} @var{nome2}@dots{})}
2274 @tab Viene inclusa la musica non etichettata e quella non etichettata con
2275      uno dei nomi specificati; la musica etichettata con uno dei nomi
2276      specificati viene esclusa.
2277 @item
2278 Musica etichettata non preceduta da @code{\keepWithTag} o
2279 @code{\removeWithTag}
2280 @tab Viene inclusa tutta la musica etichettata e non etichettata.
2281 @end multitable
2282
2283 Gli argomenti dei comandi @code{\tag}, @code{\keepWithTag} e
2284 @code{\removeWithTag} devono essere un simbolo o una lista di
2285 simboli (come @code{#'score} o @code{#'(violinoI violinoII}),
2286 seguiti da un'espressione musicale.  Se @emph{e solo se} i simboli
2287 sono identificatori LilyPond validi (solo caratteri alfabetici, nessun
2288 numero, trattino o trattino basso) che non possono essere confusi con
2289 le note, si può omettere il @code{#'} e, come scorciatoia, una lista di
2290 simboli può usare il punto come separatore: quindi
2291 @code{\tag #'(violinoI violinoII)} può essere riscritto come
2292 @code{\tag violinoI.violinoII}.  Lo stesso vale per
2293 @code{\keepWithTag} e @code{\removeWithTag}.
2294
2295 Nell'esempio seguente, vediamo due versioni di un brano musicale,
2296 una che mostra i trilli con la notazione abituale e l'altra con i
2297 i trilli espansi esplicitamente:
2298
2299 @lilypond[verbatim,quote]
2300 musica = \relative {
2301   g'8. c32 d
2302   \tag #'trilli { d8.\trill }
2303   \tag #'espandi { \repeat unfold 3 { e32 d } }
2304   c32 d
2305  }
2306
2307 \score {
2308   \keepWithTag #'trilli \musica
2309 }
2310 \score {
2311   \keepWithTag #'espandi \musica
2312 }
2313 @end lilypond
2314
2315 @noindent
2316 Altrimenti, talvolta è più facile escludere sezioni musicali:
2317
2318 @lilypond[verbatim,quote]
2319 musica = \relative {
2320   g'8. c32 d
2321   \tag #'trilli { d8.\trill }
2322   \tag #'espandi {\repeat unfold 3 { e32 d } }
2323   c32 d
2324  }
2325
2326 \score {
2327   \removeWithTag #'espandi
2328   \musica
2329 }
2330 \score {
2331   \removeWithTag #'trilli
2332   \musica
2333 }
2334 @end lilypond
2335
2336 Il filtro delle etichette può essere applicato a articolazioni, testo, etc.
2337 scrivendo
2338
2339 @example
2340 -\tag #'@var{tua-etichetta}
2341 @end example
2342
2343 prima di un'articolazione.  L'esempio seguente definisce una nota
2344 con un'indicazione di diteggiatura condizionale e una nota con un
2345 commento condizionale:
2346
2347 @example
2348 c1-\tag #'dito ^4
2349 c1-\tag #'attenzione ^"Fai attenzione!"
2350 @end example
2351
2352 Varie etichette possono essere associate a delle espressioni tramite molteplici
2353 @code{\tag}, o unendo molteplici etichette in una lista di simboli:
2354
2355 @lilypond[quote,verbatim]
2356 musica = \relative c'' {
2357   \tag #'a \tag #'entrambi { a4 a a a }
2358   \tag #'(b entrambi) { b4 b b b }
2359 }
2360 <<
2361 \keepWithTag #'a \musica
2362 \keepWithTag #'b \musica
2363 \keepWithTag #'entrambi \musica
2364 >>
2365 @end lilypond
2366
2367 Si possono applicare molteplici filtri @code{\removeWithTag} a una singola
2368 espressione musicale per togliere varie sezioni etichettate con nomi
2369 diversi. Altrimenti si può usare un solo @code{\removeWithTag} seguito da
2370 una lista di etichette.
2371
2372 @lilypond[verbatim,quote]
2373 musica = \relative c'' {
2374   \tag #'A { a4 a a a }
2375   \tag #'B { b4 b b b }
2376   \tag #'C { c4 c c c }
2377   \tag #'D { d4 d d d }
2378 }
2379 \new Voice {
2380   \removeWithTag #'B
2381   \removeWithTag #'C
2382   \musica
2383   \removeWithTag #'(B C)
2384   \musica
2385 }
2386 @end lilypond
2387
2388 Applicando due o più filtri @code{\keepWithTag} su una singola espressione
2389 musicale toglieranno @emph{tutte} le sezioni etichettate.  Il primo filtro
2390 toglie tutto tranne la sezione menzionata e qualsiasi filtro successivo toglie
2391 il resto.  Usando un singolo comando @code{\keepWithTag} con una lista di
2392 varie etichette vengono rimosse soltanto le sezioni etichettate non specificate
2393 in quella lista.
2394
2395 @lilypond[verbatim,quote]
2396 music = \relative c'' {
2397   \tag #'violinoI { a4 a a a }
2398   \tag #'violinoII { b4 b b b }
2399   \tag #'viola { c4 c c c }
2400   \tag #'cello { d4 d d d }
2401 }
2402
2403 \new Staff {
2404   \keepWithTag #'(violinI violinII)
2405   \music
2406 }
2407 @end lilypond
2408
2409 @noindent
2410 farà apparire le etichette @var{violinoI} e @var{violinoII} ma non
2411 @var{viola} o @var{cello}.
2412
2413 @cindex etichette, gruppi di
2414 @funindex \tagGroup
2415 Mentre @code{\keepWithTag} è comodo con @emph{un} gruppo di alternative, la
2416 rimozione di musica contrassegnata con etichette @emph{indipendenti} è
2417 problematico se si usano le etichette con diverse finalità.  In questo
2418 caso, è possibile dichiarare @q{gruppi} di etichette:
2419
2420 @example
2421 \tagGroup #'(violinoI violinoII viola cello)
2422 @end example
2423
2424 dichiara che queste etichette appartengono a un gruppo.
2425
2426 @example
2427 \keepWithTag #'violinoI @dots{}
2428 @end example
2429
2430 @noindent
2431 ora mostrerà soltanto la musica contrassegnata con le etichette presenti nel
2432 gruppo cui appartiene @code{violinoI} e verrà tolta la musica contrassegnata
2433 con una delle @emph{altre} etichette.
2434
2435 @lilypond[verbatim,quote]
2436 music = \relative {
2437   \tagGroup #'(violinoI violinoII viola cello)
2438   \tag #'violinoI { c''4^"violinI" c c c }
2439   \tag #'violinoII { a2 a }
2440   \tag #'viola { e8 e e2. }
2441   \tag #'cello { d'2 d4 d }
2442   R1^"non contrassegnato"
2443 }
2444
2445 \new Voice {
2446   \keepWithTag #'violinoI
2447   \music
2448 }
2449 @end lilypond
2450
2451 Quando si usa il comando @code{\keepWithTag}, sono visibili solo le etichette
2452 provenienti dai gruppi cui appartengono le etichette specificate dopo il comando.
2453
2454
2455 @funindex \pushToTag
2456 @funindex \appendToTag
2457 @cindex combinare musica contrassegnata con etichette
2458
2459 Talvolta si ha necessità di combinare insieme della musica in un punto preciso
2460 di un'espressione musicale esistente. @code{\pushToTag} e @code{\appendToTag}
2461 permettono di aggiungere materiale prima o dopo gli elementi di un costrutto
2462 musicale esistente.  Non tutti i costrutti musicali hanno elementi, ma nel caso
2463 di musica sequenziale e simultanea si può esserne sicuri:
2464
2465 @lilypond[verbatim,quote]
2466 music = { \tag #'qui { \tag #'qui <<c''>> } }
2467
2468 {
2469   \pushToTag #'qui c'
2470   \pushToTag #'qui e'
2471   \pushToTag #'qui g' \music
2472   \appendToTag #'qui c'
2473   \appendToTag #'qui e'
2474   \appendToTag #'qui g' \music
2475 }
2476 @end lilypond
2477
2478 Entrambi i comandi prendono tre argomenti: un'etichetta, il materiale da
2479 combinare ad ogni occorenza dell'etichetta e l'espressione contrassegnata.
2480
2481 @seealso
2482 Manuale di apprendimento:
2483 @rlearning{Organizzare i brani con le variabili}.
2484
2485 Guida alla notazione:
2486 @ref{Automatic part combining},
2487 @ref{Including LilyPond files}.
2488
2489 @knownissues
2490 Se si usa @code{\relative} prima di un'espressione musicale ottenuta
2491 filtrando la musica con @code{\keepWithTag} o @code{\removeWithTag},
2492 i rapporti di ottava potrebbero cambiare, perché verranno considerate
2493 solo le altezze rimaste nell'espressione filtrata. Per evitare questo
2494 rischio, usare @code{\relative} prima di @code{\keepWithTag} o
2495 @code{\removeWithTag}, in modo che @code{\relative} agisca su tutte
2496 le altezze prima del filtro.
2497
2498
2499 @node Impostazioni globali
2500 @unnumberedsubsubsec Impostazioni globali
2501 @translationof Using global settings
2502
2503 @cindex include-settings
2504
2505 È possibile includere impostazioni globali da un altro file:
2506
2507 @example
2508 lilypond -dinclude-settings=MIE_IMPOSTAZIONI.ly MIA_PARTITURA.ly
2509 @end example
2510
2511 Gruppi di impostazioni come dimensioni del foglio e tipo di carattere
2512 possono essere salvati in file separati. Ciò permette di ottenere diverse
2513 edizioni dalla stessa partitura o di applicare delle impostazioni
2514 tipiche a molte partiture, semplicemente indicando il relativo file
2515 delle impostazioni.
2516
2517 Questa tecnica è la stessa usata per i fogli di stile, trattati
2518 in @rlearning{Fogli di stile}.
2519
2520 @seealso
2521 Manuale di apprendimento:
2522 @rlearning{Organizzare i brani con le variabili},
2523 @rlearning{Fogli di stile}.
2524
2525 Guida alla notazione:
2526 @ref{Including LilyPond files}.
2527
2528
2529 @node Caratteri speciali
2530 @subsection Caratteri speciali
2531 @translationof Special characters
2532
2533 @cindex caratteri speciali
2534 @cindex caratteri non-ASCII
2535
2536 @menu
2537 * Codifica del testo::
2538 * Unicode::
2539 * Alias ASCII::
2540 @end menu
2541
2542
2543 @node Codifica del testo
2544 @unnumberedsubsubsec Codifica del testo
2545 @translationof Text encoding
2546
2547 @cindex UTF-8
2548
2549 LilyPond usa il repertorio di caratteri definito dall'Unicode Consortium
2550 e dalla ISO/IEC 10646.  Questo sistema di codifica definisce un nome
2551 e un numero univoci per gli insiemi di caratteri utilizzati in tutte
2552 le lingue moderne e anche in molte altre.  Unicode può essere implementato
2553 in varie codifiche diverse.  LilyPond usa la codifica UTF-8 (UTF sta
2554 per Unicode Transformation Format) che rappresenta tutti i comuni
2555 caratteri latini con un byte, e gli altri caratteri con un formato di
2556 lunghezza variabile fino a quattro byte.
2557
2558 L'aspetto grafico dei caratteri è determinato dai glifi definiti
2559 nei tipi di carattere disponibili - un tipo di carattere definisce
2560 la mappatura tra un sottoinsieme dei numeri Unicode e i glifi.
2561 LilyPond usa la libreria Pango per rappresentare e formattare i
2562 testi multilingua.
2563
2564 LilyPond non esegue alcuna conversione della codifica dell'input. Ciò
2565 significa che qualsiasi testo, sia esso un titolo, un testo vocale
2566 o un'istruzione musicale contenente caratteri non-ASCII, deve essere
2567 codificato in UTF-8.  Il modo più semplice per inserire tale testo è
2568 usare un editor che sappia riconoscere la codifica Unicode e salvare
2569 il file con la codifica UTF-8.  La maggior parte dei moderni editor
2570 supporta la codifica UTF-8, per esempio vim, Emacs, jEdit e Gedit.
2571 Tutti i sistemi MS Windows successivi a NT usano Unicode come codifica
2572 dei caratteri nativa, quindi perfino Notepad può modificare e salvare
2573 un file in formato UTF-8.  Un'alternativa più efficiente per
2574 Windows è BabelPad.
2575
2576 Se un file di input LilyPond contenente un caratter non-ASCII non viene
2577 salvato in formato UTF-8, apparirà il seguente messaggio di errore:
2578
2579 @example
2580 FT_Get_Glyph_Name () error: invalid argument
2581 @end example
2582
2583 Ecco un esempio che mostra del testo cirillico, ebraico e portoghese:
2584
2585 @c NOTE: No verbatim in the following example as the code does not
2586 @c display correctly in PDF Font settings for Cyrillic and Hebrew
2587
2588 @lilypond[quote]
2589 % I tipi di carattere Linux Libertine contengono i glifi cirillici e ebraici.
2590 \paper {
2591   #(define fonts
2592     (set-global-fonts
2593      #:roman "Linux Libertine O,serif"
2594      #:sans "Linux Biolinum O,sans-serif"
2595      #:typewriter "Linux Libertine Mono O,monospace"
2596    ))
2597 }
2598
2599 % Cyrillic
2600 bulgarian = \lyricmode {
2601   Жълтата дюля беше щастлива, че пухът, който цъфна, замръзна като гьон.
2602 }
2603
2604 % Hebrew
2605 hebrew = \lyricmode {
2606   זה כיף סתם לשמוע איך תנצח קרפד עץ טוב בגן.
2607 }
2608
2609 % Portoghese
2610 portuguese = \lyricmode {
2611   à vo -- cê uma can -- ção legal
2612 }
2613
2614 \relative {
2615   c'2 d e f g f e
2616 }
2617 \addlyrics { \bulgarian }
2618 \addlyrics { \hebrew }
2619 \addlyrics { \portuguese }
2620 @end lilypond
2621
2622
2623 @node Unicode
2624 @unnumberedsubsubsec Unicode
2625
2626 @cindex Unicode
2627
2628 Per inserire un singolo carattere per il quale è noto il codice Unicode ma
2629 che non è disponibile nell'editor in uso, usare @code{\char ##xhhhh} o
2630 @code{\char #dddd} dentro un blocco @code{\markup}, dove @code{hhhh} è il
2631 codice esadecimale del carattere richiesto e @code{dddd} è il valore
2632 decimale corrispondente. Gli zero iniziali possono essere omessi, ma di
2633 norma nella rappresentazione esadecimale si specificano tutti e quattro
2634 i caratteri. (Fare attenzione al fatto che la codifica UTF-8 del codice
2635 @emph{non} deve essere usata dopo @code{\char}, perché le codifiche UTF-8
2636 contengono bit extra che indicano il numero di ottetti.) Le tabelle dei
2637 codici Unicode e un indice dei nomi dei caratteri col proprio codice
2638 esadecimale sono disponibili sul sito dell'Unicode Consortium,
2639 @uref{http://www.unicode.org/}.
2640
2641 Per esempio, @code{\char ##x03BE} e @code{\char #958} corrispondono
2642 entambi al carattere Unicode U+03BE, che ha il nome Unicode
2643 @qq{Greek Small Letter Xi}.
2644
2645 Qualsiasi codice Unicode può essere inserito in questo modo e se tutti
2646 i caratteri speciali sono inseriti in questo formato non è necessario
2647 salvare il file di input in formato UTF-8.  Ovviamente, un tipo di
2648 carattere contenente tutti questi caratteri codificati deve essere
2649 installato e disponibile per LilyPond.
2650
2651 L'esempio seguente mostra valori esadecimali Unicode inseriti in
2652 quattro posti diversi: come numero di chiamata, come articolazione, nel
2653 testo vocale e come testo separato sotto il brano:
2654
2655 @lilypond[quote,verbatim]
2656 \score {
2657   \relative {
2658     c''1 \mark \markup { \char ##x03EE }
2659     c1_\markup { \tiny { \char ##x03B1 " a " \char ##x03C9 } }
2660   }
2661   \addlyrics { O \markup { \concat { Ph \char ##x0153 be! } } }
2662 }
2663 \markup { "Copyright 2008--2015" \char ##x00A9 }
2664 @end lilypond
2665
2666 @cindex copyright, segno
2667 @cindex diritto d'autore
2668
2669 Per inserire il segno del copyright nell'apposito campo usare:
2670
2671 @example
2672 \header @{
2673   copyright = \markup @{ \char ##x00A9 "2008" @}
2674 @}
2675 @end example
2676
2677
2678 @node Alias ASCII
2679 @unnumberedsubsubsec Alias ASCII
2680 @translationof ASCII aliases
2681
2682 È possibile includere una lista di alias ASCII per i caratteri speciali:
2683
2684 @lilypond[quote,verbatim]
2685 \paper {
2686   #(include-special-characters)
2687 }
2688
2689 \markup "&flqq; &ndash; &OE;uvre incomplète&hellip; &frqq;"
2690
2691 \score {
2692   \new Staff { \repeat unfold 9 a'4 }
2693   \addlyrics {
2694     Fun -- ziona an -- che nel~tes -- to: &ndash;_&OE;&hellip;
2695   }
2696 }
2697
2698 \markup \column {
2699   "La sostituzione può essere disabilitata:"
2700   "&ndash; &OE; &hellip;"
2701   \override #'(replacement-alist . ()) "&ndash; &OE; &hellip;"
2702 }
2703 @end lilypond
2704
2705 Si possono creare i propri alias, sia globalmente:
2706
2707 @lilypond[quote,verbatim]
2708 \paper {
2709   #(add-text-replacements!
2710     '(("100" . "hundred")
2711       ("dpi" . "dots per inch")))
2712 }
2713 \markup "A 100 dpi."
2714 @end lilypond
2715
2716 che localmente:
2717
2718 @lilypond[quote,verbatim]
2719 \markup \replace #'(("100" . "hundred")
2720                     ("dpi" . "dots per inch")) "A 100 dpi."
2721 @end lilypond
2722
2723 @seealso
2724 Guida alla notazione:
2725 @ref{List of special characters}.
2726
2727 File installati:
2728 @file{ly/text-replacements.ly}.
2729
2730
2731 @node Controllo dell'output
2732 @section Controllo dell'output
2733 @translationof Controlling output
2734
2735 @menu
2736 * Estrarre frammenti musicali::
2737 * Saltare la musica già corretta::
2738 * Formati di output alternativi::
2739 * Cambiare il tipo di carattere della notazione::
2740 @end menu
2741
2742 @funindex clip-regions
2743 @cindex frammenti musicali
2744
2745 @node Estrarre frammenti musicali
2746 @subsection Estrarre frammenti musicali
2747 @translationof Extracting fragments of music
2748
2749 È possibile creare output separati di uno o più frammenti di una
2750 partitura definendo i punti della musica da estrarre nel blocco
2751 @code{\layout} del file di input tramite la funzione @code{clip-regions},
2752 e poi eseguendo LilyPond con l'opzione @option{-dclip-systems};
2753
2754 @example
2755 \layout @{
2756   clip-regions
2757   = #(list
2758       (cons
2759        (make-rhythmic-location 5 1 2)
2760        (make-rhythmic-location 7 3 4)))
2761 @}
2762 @end example
2763
2764 @noindent
2765 Questo esempio estrarrà dal file di input un unico frammento che
2766 @emph{inizia} dopo una minima nella quinta misura (@code{5 1 2}) e
2767 @emph{termina} dopo la terza semiminima nella settima misura
2768 (@code{7 3 4}).
2769
2770 Si possono estrarre ulteriori frammenti aggiungendo altre coppie di
2771 @code{make-rhythmic-location} alla lista @code{clip-regions} del
2772 blocco @code{\layout}.
2773
2774 Ciascun frammento musicale verrà salvato in formato @code{EPS}, ma
2775 se necessario si possono creare anche altri formati come @code{PDF} o
2776 @code{PNG}. La musica estratta viene generata come se fosse letteralmente
2777 @q{tagliata} dalla partitura a stampa originale; ciò significa che se
2778 un frammento supera una o più linee, verrà creato un file di output
2779 separato per ciascuna linea.
2780
2781 @seealso
2782 Guida alla notazione:
2783 @ref{The layout block}.
2784
2785 Utilizzo:
2786 @rprogram{Uso da linea di comando}.
2787
2788
2789
2790 @node Saltare la musica già corretta
2791 @subsection Saltare la musica già corretta
2792 @translationof Skipping corrected music
2793
2794
2795 @funindex skipTypesetting
2796 @funindex showFirstLength
2797 @funindex showLastLength
2798
2799 Quando si inserisce o si copia della musica, di solito è utile visualizzare
2800 e correggere soltanto la musica vicina alla fine (ovvero dove si stanno
2801 inserendo le note). Per velocizzare il processo di correzione, è possibile
2802 far sì che il compositore tipografico salti tutte le misure eccetto le
2803 ultime. Per farlo basta inserire per esempio
2804
2805 @example
2806 showLastLength = R1*5
2807 \score @{ @dots{} @}
2808 @end example
2809
2810 @noindent
2811 nel file sorgente.  In questo modo verranno elaborate soltanto le ultime
2812 5 misure (assumendo che il tempo sia 4/4) di ogni blocco @code{\score}
2813 nel file di input. Per i brani più lunghi, elaborare solo una piccola
2814 parte è spesso molto più veloce di elaborarli completamente. Se si lavora
2815 sull'inizio di un brano già scritto (per esempio per aggiungere una nuova
2816 parte), si userà invece la proprietà @code{showFirstLength}.
2817
2818
2819 È possibile saltare parti di una partitura in un modo più preciso tramite
2820 la proprietà @code{Score.skipTypesetting}.  Quando è impostata su vero, la
2821 composizione tipografica è disattivata.
2822
2823 Questa proprietà viene usata anche per controllare l'output da inviare al
2824 file MIDI.  Attenzione: salta tutti gli eventi, inclusi i cambi di tempo e
2825 di strumento.
2826
2827 @lilypond[quote,ragged-right,verbatim]
2828 \relative c' {
2829   c1
2830   \set Score.skipTypesetting = ##t
2831   \tempo 4 = 80
2832   c4 c c c
2833   \set Score.skipTypesetting = ##f
2834   d4 d d d
2835 }
2836 @end lilypond
2837
2838 Nella musica polifonica, @code{Score.skipTypesetting} agisce su tutte le
2839 voci e su tutti i righi, facendo risparmiare tempo ulteriormente.
2840
2841 @node Formati di output alternativi
2842 @subsection Formati di output alternativi
2843 @translationof Alternative output formats
2844
2845 @cindex scalable vector graphics, output
2846 @cindex SVG, output
2847 @cindex encapsulated postscript, output
2848 @cindex EPS, output
2849
2850 I formati di output predefiniti per la partitura stampata sono Portable
2851 Document Format (PDF) e PostScript (PS).  È disponibile anche l'output
2852 nei formati Portable Network Graphics (PNG), Scalable Vector Graphics (SVG)
2853 e Encapsulated PostScript (EPS) attraverso l'opzione da linea di comando,
2854 vedi @rprogram{Opzioni di base della linea di comando per LilyPond}.
2855
2856
2857 @node Cambiare il tipo di carattere della notazione
2858 @subsection Cambiare il tipo di carattere della notazione
2859 @translationof Replacing the notation font
2860
2861 Gonville è un'alternativa al tipo di carattere Emmentaler usato da
2862 LilyPond e può essere scaricato da:
2863 @example
2864 @uref{http://www.chiark.greenend.org.uk/~sgtatham/gonville/ ,http://www.chiark.greenend.org.uk/~sgtatham/gonville/}
2865 @end example
2866
2867 Ecco alcune battute di musica che usa Gonville:
2868
2869 @sourceimage{Gonville_after,15cm,,}
2870
2871 E alcune battute di musica che usa Feta (il tipo di carattere predefinito di LilyPond):
2872
2873 @sourceimage{Gonville_before,15cm,,}
2874
2875 @subsubheading Instruzioni di installazione per MacOS
2876
2877 Scaricare e estrarre il file zip.  Copiare la directory @code{lilyfonts}
2878 in @file{@var{SHARE_DIR}/lilypond/current}; maggiori informazioni si
2879 trovano in @rlearning{Altre fonti di informazione}.  Rinominare la
2880 directory esistente @code{fonts} come @code{fonts_orig} e la directory
2881 @code{lilyfonts} come @code{fonts}.  Per tornare a Feta, fare il contrario.
2882
2883 @seealso
2884 Manuale di apprendimento:
2885 @rlearning{Altre fonti di informazione}.
2886
2887 @knownissues
2888 Gonville non può essere usato per scrivere notazione in @q{musica antica}
2889 ed è probabile che i nuovi glifi introdotti in rilasci successivi di
2890 LilyPond non esistano in Gonville.  Fare riferimento al sito web dell'autore
2891 per maggiori informazioni su queste e altre problematiche, inclusa la
2892 licenza di Gonville.
2893
2894
2895 @node Creazione dell'output MIDI
2896 @section Creazione dell'output MIDI
2897 @translationof Creating MIDI output
2898
2899 @cindex audio
2900 @cindex MIDI
2901
2902 LilyPond è in grado di produrre dei file conformi allo standard MIDI
2903 (Musical Instrument Digital Interface) e dunque permette di fare un
2904 controllo uditivo dell'output musicale (con l'aiuto di un'applicazione
2905 o un dispositivo che comprendano il MIDI).  L'ascolto dell'output MIDI
2906 può aiutare anche a individuare errori, come note inserite in modo
2907 erroneo o note senza alterazioni e così via.
2908
2909 I file MIDI non contengono audio (come i file AAC, MP3 o Vorbis), bensì
2910 richiedono un software esterno che produca il suono a partire da essi.
2911
2912 @menu
2913 * Notazione supportata nel MIDI::
2914 * Notazione non supportata nel MIDI::
2915 * Il blocco MIDI::
2916 * Gestione delle dinamiche nel MIDI::
2917 * Uso degli strumenti MIDI::
2918 * Uso delle ripetizioni nel MIDI::
2919 * Mappatura dei canali MIDI::
2920 * Proprietà di contesto per gli effetti MIDI::
2921 * Miglioramento dell'output MIDI::
2922 @end menu
2923
2924 @cindex MIDI, notazione supportata
2925
2926 @node Notazione supportata nel MIDI
2927 @subsection Notazione supportata nel MIDI
2928 @translationof Supported notation for MIDI
2929
2930 I seguenti elementi della notazione musicale saranno resi nell'output MIDI
2931 usando le capacità predefinite di LilyPond:
2932
2933 @itemize
2934 @item Respiri
2935 @item Accordi inseriti come nomi degli accordi
2936 @item Crescendi e decrescendi su varie note.  Il volume viene modificato
2937 in modo proporzionato fra i due estremi
2938 @item Segni di dinamica da @code{ppppp} a @code{fffff}, inclusi
2939 @code{mp}, @code{mf} e @code{sf}
2940 @item Microtoni ma @emph{non} gli accordi microtonali.  È necessario anche
2941 un lettore MIDI che supporti la @qq{piegatura} (@emph{bending}) delle altezze.
2942 @item Testo vocale
2943 @item Altezze
2944 @item Ritmi inseriti come durate, inclusi i gruppi irregolari
2945 @item Articolazioni @q{semplici}; staccato, staccatissimo, accento, marcato
2946 e portato
2947 @item Cambi di tempo tramite la funzione @code{\tempo}
2948 @item Legature di valore
2949 @item Tremoli che @emph{non} sono inseriti con un valore
2950 @q{@code{:}[@var{numero}]}
2951 @end itemize
2952
2953 Alcuni effetti, come panning, bilanciamento, espressione, riverbero e chorus, si
2954 gestiscono impostando le proprietà di contesto, vedi
2955 @ref{Context properties for MIDI effects}.
2956
2957 Se si usa lo script @file{articulate}, anche i seguenti elementi della
2958 notazione musicale saranno presenti nell'output MIDI:
2959
2960 @itemize
2961 @item Appoggiature.  Servono a rubare metà del valore della nota che le
2962 segue (senza considerare i punti). Per esempio:
2963
2964 @example
2965 \appoggiatura c8 d2.
2966 @end example
2967
2968 @noindent
2969 Il c avrà il valore di una semiminima.
2970
2971 @item Ornamenti (mordenti, trilli, gruppetti, etc.)
2972 @item Rallentando, accelerando, ritardando e a tempo
2973 @item Legature di portamento, incluse le legature di frase
2974 @item Tenuto
2975 @end itemize
2976
2977 @noindent
2978 Vedi @ref{Enhancing MIDI output}.
2979
2980 @cindex MIDI, notazione non supportata
2981
2982 @node Notazione non supportata nel MIDI
2983 @subsection Notazione non supportata nel MIDI
2984 @translationof Unsupported notation for MIDI
2985
2986 I seguenti elementi della notazione musicale non possono essere trasferiti
2987 nel file MIDI:
2988
2989 @itemize
2990 @item Articolazioni diverse da staccato, staccatissimo, accento, marcato
2991 e portato
2992 @item Crescendi e decrescendi su una @emph{singola} nota
2993 @item Corona
2994 @item Basso numerato (continuo)
2995 @item Glissandi
2996 @item Portamenti indeterminati verso il basso e verso l'alto
2997 @item Accordi microtonali
2998 @item Ritmi inseriti come note, per esempio lo swing
2999 @item Cambi di tempo senza usare @code{\tempo} (per esempio, inseriti come note)
3000 @item Tremoli che @emph{sono} inseriti con un valore @q{@code{:}[@var{numero}]}
3001 @end itemize
3002
3003
3004 @node Il blocco MIDI
3005 @subsection Il blocco MIDI
3006 @translationof The MIDI block
3007
3008 @cindex MIDI block
3009
3010 Per creare un file MIDI da un file di input LilyPond, inserire un blocco
3011 @code{\midi}, che può essere vuoto, all'interno di un blocco @code{\score};
3012
3013 @example
3014 \score @{
3015   @var{@dots{} musica @dots{}}
3016   \layout @{ @}
3017   \midi @{ @}
3018 @}
3019 @end example
3020
3021 @warning{ Un blocco @code{@bs{}score} che, oltre alla musica, contenga
3022 soltanto un blocco @code{@bs{}midi} (ovvero @emph{sia privo} del blocco
3023 @code{@bs{}layout}), produrrà come output soltanto file MIDI e nessun
3024 file visuale.}
3025
3026 L'estensione predefinita del file di output (@code{.midi}) può essere
3027 modificata tramite l'opzione @code{-dmidi-extension} del comando
3028 @code{lilypond}:
3029
3030 @example
3031 lilypond -dmidi-extension=mid MyFile.ly
3032 @end example
3033
3034 Altrimenti, aggiungere la seguente espressione Scheme prima dell'inizio
3035 dei blocchi @code{\book}, @code{\bookpart} o @code{\score}.  Vedi
3036 @ref{File structure}.
3037
3038 @example
3039 #(ly:set-option 'midi-extension "mid")
3040 @end example
3041
3042 @seealso
3043 Guida alla notazione:
3044 @ref{File structure},
3045 @ref{Creating output file metadata}.
3046
3047 File installati:
3048 @file{scm/midi.scm}.
3049
3050 @knownissues
3051 Sono disponibili quindici canali MIDI e un canale ulteriore (#10) per
3052 le percussioni.  I righi sono assegnati ai canali in sequenza: in una
3053 partitura di più di quindici righi, i righi extra condivideranno
3054 (senza sovrascriverlo) lo stesso canale MIDI. Ciò potrebbe essere un
3055 problema se i righi in questione sono impostati con proprietà MIDI in
3056 conflitto e basate sul canale, come ad esempio diversi strumenti MIDI.
3057
3058
3059 @node Gestione delle dinamiche nel MIDI
3060 @subsection Gestione delle dinamiche nel MIDI
3061 @translationof Controlling MIDI dynamics
3062
3063 È possile regolare il volume MIDI complessivo, il volume relativo dei
3064 segni di dinamica e il volume relativo dei diversi strumenti.
3065
3066 Le dinamiche vengono trasferite automaticamente sui livelli di volume nella
3067 gamma di volume MIDI disponibile, mentre crescendi e decrescendi variano
3068 il volume gradualmente tra i loro due estremi.  È possibile regolare il
3069 volume relativo delle dinamiche e i livelli del volume complessivo dei
3070 diversi strumenti.
3071
3072 @menu
3073 * Dinamiche nel MIDI::
3074 * Impostazione del volume MIDI::
3075 * Impostazione delle proprietà del blocco MIDI::
3076 @end menu
3077
3078 @cindex volume MIDI
3079 @cindex MIDI, volume
3080 @cindex equalizzazione MIDI
3081 @cindex MIDI, equalizzazione
3082 @cindex dinamiche nel MIDI
3083 @cindex MIDI, dinamiche
3084
3085 @node Dinamiche nel MIDI
3086 @unnumberedsubsubsec Dinamiche nel MIDI
3087 @translationof Dynamic marks in MIDI
3088
3089 Solo i segni di dinamica compresi tra @code{ppppp} e @code{fffff}, inclusi
3090 @code{mp}, @code{mf} e @code{sf} hanno dei valori assegnati.  Questo valore
3091 viene poi applicato al valore della gamma del volume MIDI complessivo per
3092 ottenere il volume finale incluso nell'output MIDI per quella particolare
3093 dinamica. Le frazioni predefinite vanno da 0.25 per @notation{ppppp} a
3094 0.95 per @notation{fffff}. L'insieme completo di dinamiche e delle loro
3095 frazioni associate si trova in @file{scm/midi.scm}.
3096
3097
3098 @snippets
3099 @lilypondfile[verbatim,quote,ragged-right,texidoc,doctitle]
3100 {creating-custom-dynamics-in-midi-output.ly}
3101
3102 File installati:
3103 @file{ly/script-init.ly}
3104 @file{scm/midi.scm}.
3105
3106 Frammenti:
3107 @rlsr{MIDI}.
3108
3109 Guida al funzionamento interno:
3110 @rinternals{Dynamic_performer}.
3111
3112
3113 @node Impostazione del volume MIDI
3114 @unnumberedsubsubsec Impostazione del volume MIDI
3115 @translationof Setting MIDI volume
3116
3117 I valori minimo e massimo del volume complessivo delle dinamiche MIDI sono
3118 regolati dalle proprietà @code{midiMinimumVolume} e @code{midiMaximumVolume} nel
3119 livello @code{Score}.  Tali proprietà hanno effetto soltanto all'inizio di
3120 una voce e sui segni di dinamica.  La frazione corrispondente a ciascun
3121 segno di dinamica viene modificata con la seguente formula:
3122
3123 @example
3124 midiMinimumVolume + (midiMaximumVolume - midiMinimumVolume) * frazione
3125 @end example
3126
3127 Nell'esempio seguente la gamma dinamica del volume MIDI complessivo
3128 è limitata alla gamma @code{0.2} - @code{0.5}.
3129
3130 @example
3131 \score @{
3132   <<
3133     \new Staff @{
3134       \set Staff.midiInstrument = #"flauto"
3135       @var{@dots{} musica @dots{}}
3136     @}
3137     \new Staff @{
3138       \set Staff.midiInstrument = #"clarinetto"
3139       @var{@dots{} musica @dots{}}
3140     @}
3141   >>
3142   \midi @{
3143     \context @{
3144       \Score
3145       midiMinimumVolume = #0.2
3146       midiMaximumVolume = #0.5
3147     @}
3148   @}
3149 @}
3150 @end example
3151
3152 Una semplice equalizzazione degli strumenti MIDI si può ottenere impostando
3153 le proprietà @code{midiMinimumVolume} e @code{midiMaximumVolume} nel
3154 contesto @code{Staff}.
3155
3156 @example
3157 \score @{
3158   \new Staff @{
3159     \set Staff.midiInstrument = #"flauto"
3160     \set Staff.midiMinimumVolume = #0.7
3161     \set Staff.midiMaximumVolume = #0.9
3162     @var{@dots{} musica @dots{}}
3163   @}
3164   \midi @{ @}
3165 @}
3166 @end example
3167
3168 In caso di partiture con molti righi e molti strumenti MIDI, i volumi relativi
3169 di ogni strumento possono essere impostati individualmente;
3170
3171 @example
3172 \score @{
3173   <<
3174     \new Staff @{
3175       \set Staff.midiInstrument = #"flauto"
3176       \set Staff.midiMinimumVolume = #0.7
3177       \set Staff.midiMaximumVolume = #0.9
3178       @var{@dots{} musica @dots{}}
3179     @}
3180     \new Staff @{
3181       \set Staff.midiInstrument = #"clarinetto"
3182       \set Staff.midiMinimumVolume = #0.3
3183       \set Staff.midiMaximumVolume = #0.6
3184       @var{@dots{} musica @dots{}}
3185     @}
3186   >>
3187   \midi @{ @}
3188 @}
3189 @end example
3190
3191 In questo esempio il volume del clarinetto è diminuito in modo proporzionale
3192 al volume del flauto.
3193
3194 Se queste proprietà del volume non sono impostate, LilyPond applica comunque
3195 @qq{un po'} di equalizzazione a certi strumenti.  Vedi @file{scm/midi.scm}.
3196
3197 File installati:
3198 @file{scm/midi.scm}.
3199
3200 @seealso
3201 Guida alla notazione:
3202 @ref{Score layout}.
3203
3204 Guida al funzionamento interno:
3205 @rinternals{Dynamic_performer}.
3206
3207 @snippets
3208 @lilypondfile[verbatim,quote,ragged-right,texidoc,doctitle]
3209 {replacing-default-midi-instrument-equalization.ly}
3210
3211 @knownissues
3212 Le modifiche al volume MIDI si verificano soltanto all'inizio di una nota, quindi
3213 i crescendi e i decrescendi non possono cambiare il volume di una singola nota.
3214
3215
3216 @node Impostazione delle proprietà del blocco MIDI
3217 @unnumberedsubsubsec Impostazione delle proprietà del blocco MIDI
3218 @translationof Setting MIDI block properties
3219
3220 Il blocco @code{\midi} può contenere modifiche del contesto, nuove definizioni
3221 del contesto o codice che imposti i valori di certe proprietà.
3222
3223 @example
3224 \score @{
3225   @var{@dots{} musica @dots{}}
3226   \midi @{
3227     \tempo 4 = 72
3228   @}
3229 @}
3230 @end example
3231
3232 In questo esempio il tempo è impostato su 72 battiti da un quarto per minuto.  Il
3233 segno di tempo nel blocco @code{\midi} non appare nella partitura, mentre qualsiasi
3234 altra indicazione di @code{\tempo} specificata nel blocco @code{\score} sarà
3235 trasferita anche nell'output MIDI.
3236
3237 Se all'interno di un blocco @code{\midi}, il comando @code{\tempo} imposta le
3238 proprietà durante l'interpretazione della musica e nel contesto delle
3239 definizioni di output; dunque viene interpretato @emph{come se} fosse
3240 una modifica di contesto.
3241
3242 @cindex MIDI, definizioni di contesto
3243 @cindex definizioni di contesto per il MIDI
3244
3245 Le definizioni di contesto seguono la stessa sintassi di quelle di un
3246 blocco @code{\layout};
3247
3248 @example
3249 \score @{
3250   @var{@dots{} musica @dots{}}
3251   \midi @{
3252     \context @{
3253       \Voice
3254       \remove "Dynamic_performer"
3255     @}
3256   @}
3257 @}
3258 @end example
3259
3260 Questo esempio toglie l'effetto delle dinamiche dall'output MIDI.  Nota bene:
3261 i moduli di traduzione di LilyPond usati per l'audio si chiamano @q{performer}.
3262
3263 @seealso
3264 Manuale di apprendimento:
3265 @rlearning{Altre fonti di informazione}.
3266
3267 Guida alla notazione:
3268 @ref{Expressive marks},
3269 @ref{Score layout}.
3270
3271 File installati:
3272 @file{ly/performer-init.ly}.
3273
3274 Frammenti:
3275 @rlsr{MIDI}.
3276
3277 Guida al funzionamento interno:
3278 @rinternals{Dynamic_performer}.
3279
3280 @knownissues
3281 Alcuni lettori MIDI non sempre gestiscono correttamente i cambi di tempo.
3282
3283 I cambi di @code{midiInstrument}, e di altre opzioni MIDI, all'@emph{inizio}
3284 di un rigo potrebbero apparire due volte nell'output MIDI.
3285
3286
3287
3288 @node Uso degli strumenti MIDI
3289 @subsection Uso degli strumenti MIDI
3290 @translationof Using MIDI instruments
3291
3292 Gli strumenti MIDI si impostano tramite la proprietà @code{midiInstrument} del
3293 contesto @code{Staff}.
3294
3295 @example
3296 \score @{
3297   \new Staff @{
3298     \set Staff.midiInstrument = #"glockenspiel"
3299     @var{@dots{} musica @dots{}}
3300   @}
3301   \midi @{ @}
3302 @}
3303 @end example
3304
3305 o
3306
3307 @example
3308 \score @{
3309   \new Staff \with @{midiInstrument = #"cello"@} @{
3310     @var{@dots{} musica @dots{}}
3311   @}
3312   \midi @{ @}
3313 @}
3314 @end example
3315
3316 Se il nome dello strumento non corrisponde a nessuno degli strumenti elencati
3317 nella sezione @q{Strumenti MIDI}, verrà usato lo strumento @code{acoustic grand}.
3318 Vedi @ref{MIDI instruments}.
3319
3320 @seealso
3321 Manuale di apprendimento:
3322 @rlearning{Altre fonti di informazione}.
3323
3324 Guida alla notazione:
3325 @ref{MIDI instruments},
3326 @ref{Score layout}.
3327
3328 File installati:
3329 @file{scm/midi.scm}.
3330
3331 @knownissues
3332 Gli strumenti percussivi che sono scritti in un contesto @code{DrumStaff}
3333 verranno inviati, correttamente, al canale MIDI@tie{}10, ma alcuni strumenti
3334 percussivi con un tono musicale, come xilofono, marimba, vibrafono o
3335 timpano, sono trattati come strumenti @qq{normali}, quindi la musica di
3336 tali strumenti deve essere inserita in un contesto @code{Staff} (non
3337 @code{DrumStaff}) per ottenere l'output MIDI corretto.  L'elenco completo
3338 delle voci del set di percussioni del canale 10 @code{channel 10 drum-kits} si
3339 trova in @file{scm/midi.scm}.  Vedi @rlearning{Altre fonti di informazione}.
3340
3341
3342 @node Uso delle ripetizioni nel MIDI
3343 @subsection Uso delle ripetizioni nel MIDI
3344 @translationof Using repeats with MIDI
3345
3346 @cindex repeats in MIDI
3347 @cindex MIDI using repeats
3348 @funindex \unfoldRepeats
3349
3350 Le ripetizioni possono essere applicate all'output MIDI tramite il
3351 comando @code{\unfoldRepeats}.
3352
3353 @example
3354 \score @{
3355   \unfoldRepeats @{
3356     \repeat tremolo 8 @{ c'32 e' @}
3357     \repeat percent 2 @{ c''8 d'' @}
3358     \repeat volta 2 @{ c'4 d' e' f' @}
3359     \alternative @{
3360       @{ g' a' a' g' @}
3361       @{ f' e' d' c' @}
3362     @}
3363   @}
3364   \midi @{ @}
3365 @}
3366 @end example
3367
3368 Per limitare l'effetto di @code{\unfoldRepeats} all'output MIDI
3369 soltanto, senza modificare la partitura stampata, occorre creare
3370 @emph{due} blocchi @code{\score}; uno per il MIDI (con ripetizioni
3371 ricopiate) e uno per la partitura scritta (con ripetizioni con volta,
3372 tremolo e percentuale):
3373
3374 @example
3375 \score @{
3376   @var{@dots{} musica @dots{}}
3377   \layout @{ @}
3378 @}
3379 \score @{
3380   \unfoldRepeats @{
3381     @var{@dots{} musica @dots{}}
3382   @}
3383   \midi @{ @}
3384 @}
3385 @end example
3386
3387 Quando si usa più di una voce, ciascuna voce deve avere tutte le ripetizioni
3388 ricopiate per generare un output MIDI corretto.
3389
3390 @seealso
3391 Guida alla notazione:
3392 @ref{Repeats}.
3393
3394
3395 @node Mappatura dei canali MIDI
3396 @subsection Mappatura dei canali MIDI
3397 @translationof MIDI channel mapping
3398
3399 @cindex MIDI, canali
3400 @cindex MIDI, tracce
3401 @cindex canali MIDI
3402 @cindex tracce MIDI
3403 @funindex midiChannelMapping
3404
3405 Quando genera un file MIDI da una partitura, LilyPond assegna automaticamente
3406 ogni nota a un canale MIDI, in cui essa dovrà essere suonata quando inviata
3407 a un dispositivo MIDI. Un canale MIDI mette a disposizione un certo numero di
3408 controlli per selezionare, per esempio, lo strumento da usare per riprodurre
3409 le note in quel canale o per chiedere al dispositivo MIDI di applicare vari effetti
3410 al suono prodotto nel canale. In ogni momento, ogni controllo di un canale
3411 MIDI può avere un solo valore assegnato (che tuttavia può essere modificato,
3412 per esempio, per passare a un altro strumento nel mezzo di un brano).
3413
3414 Lo standard MIDI supporta soltanto 16 canali per dispositivo MIDI.  Questo
3415 limite al numero di canali limita anche il numero dei diversi strumenti che
3416 possono essere eseguiti in contemporanea.
3417
3418 LilyPond crea tracce MIDI separate per ogni rigo (o strumento o voce separati,
3419 a seconda del valore di @code{Score.midiChannelMapping}) e anche per ogni
3420 contesto lyrics.
3421 Non c'è limite al numero di tracce.
3422
3423 Per aggirare il limite del numero di canali MIDI, LilyPond supporta
3424 varie modalità per l'assegnazione dei canali MIDI, scelti attraverso
3425 la proprietà di contesto @code{Score.midiChannelMapping}.  In ogni caso,
3426 se è necessario un numero di canali MIDI superiore al limite, i numeri canale
3427 assegnati ripartono da 0, causando possibili assegnazioni erronee degli
3428 strumenti di alcune note. Questa proprietà di contesto può essere impostata
3429 su uno dei seguenti valori:
3430
3431 @table @var
3432
3433 @item @code{'staff}
3434
3435 Assegna un canale MIDI separato a ogni rigo della partitura (comportamento
3436 predefinito).  Tutte le note in tutte le voci di ogni rigo condivideranno
3437 lo stesso canale MIDI del rigo che le racchiude, e si trovano tutte nella
3438 stessa traccia MIDI.
3439
3440 Il limite dei 16 canali è applicato al numero totale dei contesti staff (rigo)
3441 e lyrics (testo vocale), anche se il testo vocale nel MIDI non occupa un
3442 canale MIDI.
3443
3444 @item @code{'instrument}
3445
3446 Assegna un canale MIDI separato a ogni strumento MIDI diverso
3447 specificato nella partitura.  Ciò significa che tutte le note suonate
3448 con lo stesso strumento MIDI condivideranno lo stesso canale (e traccia)
3449 MIDI, anche se le note appartengono a voci o righi diversi.
3450
3451 In questo caso i contesti del testo vocale (lyrics) non contano nel calcolo
3452 del limite dei 16 canali MIDI (perché non saranno assegnati a uno strumento
3453 MIDI), dunque questa impostazione consente una migliore assegnazione dei
3454 canali MIDI quando il numero di righi e contesti lyrics in una partitura è
3455 superiore a 16.
3456
3457 @item @code{'voice}
3458
3459 Assegna un canale MIDI separato a ogni voce che abbia un nome unico tra
3460 le voci del rigo che le racchiude.  Alle voci in righi diversi vengono
3461 sempre assegnati canali MIDI separati, ma due voci di uno stesso rigo
3462 condivideranno lo stesso canale MIDI se hanno lo stesso nome.
3463 @code{midiInstrument} e i vari controlli MIDI per gli effetti, essendo
3464 proprietà del contesto del rigo (staff), non possono essere impostati
3465 separatamente per ogni voce. La prima voce verrà suonata con lo strumento
3466 e gli effetti specificati per il rigo, mentre alle voci con un nome diverso
3467 da quello della prima saranno assegnati lo strumento e gli effetti predefiniti.
3468
3469 Nota bene: è possibile assegnare diversi strumenti e/o effetti a varie
3470 voci dello stesso rigo spostando @code{Staff_performer} dal contesto
3471 @code{Staff} al contesto @code{Voice} e lasciando @code{midiChannelMapping}
3472 sul valore predefinito @code{'staff} oppure impostandolo su @code{'instrument};
3473 vedi il frammento in basso.
3474
3475 @end table
3476
3477 Per esempio, la mappatura predefinita dei canali MIDI di una partitura può
3478 essere modificata per usare l'impostazione @code{'instrument}:
3479
3480 @example
3481 \score @{
3482   ...musica...
3483   \midi @{
3484     \context @{
3485       \Score
3486       midiChannelMapping = #'instrument
3487     @}
3488   @}
3489 @}
3490 @end example
3491
3492 @snippets
3493 @lilypondfile[verbatim,quote,ragged-right,texidoc,doctitle]
3494 {changing-midi-output-to-one-channel-per-voice.ly}
3495
3496
3497 @node Proprietà di contesto per gli effetti MIDI
3498 @subsection Proprietà di contesto per gli effetti MIDI
3499 @translationof Context properties for MIDI effects
3500
3501 @cindex effetti nel MIDI
3502 @cindex panning nel MIDI
3503 @cindex stereo, bilanciamento nel MIDI
3504 @cindex bilanciamento nel MIDI
3505 @cindex espressione nel MIDI
3506 @cindex riverbero nel MIDI
3507 @cindex livello del chorus nel MIDI
3508 @funindex midiPanPosition
3509 @funindex midiBalance
3510 @funindex midiExpression
3511 @funindex midiReverbLevel
3512 @funindex midiChorusLevel
3513
3514 Le seguenti proprietà di contesto possono essere usate per applicare
3515 vari effetti MIDI alle note suonate sul canale MIDI associato col
3516 rigo, strumento MIDI o voce correnti (a seconda del valore della
3517 proprietà di contesto @code{Score.midiChannelMapping} e del contesto
3518 in cui si trova @code{Staff_performer}; vedi @ref{MIDI channel mapping}).
3519
3520 La modifica di queste proprietà di contesto avrà effetto su tutte le
3521 note suonate sul canale dopo il cambio, tuttavia alcuni effetti potrebbero
3522 essere applicati anche a note che stanno già suonando (a seconda di come
3523 è stato implementato il dispositivo MIDI).
3524
3525 Sono supportate le seguenti proprietà di contesto:
3526
3527 @table @var
3528
3529 @item @code{Staff.midiPanPosition}
3530
3531 La posizione del panning regola il modo in cui il suono in un canale MIDI
3532 è distribuito tra gli altoparlanti stereo di sinistra e di destra. Questa
3533 proprietà di contesto accetta un numero compreso tra -1.0 (@code{#LEFT}) e
3534 1.0 (@code{#RIGHT}); il valore -1.0 sposterà tutto il suono sull'altoparlante
3535 sinistro (rendendo muto quello destro), il valore 0.0 (@code{#CENTER})
3536 distribuirà il suono in modo uniforme tra gli altoparlanti sinistro e
3537 destro, e il valore 1.0 sposterà tutto il suono sull'altoparlante destro.
3538 I valori intermedi tra -1.0 e 1.0 permettono di ottenere distribuzioni
3539 miste tra gli altoparlanti sinistro e destro.
3540
3541 @item @code{Staff.midiBalance}
3542
3543 Il bilanciamento stereo di un canale MIDI.  In modo simile al panning, questa
3544 proprietà di contesto accetta un numero compreso tra -1.0 (@code{#LEFT}) e
3545 1.0 (@code{#RIGHT}).  Varia il volume relativo inviato ai due altoparlanti
3546 stereo senza alterare la distribuzione dei segnali stereo.
3547
3548 @item @code{Staff.midiExpression}
3549
3550 Livello dell'espressione (come frazione del livello massimo disponibile) da
3551 applicare a un canale MIDI.  Un dispositivo MIDI combina insieme il livello
3552 di espressione del canale MIDI con l'attuale livello di dinamica di una
3553 voce (stabilito dai comandi @code{\p} o @code{\ff}) per ottenere il volume
3554 totale di ogni nota nella voce.  Il controllo dell'espressione può essere
3555 usato, per esempio, per implementare effetti di crescendo o decrescendo
3556 su singole note sostenute (non supportato automaticamente da LilyPond).
3557
3558 @c Issue 4059 contains an attached snippet which shows how this might
3559 @c be done, but this is too large and complex for the NR, even as a
3560 @c referenced snippet.  It could be added to the LSR.
3561
3562 La gamma del livello di espressione va da 0.0 (nessuna espressione, ovvero
3563 volume zero) a 1.0 (piena espressione).
3564
3565 @item @code{Staff.midiReverbLevel}
3566
3567 Livello di riverbero (come frazione del livello massimo disponibile) da
3568 applicare a un canale MIDI.  Questa proprietà accetta numeri compresi tra
3569 0.0 (nessun riverbero) e 1.0 (pieno effetto).
3570
3571 @item @code{Staff.midiChorusLevel}
3572
3573 Livello del chorus (come frazione del livello massimo disponibile) da
3574 applicare a un canale MIDI.  Questa proprietà accetta numeri compresi
3575 tra 0.0 (nessun effetto chorus) e 1.0 (pieno effetto).
3576
3577 @end table
3578
3579
3580 @knownissues
3581
3582 Dato che i file MIDI non contengono veri dati audio, le modifiche in
3583 queste proprietà di contesto si traducono soltanto in richieste di
3584 modifica dei controlli del canale MIDI nei file MIDI generati.
3585 Se un particolare dispositivo MIDI (come un lettore MIDI) sia in
3586 grado di gestire queste richieste dipende interamente dall'implementazione
3587 del dispositivo: un dispositivo potrebbe scegliere di ignorare alcune o
3588 tutte le richieste. Dipende dall'implementazione del dispositivo MIDI
3589 anche il modo in cui un dispositivo MIDI interpreta valori diversi di
3590 questi controlli (generalmente lo standard MIDI corregge il comportamento
3591 solo alle estremità della gamma di valori disponibile per ogni controllo) e
3592 se un cambiamento nel valore di un controllo avrà effetto anche su note che
3593 stanno già suonando su quel canale MIDI.
3594
3595 Quando genera file MIDI, LilyPond trasformerà semplicemente le frazioni
3596 comprese in ciascuna gamma in valori di una gamma di numeri interi
3597 corrispondenti (0-127 per i 7-bit, 0-32767 per i 14 bit per i controlli
3598 del canale MIDI che supportano una migliore risoluzione), arrotondando
3599 i valori delle frazioni sul numero intero più vicino.
3600 I valori interi convertiti sono salvati così come sono nel file MIDI
3601 generato.  Consultare la documentazione del proprio dispositivo MIDI
3602 per sapere come il dispositivo interpreta questi valori.
3603
3604
3605 @node Miglioramento dell'output MIDI
3606 @subsection Miglioramento dell'output MIDI
3607 @translationof Enhancing MIDI output
3608
3609 @menu
3610 * Lo script articulate::
3611 @end menu
3612
3613 L'output MIDI predefinito fornisce le fuzionalità basilari, ma può essere
3614 migliorato impostando gli strumenti MIDI, le proprietà del blocco
3615 @code{\midi} e/o usando lo script @file{articulate}.
3616
3617 @cindex nomi degli strumenti
3618 @cindex strumenti, nomi
3619 @cindex MIDI, strumenti
3620 @cindex articulate script
3621 @cindex articulate.ly
3622 @funindex Staff.midiInstrument
3623
3624
3625 @node Lo script articulate
3626 @unnumberedsubsubsec Lo script @file{articulate}
3627 @translationof The articulate script
3628
3629 Per usare lo script @file{articulate} aggiungere il relativo comando
3630 @code{\include} all'inizio del file di input:
3631
3632 @example
3633 \include "articulate.ly"
3634 @end example
3635
3636 Lo script crea file MIDI in cui la durata delle note è correttamente
3637 @qq{ridimensionata} per rappresentare molte articolazioni e indicazioni
3638 di tempo. Tuttavia anche l'output grafico verrà modificato per
3639 corrispondere esattamente all'output MIDI.
3640
3641 @example
3642 \score @{
3643   \articulate <<
3644     @var{@dots{} musica @dots{}}
3645   >>
3646   \midi @{ @}
3647 @}
3648 @end example
3649
3650 Il comando @code{\articulate} permette di elaborare le abbreviazioni (come
3651 i trilli e i gruppetti). L'elenco completo degli elementi supportati si
3652 trova nello script stesso.  Vedi @file{ly/articulate.ly}.
3653
3654 @seealso
3655 Manuale di apprendimento:
3656 @rlearning{Altre fonti di informazione}.
3657
3658 Guida alla notazione:
3659 @ref{Score layout}.
3660
3661 File installati:
3662 @file{ly/articulate.ly}.
3663
3664 @warning{Lo script @file{articulate} potrebbe accorciare la durata degli
3665 accordi, cosa che potrebbe non essere appropriata per alcuni tipi di
3666 strumento, come nel caso della musica per organo. Potrebbe essere ridotta
3667 anche la durata di note prive di articolazioni.
3668 Dunque, per consentire tutto ciò, limitare l'uso del comando @code{\articulate}
3669 a brevi segmenti di musica o modificare i valori delle variabili definite
3670 nello script @file{articulate} per compensare il comportamento di accorciamento
3671 della durata delle note.}
3672
3673
3674
3675 @node Estrazione dell'informazione musicale
3676 @section Estrazione dell'informazione musicale
3677 @translationof Extracting musical information
3678
3679 Oltre a creare l'output grafico e il MIDI, LilyPond può mostrare
3680 l'informazione musicale in forma testuale.
3681
3682 @menu
3683 * Mostrare la notazione LilyPond::
3684 * Mostrare le espressioni musicali scheme::
3685 * Salvare eventi musicali in un file::
3686 @end menu
3687
3688 @node Mostrare la notazione LilyPond
3689 @subsection Mostrare la notazione LilyPond
3690 @translationof Displaying LilyPond notation
3691
3692 @funindex \displayLilyMusic
3693 La funzione musicale @code{\displayLilyMusic} permette di mostrare
3694 un'espressione musicale nella notazione di LilyPond. Per vedere
3695 l'output, di norma si esegue LilyPond da linea di comando. Per esempio,
3696
3697 @example
3698 @{
3699   \displayLilyMusic \transpose c a, @{ c4 e g a bes @}
3700 @}
3701 @end example
3702
3703 mostrerà
3704
3705 @example
3706 @{ a,4 cis4 e4 fis4 g4 @}
3707 @end example
3708
3709 LilyPond stampa questi messaggi nella console insieme a tutti gli
3710 altri messaggi della compilazione. Per separare questi messaggi
3711 e salvare i risultati di @code{\displayLilyMusic}, redirigere
3712 l'output su un file:
3713
3714 @example
3715 lilypond file.ly >display.txt
3716 @end example
3717
3718 @funindex \void
3719 @c tradotto un po' liberamente, dato che il paragrafo in inglese è poco chiaro:
3720 @c https://lists.gnu.org/archive/html/lilypond-user/2015-12/msg00141.html
3721 Nota bene che LilyPond non soltanto mostra in console l'espressione musicale, ma
3722 la interpreta anche (infatti l'espressione musicale di @code{\displayLilyMusic}
3723 appare nell'output oltre a essere mostrata in console).  Basta inserire
3724 @code{\displayLilyMusic} in file esistenti, senza doverne modificare le
3725 note di input, per ottenere informazioni su di essi.  Per interpretare e
3726 mostrare una sezione musicale nella console ma, allo stesso tempo, toglierla
3727 dal file di output, usare il comando @code{\void}:
3728
3729 @example
3730 @{
3731   \void \displayLilyMusic \transpose c a, @{ c4 e g a bes @}
3732   c1
3733 @}
3734 @end example
3735
3736
3737 @node Mostrare le espressioni musicali scheme
3738 @subsection Mostrare le espressioni musicali scheme
3739 @translationof Displaying scheme music expressions
3740
3741 Vedi @rextend{Displaying music expressions}.
3742
3743
3744 @node Salvare eventi musicali in un file
3745 @subsection Salvare eventi musicali in un file
3746 @translationof Saving music events to a file
3747
3748 Gli eventi musicali possono essere salvati in file diversi, un file per
3749 ogni rigo, includendo un file nella partitura principale:
3750
3751 @example
3752 \include "event-listener.ly"
3753 @end example
3754
3755 Così verranno creati uno o più file @file{NOMEFILE-NOMERIGO.notes} o
3756 @file{NOMEFILE-unnamed-staff.notes} per ogni rigo.  Se ci sono vari
3757 righi senza nome, gli eventi di tutti i righi saranno mischiati insieme
3758 nello stesso file.  I file hanno una struttura di questo tipo:
3759
3760 @example
3761 0.000   note     57       4   p-c 2 12
3762 0.000   dynamic  f
3763 0.250   note     62       4   p-c 7 12
3764 0.500   note     66       8   p-c 9 12
3765 0.625   note     69       8   p-c 14 12
3766 0.750   rest     4
3767 0.750   breathe
3768 @end example
3769
3770 La sintassi prevede una riga delimitata da tabulatori, con due campi fissi
3771 su ogni riga seguiti da parametri opzionali.
3772
3773 @example
3774 @var{tempo}  @var{tipo}  @var{@dots{}parametri@dots{}}
3775 @end example
3776
3777 Questa informazione può essere letta facilmente da altri programmi,
3778 per esempio da uno script python, e può essere molto utile per
3779 ricercatori che desiderano fare delle analisi musicali o degli
3780 esperimenti di @emph{playback} con LilyPond.
3781
3782
3783 @knownissues
3784
3785 Non tutti gli eventi musicali di lilypond sono supportati da
3786 @file{event-listener.ly}, che vuole essere una semplice @qq{prova di concetto}
3787 ben congeniata. Se alcuni eventi che si vorrebbero vedere non sono
3788 inclusi, copiare @file{event-listener.ly} nella propria directory
3789 lilypond e modificare il file in modo che produca l'informazione
3790 desiderata.
3791