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