From: Federico Bruni Date: Fri, 11 Dec 2009 15:06:55 +0000 (+0100) Subject: Docs-it: initial translation X-Git-Tag: release/2.13.10-1~207 X-Git-Url: https://git.donarmstrong.com/?p=lilypond.git;a=commitdiff_plain;h=9181df064925f1de6686e9692aff5f30686b4a99 Docs-it: initial translation --- diff --git a/Documentation/it/GNUmakefile b/Documentation/it/GNUmakefile new file mode 100644 index 0000000000..55a8927a87 --- /dev/null +++ b/Documentation/it/GNUmakefile @@ -0,0 +1,7 @@ +ISOLANG = it +depth = ../.. +SUBDIRS = learning texidocs +STEPMAKE_TEMPLATES = documentation +LOCALSTEPMAKE_TEMPLATES = lilypond ly doc-i18n-root + +include $(depth)/make/stepmake.make diff --git a/Documentation/it/index.html.in b/Documentation/it/index.html.in new file mode 100644 index 0000000000..13f165903f --- /dev/null +++ b/Documentation/it/index.html.in @@ -0,0 +1,145 @@ + + + + Documentazione di LilyPond @TOPLEVEL_VERSION@ + + + + + + +
+

Documentazione di LilyPond

+
+ +
+

+ Versione @TOPLEVEL_VERSION@ +
+ @DATE@ +

+
+ + + + + + + + + + + + + + + + + + +

+ Tutta la documentazione che leggi in questa pagina è disponibile per il download. + Scarica + l'archivio compresso. +

+

+ Come in ogni pagina HTML di questa documentazione, in basso puoi trovare + i collegamenti alle traduzioni di questa pagina in + altre lingue. +

+ + diff --git a/Documentation/it/learning.tely b/Documentation/it/learning.tely new file mode 100644 index 0000000000..e50a54342d --- /dev/null +++ b/Documentation/it/learning.tely @@ -0,0 +1,92 @@ +\input texinfo @c -*- coding: utf-8; mode: texinfo; documentlanguage: it -*- +@c This file is part of lilypond-learning.tely +@ignore + Translation of GIT committish: a30fa41fac8fb2771a76f6d1edbec9714298ee36 + + When revising a translation, copy the HEAD committish of the + version that you are working on. See TRANSLATION for details. +@end ignore +@setfilename lilypond-learning.info +@settitle Manuale di apprendimento di LilyPond +@documentencoding UTF-8 +@documentlanguage it +@afourpaper + +@macro manualIntro +Questo file fornisce un'introduzione alla versione di LilyPond +@version{}. +@end macro + +@macro copyrightDeclare +Copyright @copyright{} +1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 +by the authors. +@end macro + +@set FDL +@include macros.itexi + + + +@c don't remove this comment. +@ignore +@omfcreator Han-Wen Nienhuys, Jan Nieuwenhuizen and Graham Percival +@omfdescription Learning Manual of the LilyPond music engraving system +@omftype program usage +@omfcategory Applications|Publishing +@omflanguage Italian +@end ignore + +@c Translators: Federico Bruni + +@lilyTitlePage{Learning Manual} + +@c TOC -- non-tex +@ifnottex + +@menu +* Tutorial:: Le basi della composizione tipografica in LilyPond. +* Notazione comunemente utilizzata:: Come si scrive la notazione più comunemente utilizzata. +* Concetti fondamentali:: Concetti di base necessari per leggere gli altri manuali. +* Tweaking output:: Introduzione alla modifica dell'output. + +Appendices + +* Templates:: Modelli già pronti. +* GNU Free Documentation License:: Licenza di questo documento. +* LilyPond index:: +@end menu + +@docMain +@end ifnottex + + +@c TOC - tex +@contents + + +@c INCLUDES + +@include learning/tutorial.itely +@include learning/common-notation.itely +@include learning/fundamental.itely + +@node Tweaking output +@chapter Tweaking output + +@untranslated + +@node Templates +@appendix Templates + +@untranslated + +@include fdl.itexi + +@node Indice di LilyPond +@appendix Indice di LilyPond +@translationof LilyPond index + +@printindex cp + +@bye diff --git a/Documentation/it/learning/GNUmakefile b/Documentation/it/learning/GNUmakefile new file mode 100644 index 0000000000..425cc1d8e2 --- /dev/null +++ b/Documentation/it/learning/GNUmakefile @@ -0,0 +1,5 @@ +depth = ../../.. + +LOCALSTEPMAKE_TEMPLATES = ly + +include $(depth)/make/stepmake.make diff --git a/Documentation/it/learning/common-notation.itely b/Documentation/it/learning/common-notation.itely new file mode 100644 index 0000000000..eda9fff13e --- /dev/null +++ b/Documentation/it/learning/common-notation.itely @@ -0,0 +1,1436 @@ +@c -*- coding: utf-8; mode: texinfo; documentlanguage: it -*- + +@ignore + Translation of GIT committish: a30fa41fac8fb2771a76f6d1edbec9714298ee36 + + When revising a translation, copy the HEAD committish of the + version that you are working on. See TRANSLATION for details. +@end ignore + + +@c \version "2.12.0" + +@ignore +Tutorial guidelines: (different from policy.txt!) +- unless you have a really good reason, use either + @lilypond[verbatim,quote] + or + @lilypond[verbatim,quote,relative=2] + + Don't use any other relative=X commands. + +- use "aes" and "ees" instead of "as" and "es". I know it's not + correct Dutch naming, but let's not confuse people with this + until we get to the Basic notation chapter. + +- Add "Music Glossary: @rglos{foo}" to the *top* of the relevant + portions of the tutorial. + +@end ignore + +@node Notazione comunemente utilizzata +@chapter Notazione comunemente utilizzata +@translationof Common notation + +Questo capitolo spiega come creare delle bella musica a stampa che +faccia uso della notazione musicale comunemente utilizzata, seguendo +il materiale esposto in @ref{Tutorial}. + +@menu +* Notazione su un solo pentagramma:: +* Note simultanee:: +* Canzoni:: +* Ritocchi finali:: +@end menu + + +@node Notazione su un solo pentagramma +@section Notazione su un solo pentagramma +@translationof Single staff notation + +Questa sezione presenta la notazione comunemente usata per una singola voce su +un solo pentagramma. + +@menu +* Alterazioni e armature di chiave:: +* Legature di valore e di portamento:: +* Articolazione e dinamica:: +* Aggiungere il testo:: +* Code automatiche e manuali:: +* Comandi di tempo avanzati:: +@end menu + + +@node Alterazioni e armature di chiave +@subsection Alterazioni e armature di chiave +@translationof Accidentals and key signatures + +@warning{I nuovi utenti sono spesso confusi riguardo a queste -- leggi il +messaggio di avviso in fondo a questa pagina, soprattutto se non hai +una buona conoscenza della teoria musicale!} + +@subheading Accidentals + +@cindex alterazioni, accidenti +@cindex alterazioni e armature di chiave +@cindex diesis +@cindex doppio diesis +@cindex diesis, doppio +@cindex bemolle +@cindex doppio bemolle +@cindex bemolle, doppio + +@funindex es +@funindex is +@funindex eses +@funindex isis + +Glossario Musicale: @rglos{sharp}, @rglos{flat}, @rglos{double sharp}, +@rglos{double flat}, @rglos{accidental}. + +Un @notation{diesis} si ottiene aggiungendo il suffisso @code{is} al nome della nota, +e un @notation{bemolle} aggiungendo @code{es}. Come puoi +immaginare, un @notation{doppio diesis} o un @notation{doppio bemolle} +si ottengono aggiungendo @code{isis} o @code{eses}. Questa sintassi +deriva dalle convenzioni per i nomi delle note presenti nelle lingue +nordiche e germaniche, come il tedesco e l'olandese. Per usare altri +nomi per le @notation{alterazioni}, si veda @ruser{Nomi delle note in altre lingue}. + +@lilypond[verbatim,quote,relative=2] +cis1 ees fisis, aeses +@end lilypond + +@cindex chiave, armatura di, impostare +@subheading Key signatures + +@cindex armatura di chiave +@cindex maggiore +@cindex minore +@cindex alterazioni e armature di chiave +@cindex contenuto vs. layout +@cindex layout vs. contenuto + +@funindex \key +@funindex key +@funindex \major +@funindex major +@funindex \minor +@funindex minor + +Glossario musicale: @rglos{key signature}, @rglos{major}, +@rglos{minor}. + +L'@notation{armatura di chiave} viene impostata col comando @code{\key} +seguito da un'altezza e da @code{\major} o @code{\minor}. + +@lilypond[verbatim,quote,relative=2] +\key d \major +a1 +\key c \minor +a +@end lilypond + +@smallspace + +@subheading Warning: key signatures and pitches + +Glossario musicale: @rglos{accidental}, @rglos{key signature}, +@rglos{pitch}, @rglos{flat}, @rglos{natural}, @rglos{sharp}, +@rglos{transposition}. + +Per determinare se stampare o meno un'@notation{alterazione}, LilyPond +esamina le altezze e l'@notation{armatura di chiave}. L'armatura di +chiave influisce soltanto sulle alterazioni che vengono @emph{stampate}, non +sull'@notation{altezza} della nota! Questa è una caratteristica che spesso +causa confusione ai nuovi utenti, quindi la spiegheremo più dettagliatamente. + +LilyPond fa una netta distinzione tra contenuto musicale e +layout. L'alterazione di (@notation{bemolle}, il segno di @notation{bequadro} o il +@notation{diesis}) di una nota fanno parte dell'altezza, e sono quindi +contenuto musicale. Se un'alterazione (un segno @emph{stampato} di bemolle, +bequadro o diesis) venga posta oppure no di fronte alla nota corrispondente +è una questione di layout. Il layout segue delle regole, dunque +le alterazioni sono stampate automaticamente in base a queste +regole. Le altezze nella tua musica sono opere d'arte, quindi non +verranno aggiunte in automatico: sei tu a dover inserire la nota che +vuoi sentire. + +In questo esempio: + +@lilypond[verbatim,quote,relative=2] +\key d \major +d cis fis +@end lilypond + +@noindent +Nessuna nota ha un'alterazione rispetto all'armatura di chiave, ma devi comunque aggiungere +@code{is} e scrivere @code{cis} e @code{fis} nel file di input. + +Il codice @code{b} non significa @qq{stampa un punto nero esattamente +nella linea centrale del pentagramma.} Piuttosto, significa @qq{c'è una +nota con altezza Si-bequadro.} Nella tonalità di La bemolle maggiore, +@emph{deve} avere un'alterazione: + +@lilypond[verbatim,quote,relative=2] +\key aes \major +b +@end lilypond + +Se l'esempio precedente sembra poco chiaro, considera questo: se tu stessi +suonando un pianoforte, quale tasto premeresti? Se premi un tasto nero, +allora @emph{devi} aggiungere @code{-is} o @code{-es} al nome della +nota! + +Aggiungere esplicitamente tutte le alterazioni richiederà un po' più +di lavoro in fase di scrittura, ma il vantaggio è che la +@notation{trasposizione} è più semplice, e le alterazioni possono essere +prodotte usando diverse convenzioni. Per alcuni esempi che mostrano come +sia possibile produrre delle alterazioni in base a regole diverse, si veda +@ruser{Alterazioni automatiche}. + + +@seealso +Guida alla Notazione: @ruser{Note names in other languages}, +@ruser{Accidentals}, @ruser{Automatic accidentals}, +@ruser{Key signature}. + +Glossario musicale: @rglos{Pitch names}. + + +@node Legature di valore e di portamento +@subsection Legature di valore e di portamento +@translationof Ties and slurs + +@cindex legatura di valore +@cindex legatura di portamento +@cindex legatura di portamento, fraseggio +@cindex legatura di fraseggio + +@funindex ~ +@funindex ( ... ) +@funindex \( ... \) + +@subheading Ties + + +Glossario musicale: @rglos{tie}. + +Una @notation{legatura di valore} si ottiene apponendo una tilde @code{~} alla +prima nota della legatura. + +@lilypond[verbatim,quote,relative=2] +g4~ g c2~ +c4 ~ c8 a8 ~ a2 +@end lilypond + +@subheading Slurs + + +Glossario musicale: @rglos{slur}. + +Una @notation{legatura di portamento} è una linea curva che collega più note. La +nota iniziale e quella finale sono indicate rispettivamente con +@code{(} e @code{)}. + +@lilypond[verbatim,quote,relative=2] +d4( c16) cis( d e c cis d) e( d4) +@end lilypond + +@subheading Phrasing slurs + +Glossario musicale: @rglos{slur}, @rglos{phrasing}. + +Le legature di portamento che indicano una @notation{frase} più lunga +possono essere inserite con @code{\(} e @code{\)}. E' possibile avere allo +stesso tempo sia le @notation{legature di portamento} sia le legature di +frase, ma non si possono avere simultaneamente diverse legature di portamento, +o diverse legature di frase. + +@lilypond[verbatim,quote,relative=2] +a8(\( ais b c) cis2 b'2 a4 cis,\) +@end lilypond + +@smallspace + +@cindex legature di portamento vs. legature di valore +@subheading Warnings: slurs vs. ties + +Glossario musicale: @rglos{articulation}, @rglos{slur}, @rglos{tie}. + +Una @notation{legatura di portamento} ha lo stesso aspetto di una +@notation{legatura di valore}, ma un significato diverso. Una legatura +di valore rende semplicemente la nota più lunga, e può essere usata +solo con coppie di note della stessa altezza. Le legature di portamento +indicano l'@notation{articolazione} delle note, e possono essere usate +con ampi gruppi di note. Legature di valore e legature di portamento +possono essere annidate le une dentro le altre. + +@lilypond[verbatim,quote,relative=2] +c2~( c8 fis fis4 ~ fis2 g2) +@end lilypond + + +@seealso +Guida alla Notazione: @ruser{Ties}, @ruser{Slurs}, +@ruser{Phrasing slurs}. + + +@node Articolazione e dinamica +@subsection Articolazione e dinamica +@translationof Articulation and dynamics + +@subheading Articulations + +@cindex articolazione +@cindex accento +@cindex staccato + +Glossario musicale: @rglos{articulation}. + +Le @notation{articolazioni} di uso comune possono essere aggiunte a una nota +con una lineetta @code{-} e un singolo carattere: + +@lilypond[verbatim,quote,relative=2] +c-. c-- c-> c-^ c-+ c-_ +@end lilypond + +@subheading Fingerings + +@cindex diteggiatura + +@funindex ^ +@funindex _ + +Glossario musicale: @rglos{fingering}. + +Analogalmente, le indicazioni di @notation{diteggiatura} possono essere +aggiunte a una nota con una lineetta (@code{-}) e il numero che si +vuole visualizzare: + +@lilypond[verbatim,quote,relative=2] +c-3 e-5 b-2 a-1 +@end lilypond + +Articolazioni e diteggiature solitamente sono posizionate verticalmente in automatico, ma +si può specificarne la direzione sostituendo la lineetta (@code{-}) con +@code{^} (su) o @code{_} (giù). Si possono usare anche articolazioni +multiple sulla stessa nota. Tuttavia, nella maggior parte dei casi è +meglio lasciare che sia LilyPond a determinare le direzioni delle articolazioni. + +@lilypond[verbatim,quote,relative=2] +c_-^1 d^. f^4_2-> e^-_+ +@end lilypond + +@subheading Dynamics + +@cindex dinamica +@cindex decrescendo +@cindex crescendo + +@funindex \f +@funindex \ff +@funindex \mp +@funindex \p +@funindex \mf +@funindex \pp +@funindex \< +@funindex < +@funindex \> +@funindex > +@funindex \! +@funindex ! + +Glossario musicale: @rglos{dynamics}, @rglos{crescendo}, +@rglos{decrescendo}. + +I segni di @notation{dinamica} si ottengono aggiungendo alla nota +i simboli (preceduti da un segno di barra invertita, o backslash): + +@lilypond[verbatim,quote,relative=2] +c\ff c\mf c\p c\pp +@end lilypond + + +@notation{Crescendi} e @notation{decrescendi} iniziano coi +comandi @code{\<} e @code{\>}. Il seguente segno di dinamica, ad +esempio @code{\ff}, terminerà il (de)crescendo, oppure può essere usato +il comando @code{\!}: + +@lilypond[verbatim,quote,relative=2] +c2\< c2\ff\> c2 c2\! +@end lilypond + + +@seealso +Guida alla Notazione: @ruser{Articulations and ornamentations}, +@ruser{Fingering instructions}, @ruser{Dynamics}. + + +@node Aggiungere il testo +@subsection Aggiungere il testo +@translationof Adding text + +@cindex testo, aggiungere +@cindex aggiungere testo +@cindex markup + +@funindex \markup +@funindex markup + +Puoi aggiungere del testo nei tuoi spartiti: + +@lilypond[verbatim,quote,relative=2] +c1^"espr" a_"legato" +@end lilypond + +Per aggiungere delle formattazioni puoi usare il comando @code{\markup}: + +@lilypond[verbatim,quote,relative=2] +c1^\markup{ \bold espr} +a1_\markup{ + \dynamic f \italic \small { 2nd } \hspace #0.1 \dynamic p +} +@end lilypond + + +@seealso +Guida alla Notazione: @ruser{Scrivere testo}. + + +@node Code automatiche e manuali +@subsection Code automatiche e manuali +@translationof Automatic and manual beams + +@cindex raggruppamento +@cindex code automatiche +@cindex code manuali +@cindex code, automatiche +@cindex code, manuali +@cindex code, a mano + +@funindex [ ... ] +@funindex [ +@funindex ] +@funindex \autoBeamOff +@funindex autoBeamOff +@funindex \autoBeamOn +@funindex autoBeamOn + +Glossario musicale: @rglos{beam}. + +Tutte le @notation{travature} vengono disegnate automaticamente: + +@lilypond[verbatim,quote,relative=2] +a8 ais d ees r d c16 b a8 +@end lilypond + +Se non ti piace il modo in cui vengono prodotte automaticamente le travature, è +possibile sovrascriverle manualmente. Per correggere soltanto una singola travatura, indica +la prima nota da raggruppare con @code{[} e l'ultima con @code{]}. + +@lilypond[verbatim,quote,relative=2] +a8[ ais] d[ ees r d] a b +@end lilypond + +Se desideri disattivare il raggruppamento automatico, interamente o +per un'ampia sezione del brano, usa il comando @code{\autoBeamOff} +per disattivare il raggruppamento automatico e @code{\autoBeamOn} per +riattivarlo. + +@lilypond[verbatim,quote,relative=2] +\autoBeamOff +a8 c b4 d8. c16 b4 +\autoBeamOn +a8 c b4 d8. c16 b4 +@end lilypond + + +@seealso +Guida alla Notazione: @ruser{Automatic beams}, @ruser{Manual beams}. + + +@node Comandi di tempo avanzati +@subsection Comandi di tempo avanzati +@translationof Advanced rhythmic commands + +@subheading Partial measure + +@cindex anacrusi +@cindex battuta parziale + +@funindex \partial +@funindex partial + +Glossario musicale: @rglos{anacrusis}. + +Un'(or @notation{anacrusi}) può essere inserita con la parola chiave +@code{\partial}. Questa è seguita da una durata: @code{\partial 4} +è un'anacrusi di semiminima e @code{\partial 8} di croma. + +@lilypond[verbatim,quote,relative=2] +\partial 8 +f8 c2 d +@end lilypond + +@subheading Tuplets + +@cindex gruppi irregolari +@cindex terzine + +@funindex \times +@funindex times + +Glossario musicale: @rglos{note value}, @rglos{triplet}. + +I @notation{gruppi irregolari} vengono preceduti dalla parola chiave +@code{\times}. Questa richiede due argomenti: una frazione e un frammento +di musica. La durata del frammento viene moltiplicata per la frazione. +Le terzine fanno sì che le note occupino 2/3 della loro durata, quindi +una @notation{terzina} ha 2/3 come frazione: + +@lilypond[verbatim,quote,relative=2] +\times 2/3 { f8 g a } +\times 2/3 { c r c } +\times 2/3 { f,8 g16[ a g a] } +\times 2/3 { d4 a8 } +@end lilypond + +@subheading Grace notes + +@cindex abbellimenti +@cindex acciaccatura +@cindex appoggiatura + +@funindex \grace +@funindex grace +@funindex \acciaccatura +@funindex acciaccatura +@funindex \appoggiatura +@funindex acciaccatura + +Glossario musicale: @rglos{grace notes}, @rglos{acciaccatura}, +@rglos{appoggiatura}. + +Gli @notation{abbellimenti} sono creati col comando @code{\grace}, +ma possono essere creati anche ponendo davanti a un'espressione +musicale le parole chiave @code{\appoggiatura} o @code{\acciaccatura}: + +@lilypond[verbatim,quote,relative=2] +c2 \grace { a32[ b] } c2 +c2 \appoggiatura b16 c2 +c2 \acciaccatura b16 c2 +@end lilypond + + +@seealso +Guida alla Notazione: @ruser{Grace notes}, @ruser{Tuplets}, +@ruser{Upbeats}. + + +@node Note simultanee +@section Note simultanee +@translationof Multiple notes at once + +Questa sezione spiega come inserire più note simultanee: molteplici +strumenti, molteplici righi di pentagramma per un singolo strumento +(es: piano), e accordi. + +In musica per polifonia si intende la presenza di più di una voce +in un brano. In LilyPond per polifonia si intende la presenza di +più di una voce sullo stesso pentagramma. + +@menu +* Espressioni musicali:: +* Pentagrammi multipli:: +* Gruppi di pentagrammi:: +* Combinare le note negli accordi:: +* Polifonia su un singolo rigo:: +@end menu + + +@node Espressioni musicali +@subsection Espressioni musicali +@translationof Music expressions explained + +@cindex espressione musicale +@cindex espressione, musicale +@cindex espressione musicale composta +@cindex espressione musicale, composta + +Nei file di input di LilyPond, la musica è rappresentata dalle +@emph{espressioni musicali}. Anche una singola nota è un'espressione +musicale: + +@lilypond[verbatim,quote,relative=2] +a4 +@end lilypond + +Se si racchiude una nota tra parentesi si crea un'@emph{espressione +musicale composta}. In questo esempio abbiamo creato un'espressione +musicale composta da due note: + +@lilypond[verbatim,quote,relative=2] +{ a4 g4 } +@end lilypond + +Se si mette un gruppo di espressioni musicali (es: note) tra parentesi, +significa che sono in sequenza (ovvero, ciascuna espressione segue la +precedente). Il risultato è un'altra espressione musicale: + +@lilypond[verbatim,quote,relative=2] +{ { a4 g } f g } +@end lilypond + +@subheading Analogy: mathematical expressions + +Questo meccanismo è analogo a quello delle formule matematiche: una grande formula +può essere creata creando piccole formule. Tali formule sono chiamate +espressioni, e possono contenere altre espressioni, così che sia possibile +costruire a piacere espressioni grandi e complesse. Ad esempio, + +@example +1 + +1 + 2 + +(1 + 2) * 3 + +((1 + 2) * 3) / (4 * 5) +@end example + +Questa è una sequenza di espressioni, dove ogni espressione è racchiusa +in quella successiva (più grande). Le espressioni più semplici sono +i numeri, e quelle più grandi si ottengono combinando le espressioni con +gli operatori (come @code{+}, @code{*} e @code{/}) e le parentesi. +Come le espressioni matematiche, le espressioni musicali possono essere +annidate a qualsivoglia grado di profondità, e questo è indispensabile per +musica complessa come le partiture polifoniche. + + +@subheading Simultaneous music expressions: multiple staves + +@cindex molteplici pentagrammi +@cindex pentagrammi, molteplici +@cindex polifonia +@cindex combinare le espressioni in parallelo +@cindex espressioni parallele +@cindex espressioni, parallele +@cindex note relative e musica simultanea +@cindex note relative e espressioni parallele +@cindex musica simultanea e note relative +@cindex espressioni parallele e note relative + +@funindex << +@funindex >> +@funindex << ... >> + +Glossario musicale: @rglos{polyphony}. + +Questa tecnica è utile per la musica @notation{polifonica}. Per inserire +della musica che abbia più voci o più linee di pentagramma, basta combinare +le espressioni in parallelo. Per indicare che le due voci devono suonare +contemporaneamente, basta inserire una combinazione simultanea di espressioni +musicali. Un' espressione musicale @q{simultanea} si forma racchiudendo le +espressioni all'interno di @code{<<} e @code{>>}. Nel seguente +esempio, tre sequenze (tutte contenenti due note +separate) vengono combinate in simultanea: + +@lilypond[verbatim,quote] +\relative c'' { + << + { a4 g } + { f e } + { d b } + >> +} +@end lilypond + +Si noti che abbiamo indentato ogni livello dell'input con una diversa +quantità di spazi. LilyPond non si preoccupa di quanto spazio c'è +all'inizio di una linea, tuttavia indentare il codice di LilyPond in +questo modo lo rende molto più semplice da leggere per l'essere umano. + +@warning{ogni nota è relativa alla nota precedente +nell'input, e non è relativa al @code{c''} nel comando +@code{@bs{}relative} iniziale.} + + +@subheading Simultaneous music expressions: single staff + +Per determinare il numero di pentagrammi in un brano, LilyPond guarda +l'inizio della prima espressione. Se c'è una nota singola, ci sarà +un pentagramma; se c'è un'espressione simultanea, ci saranno più +pentagrammi. L'esempio seguente mostra un'espressione +complessa, ma poiché inizia con una nota singola sarà impostata +su un singolo rigo. + +@lilypond[verbatim,quote] +\relative c'' { + c2 <> + << { e f } { c <> } >> +} +@end lilypond + +@node Pentagrammi multipli +@subsection Pentagrammi multipli +@translationof Multiple staves + +@cindex molteplici righi musicali +@cindex righi musicali, molteplici +@cindex contesto +@cindex contesto, notazione +@cindex notazione contesto + +@funindex \new Staff +@funindex new Staff +@funindex Staff +@funindex \new +@funindex new +@funindex Score +@funindex Voice +@funindex Lyrics +@funindex ChordNames + +Come abbiamo visto in @ref{Music expressions explained}, i file di input +di LilyPond si costruiscono in base alle espressioni musicali. Se la partitura +inizia con espressioni musicali simultanee, LilyPond crea più di un +rigo musicale. Tuttavia, è più facile vedere quel che accade se creiamo +ogni rigo musicale esplicitamente. + +Per ottenere più di un rigo musicale, ogni brano musicale che costituisce +un rigo è contrassegnato da @code{\new Staff}. Questi elementi +@code{Staff} vengono poi combinati in parallelo con @code{<<} +e @code{>>}: + +@lilypond[verbatim,quote] +\relative c'' { + << + \new Staff { \clef treble c } + \new Staff { \clef bass c,, } + >> +} +@end lilypond + +Il comando @code{\new} introduce un @q{contesto di notazione.} Un +contesto è un ambiente in cui vengono interpretati gli eventi musicali +(come le note o i comandi @code{\clef}). Nel caso di brani semplici, +tali contesti vengono creati automaticamente. Per brani più complessi, +è meglio contrassegnare esplicitamente i contesti. + +Ci sono vari tipi di contesto. @code{Score}, @code{Staff}, +e @code{Voice} gestiscono la notazione melodica, mentre @code{Lyrics} imposta +i testi e @code{ChordNames} visualizza i nomi degli accordi. + +In termini di sintassi, se si inserisce @code{\new} prima di un'espressione +musicale, si crea un'espressione musicale più grande. In questo modo +assomiglia al segno di minore in matematica. La formula @math{(4+5)} è +un'espressione, quindi @math{-(4+5)} è un'espressione più grande. + +Le indicazioni di tempo inserite in un rigo musicale si estendono di default +a tutti gli altri righi. L'armatura di chiave di un rigo, invece, +@emph{non} si estende agli altri. Questo diverso comportamento di default +è dovuto al fatto che le partiture con strumenti traspositori sono molto più +frequenti delle partiture poliritmiche. + +@lilypond[verbatim,quote] +\relative c'' { + << + \new Staff { \clef treble \key d \major \time 3/4 c } + \new Staff { \clef bass c,, } + >> +} +@end lilypond + + + + +@node Gruppi di pentagrammi +@subsection Gruppi di pentagrammi +@translationof Staff groups + +@cindex pentagramma per piano +@cindex piano, pentagramma per +@cindex pentagramma per coro +@cindex coro, pentagramma per +@cindex accollatura +@cindex gruppo di pentagrammi + +@funindex PianoStaff +@funindex GrandStaff +@funindex ChoirStaff + +Glossario musicale: @rglos{brace}. + +La musica per pianoforte viene stampata su due righi musicali collegati +con una @notation{graffa}. +Produrre un pentagramma di questo tipo è simile all'esempio polifonico in +@ref{Multiple staves}. In questo caso, però, l'intera espressione +è inserita all'interno di @code{PianoStaff}: + +@example +\new PianoStaff << + \new Staff @dots{} + \new Staff @dots{} +>> +@end example + +Ecco un piccolo esempio: + +@lilypond[verbatim,quote] +\relative c'' { + \new PianoStaff << + \new Staff { \time 2/4 c4 e g g, } + \new Staff { \clef bass c,, c' e c } + >> +} +@end lilypond + +Altri raggruppamenti di pentagrammi vengono preceduti da @code{\new GrandStaff}, +per le partiture orchestrali, e da @w{@code{\new ChoirStaff}}, +per le partiture corali. Ognuno di questi gruppi di pentagramma +costituiscono un altro tipo di contesto, un contesto che genera la graffa +all'estremità sinistra di ogni sistema e controlla inoltre l'estensione +delle linee della battuta. + + +@seealso +Guida alla Notazione: @ruser{Keyboard and other multi-staff +instruments}, +@ruser{Displaying staves}. + + +@node Combinare le note negli accordi +@subsection Combinare le note negli accordi +@translationof Combining notes into chords + +@cindex accordi +@cindex durate delle note negli accordi + +@funindex < +@funindex > +@funindex < ... > + +Glossario musicale: @rglos{chord}. + +Abbiamo visto in precedenza come le note possano essere combinate in +@notation{accordi} racchiudendole tra parentesi a doppi angoli per indicare +che sono simultanee. Tuttavia, il modo normale di indicare un accordo è quello +di circondare le note con delle parentesi ad angolo @emph{singolo}. Si noti +che tutte le note in un accordo devono avere la stessa durata, e che la +durata è posta dopo la parentesi chiusa. + +@lilypond[verbatim,quote,relative=2] +r4 4 2 +@end lilypond + +Pensa agli accordi come a qualcosa di equivalente alle note singole: +quasi ogni cosa che puoi attaccare a una nota singola può essere attaccata +a un accordo, e tutto questo deve stare @emph{fuori} dalle parentesi +angolari. Ad esempio, con gli accordi si possono combinare simboli come +le travature e le legature di valore. Questi devono essere posti fuori dalle +parentesi angolari. + +@lilypond[verbatim,quote,relative=2] +r4 8[ ]~ 2 +r4 8( \> 4 \!) +@end lilypond + + +@node Polifonia su un singolo rigo +@subsection Polifonia su un singolo rigo +@translationof Single staff polyphony + +@cindex polifonia +@cindex voci multiple +@cindex voci, più di un rigo +@cindex polifonia su un singolo rigo +@cindex pausa spaziatrice +@cindex pausa, spaziatrice + +@funindex << ... \\ ... >> +@funindex << +@funindex \\ +@funindex >> + +La musica polifonica in lilypond, per quanto non difficile, fa riferimento a +concetti non ancora affrontati, quindi non la presenteremo +subito. Saranno le sezioni successive a introdurre questi concetti e +a spiegarli via via. + +@seealso +Manuale di Apprendimento: @ref{Voices contain music}. + +Guida alla Notazione: @ruser{Simultaneous notes}. + +@node Canzoni +@section Canzoni +@translationof Songs + +Questa sezione presenta la musica vocale e gli spartiti di semplici canzoni. + +@menu +* Impostare canzoni semplici:: +* Allineare il testo alla melodia:: +* Testo su più righi:: +@end menu + + +@node Impostare canzoni semplici +@subsection Impostare canzoni semplici +@translationof Setting simple songs + +@cindex testi +@cindex canzoni + +@funindex \addlyrics +@funindex addlyrics + +Glossario musicale: @rglos{lyrics}. + +Questo è l'inizio della melodia di una +filastrocca, @notation{Girls and boys come out to play}: + +@lilypond[verbatim,quote] +\relative c'' { + \key g \major + \time 6/8 + d4 b8 c4 a8 d4 b8 g4 +} +@end lilypond + +I @notation{testi} possono essere collegati a queste note, combinandoli +a esse per mezzo della parola chiave @code{\addlyrics}. I testi si inseriscono +separando ogni sillaba con uno spazio. + +@lilypond[verbatim,quote] +<< + \relative c'' { + \key g \major + \time 6/8 + d4 b8 c4 a8 d4 b8 g4 + } + \addlyrics { + Girls and boys come out to play, + } +>> +@end lilypond + +Si notino le parentesi graffe che delimitano sia la musica che il testo. +È fondamentale che l'ultima sillaba sia dalla parentesi graffa che +chiude con uno spazio o una nuova linea, altrimenti si presumerà +che sia parte della sillaba, e questo causerà un errore poco +chiaro, vedi @rprogram{Apparent error in ../ly/init.ly}. + +Si notino anche le doppie parentesi ad angolo @w{@code{<< ... >>}} che +circondano l'intero brano per indicare che la musica e il testo devono +trovarsi in simultanea. + +@node Allineare il testo alla melodia +@subsection Allineare il testo alla melodia +@translationof Aligning lyrics to a melody + +@cindex melisma +@cindex linea di estensione +@cindex trattini +@cindex trattino basso +@cindex testo, allineare +@cindex allineare il testo +@cindex testo, parole polisillabiche +@cindex parole con sillabe multiple nel testo + +Glossario musicale: @rglos{melisma}, @rglos{extender line}. + +La prossima riga della filastrocca è @notation{The moon doth +shine as bright as day}. Aggiungiamola: + +@lilypond[verbatim,quote] +<< + \relative c'' { + \key g \major + \time 6/8 + d4 b8 c4 a8 d4 b8 g4 + g8 a4 b8 c b a d4 b8 g4. + } + \addlyrics { + Girls and boys come out to play, + The moon doth shine as bright as day; + } +>> +@end lilypond + +Come si può vedere, il testo aggiunto non risulta ben allineato alle note. La +parola @notation{shine} dovrebbe essere cantata su due note, non una. Questo +si chiama @notation{melisma}, una singola sillaba che viene cantata per +più di una nota. Ci sono molti modi per estendere una sillaba su +molteplici note, e il più semplice è aggiungere una legatura di +portamento che le colleghi, per i dettagli si veda @ref{Ties and slurs}: + +@lilypond[verbatim,quote] +<< + \relative c'' { + \key g \major + \time 6/8 + d4 b8 c4 a8 d4 b8 g4 + g8 a4 b8 c( b) a d4 b8 g4. + } + \addlyrics { + Girls and boys come out to play, + The moon doth shine as bright as day; + } +>> +@end lilypond + +Adesso le parole sono allineate correttamente con le note, ma il raggruppamento +automatico per le note che si trovano sopra @notation{shine as} non ha un aspetto corretto. +Possiamo correggerlo inserendo i comandi per il raggruppamento manuale così da scavalcare, +in questo caso, il raggruppamento automatico; per i dettagli si veda @ref{Automatic and +manual beams}. + +@lilypond[verbatim,quote] +<< + \relative c'' { + \key g \major + \time 6/8 + d4 b8 c4 a8 d4 b8 g4 + g8 a4 b8 c([ b]) a d4 b8 g4. + } + \addlyrics { + Girls and boys come out to play, + The moon doth shine as bright as day; + } +>> +@end lilypond + +Come alternativa all'uso delle legature di portamento, si possono indicare +i melismi nel testo stesso, usando il trattino basso @code{_} per ogni nota +che si voglia includere nel melisma: + +@lilypond[verbatim,quote] +<< + \relative c'' { + \key g \major + \time 6/8 + d4 b8 c4 a8 d4 b8 g4 + g8 a4 b8 c[ b] a d4 b8 g4. + } + \addlyrics { + Girls and boys come out to play, + The moon doth shine _ as bright as day; + } +>> +@end lilypond + +Se una sillaba si estende per molte note o per una singola nota molto +lunga, solitamente viene disegnata una @notation{linea di estensione} +che va dalla sillaba e si estende per tutte le note comprese in quella +sillaba. Si scrive con due trattini bassi @code{__}. Il seguente esempio +è tratto dalle prime tre battute del @notation{Lamento di Didone}, dal +@notation{Dido and Aeneas} di Purcell: + +@lilypond[verbatim,quote] +<< + \relative c'' { + \key g \minor + \time 3/2 + g2 a bes bes( a) + b c4.( bes8 a4. g8 fis4.) g8 fis1 + } + \addlyrics { + When I am laid, + am laid __ in earth, + } +>> +@end lilypond + +Nessuno degli esempi visti finora ha comportato l'uso di parole aventi +più di una sillaba. Tali parole vengono solitamente suddivise una sillaba +per nota, con trattini posti tra le sillabe. Tali trattini vengono inseriti con +due lineette, e producono un trattino centrato tra le sillabe. +Ecco un esempio che, oltre a questo, mostra tutto quello che abbiamo imparato +finora sull'allineamento del testo con le note. + +@c no ragged-right here because otherwise the hyphens get lost, +@c but the example is long enough to avoid looking strange. +@lilypond[verbatim,quote,noragged-right] +<< + \relative c' { + \key g \major + \time 3/4 + \partial 4 + d4 g4 g a8( b) g4 g4 + b8( c) d4 d e4 c2 + } + \addlyrics { + A -- way in a __ man -- ger, + no __ crib for a bed, __ + } +>> +@end lilypond + +Alcuni testi, specialmente quelli in italiano, richiedono l'opposto: +associare più di una sillaba a una singola nota. Questo può essere +ottenuto collegando le sillabe insieme con un singolo trattino +basso @code{_} (senza spazi), o includendole tra virgolette. +Ecco un esempio tratto dal @notation{Figaro} di Rossini, dove +@notation{al} deve essere cantato sulla stessa nota del @notation{go} di +@notation{Largo}, nell'aria di Figaro @notation{Largo al factotum}: + +@c no ragged-right here because otherwise the hyphens get lost, +@c but the example is long enough to avoid looking strange. +@lilypond[verbatim,quote,noragged-right] +<< + \relative c' { + \clef bass + \key c \major + \time 6/8 + c4.~ c8 d b c([ d]) b c d b c + } + \addlyrics { + Lar -- go_al fac -- to -- tum del -- la cit -- tà + } +>> +@end lilypond + + +@seealso +Guida alla Notazione: @ruser{Vocal music}. + + +@node Testo su più righi +@subsection Testo su più righi +@translationof Lyrics to multiple staves + +@cindex lyrics and multiple staves +@cindex multiple staves and lyrics + +Per porre lo stesso testo sotto più righi musicali, si può usare un approccio +più semplice, ovvero @code{\addlyrics}. Ecco un esempio tratto dal +@notation{Judas Maccabæus} di Handel: + +@lilypond[verbatim,quote] +<< + \relative c'' { + \key f \major + \time 6/8 + \partial 8 + c8 c([ bes]) a a([ g]) f f'4. b, c4.~ c4 + } + \addlyrics { + Let flee -- cy flocks the hills a -- dorn, __ + } + \relative c' { + \key f \major + \time 6/8 + \partial 8 + r8 r4. r4 c8 a'([ g]) f f([ e]) d e([ d]) c bes'4 + } + \addlyrics { + Let flee -- cy flocks the hills a -- dorn, + } +>> +@end lilypond + +Per scrivere partiture un po' più complesse di questi semplici esempi, +è meglio separare la struttura dello spartito dalle note e dai testi +mediante l'uso di variabili. Di queste si parla più approfonditamente +in @ref{Organizing pieces with variables}. + + +@seealso +Guida alla Notazione: @ruser{Vocal music}. + + +@node Ritocchi finali +@section Ritocchi finali +@translationof Final touches + +Questa è la sezione finale della guida; spiega come dare gli ultimi +ritocchi a semplici pezzi, e fornisce un'introduzione +al resto del manuale. + +@menu +* Organizzare i brani con le variabili:: +* Numero di versione:: +* Aggiungere i titoli:: +* Nomi assoluti delle note:: +* Dopo il tutorial:: +@end menu + + +@node Organizzare i brani con le variabili +@subsection Organizzare i brani con le variabili +@translationof Organizing pieces with variables + +@cindex variabili +@cindex variabili, definire +@cindex identificatori +@cindex macro +@cindex assegnare le variabili +@cindex usare le variabili +@cindex variabili, usare +@cindex variabili, caratteri permessi nelle +@cindex caratteri permessi nelle variabili + +Quando tutti gli elementi discussi precedentemente vengono combinati insieme +per produrre file di maggiori dimensioni, anche le espressioni musicali diventano molto più +grandi. Nella musica polifonica con molti righi musicali, i file di input +possono diventare molto confusi. Possiamo ridurre tale confusione attraverso +l'uso delle @emph{variabili}. + +Con le variabili (conosciute anche come identificatori o macro), possiamo +scomporre le espressioni musicali complesse. Una variabile viene assegnata +nel seguente modo: + +@example +namedMusic = @{ @dots{} @} +@end example + +I contenuti dell'espressione musicale @code{namedMusic} possono essere +usati in seguito ponendo una barra inversa (backslash) di fronte al nome +(@code{\namedMusic}, proprio come in un normale comando LilyPond). + +@lilypond[verbatim,quote] +violin = \new Staff { + \relative c'' { + a4 b c b + } +} +cello = \new Staff { + \relative c { + \clef bass + e2 d + } +} +{ + << + \violin + \cello + >> +} +@end lilypond + +@noindent +Il nome di una variabile deve contenere soltanto caratteri alfabetici, non +può avere numeri, trattini bassi (underscore) o trattini di altro tipo. + +Le variabili devono essere definite @emph{prima} della principale +espressione musicale, ma possono poi essere usate quante volte si vuole +e ovunque, una volta definite. Possono essere usate anche +all'interno della definizione di un'altra variabile successiva, dando la possibilità di +accorciare l'input se una sezione della musica viene ripetuta molte volte. + +@lilypond[verbatim,quote] +tripletA = \times 2/3 { c,8 e g } +barA = { \tripletA \tripletA \tripletA \tripletA } + +\relative c'' { + \barA \barA +} +@end lilypond + +Le variabili possono essere utilizzate per molti tipi di oggetto +nell'input. Ad esempio, + +@example +width = 4.5\cm +name = "Wendy" +aFivePaper = \paper @{ paperheight = 21.0 \cm @} +@end example + +A seconda dei suoi contesti, la variabile può essere usata in punti +differenti. L'esempio seguente usa le variabili mostrate sopra: + +@example +\paper @{ + \aFivePaper + line-width = \width +@} +@{ + c4^\name +@} +@end example + + +@node Numero di versione +@subsection Numero di versione +@translationof Version number + +@cindex versioning +@cindex versione +@cindex numero di versione +@cindex aggiornamenti +@cindex aggiornamenti futuri +@cindex aggiornare i file +@cindex file, aggiornare + +@funindex \version +@funindex version +@funindex convert-ly + +La dichiarazione @code{\version} definisce la versione di LilyPond che +è stata usata per scrivere il file: + +@example +\version @w{"@version{}"} +@end example + +@noindent +Per convenzione, è posta in cima al file LilyPond. + +Queste annotazioni fanno sì che i futuri aggiornamenti di LilyPond procedano +senza intoppi. I cambiamenti nella sintassi sono gestiti da un programma +speciale, @command{convert-ly}, che si basa su @code{\version} per +determinare quali regole applicare. Per maggiori dettagli, si veda +@rprogram{Updating files with convert-ly}. + + +@node Aggiungere i titoli +@subsection Aggiungere i titoli +@translationof Adding titles + +@cindex titolo +@cindex intestazioni +@cindex blocco dell'intestazione + +@funindex \header +@funindex header + +Titolo, compositore, numero di opus e informazioni simili vengono +inserite nel blocco @code{\header}. Questo si trova fuori dalla +principale espressione musicale; il blocco @code{\header} viene solitamente +posto sotto il numero di versione. + +@example +\version @w{"@version{}"} +\header @{ + title = "Symphony" + composer = "Me" + opus = "Op. 9" +@} + +@{ + @dots{} music @dots{} +@} +@end example + +Quando il file viene elaborato, sopra la musica vengono visualizzati +il titolo e il compositore. Si possono trovare maggiori informazioni +sui titoli in @ruser{Creating titles}. + + +@node Nomi assoluti delle note +@subsection Nomi assoluti delle note +@translationof Absolute note names + +@cindex nomi delle note +@cindex nomi delle note, assoluti +@cindex modo assoluto +@cindex valori assoluti per le altezze +@cindex altezze, valori assoluti +@cindex nomi assoluti delle note + +Finora abbiamo sempre usato @code{\relative} per definire le altezze. +Questo è il modo più semplice per inserire gran parte della musica, ma esiste +anche un altro modo per definire le altezze: il modo assoluto. + +Se si omette @code{\relative}, LilyPond tratta tutte le altezze come +valori assoluti. Un @code{c'} si riferirà sempre al Do centrale, un +@code{b} si riferirà sempre alla nota che si trova un semitono sotto il +Do centrale, e un @code{g,} indicherà sempre la nota sull'ultima riga +della chiave di basso. + +@lilypond[verbatim,quote] +{ + \clef bass + c' b g, g, + g, f, f c' +} +@end lilypond + +Ecco una scala con quattro ottave: + +@lilypond[verbatim,quote] +{ + \clef bass + c, d, e, f, + g, a, b, c + d e f g + a b c' d' + \clef treble + e' f' g' a' + b' c'' d'' e'' + f'' g'' a'' b'' + c'''1 +} +@end lilypond + +Come si può vedere, scrivere una melodia in chiave di violino richiede un +ampio uso di virgolette @code{'}. Si consideri questo frammento tratto da Mozart: + +@lilypond[verbatim,quote] +{ + \key a \major + \time 6/8 + cis''8. d''16 cis''8 e''4 e''8 + b'8. cis''16 b'8 d''4 d''8 +} +@end lilypond + +Tutte queste virgolette rendono l'input meno leggibile e sono una fonte +di errori. Usando @code{\relative}, l'esempio precedente è molto più +semplice da leggere e scrivere: + +@lilypond[verbatim,quote] +\relative c'' { + \key a \major + \time 6/8 + cis8. d16 cis8 e4 e8 + b8. cis16 b8 d4 d8 +} +@end lilypond + +Se si fa un errore con un segno di ottava (@code{'} o @code{,}) +quando si lavora col modo @code{\relative}, è molto evidente -- tante +note saranno nell'ottava sbagliata. Quando si lavora in modo assoluto, +un singolo errore non sarà tanto visibile, e non sarà così facile da +trovare. + +Tuttavia, il modo assoluto è utile per la musica che fa uso di ampi +intervalli, e lo è ancora di più per i file LilyPond generati dal +computer. + + + +@node Dopo il tutorial +@subsection Dopo il tutorial +@translationof After the tutorial + +Dopo aver finito di leggere la guida, probabilmente dovresti cercare +di scrivere uno o due brani. Puoi iniziare aggiungendo delle note a uno +dei @ref{Templates}. Se necessiti di una qualche notazione che non è +stata coperta nel tutorial, dai un'occhiata alla Guida alla Notazione, +a cominciare da @ruser{Musical notation}. Se vuoi scrivere per un gruppo +di strumenti che non è incluso nei template, dai un'occhiata a +@ref{Extending the templates}. + +Una volta che hai scritto alcuni brevi pezzi, puoi proseguire la lettura +del Manuale di Apprendimento (capitoli 3-5). Ovviamente non c'è niente +di male nel leggerli subito! Però tieni conto che la parte restante del +Manuale di Apprendimento parte dal presupposto che tu abbia già confidenza +con l'input di LilyPond. Puoi saltare questi capitoli adesso, e tornare +a leggerli quando ti sarai fatto un po' di esperienza. + +In questo tutorial e nel resto del Manuale di Apprendimento, alla fine di +ogni sezione c'è un paragrafo @strong{See also}, che contiene +riferimenti incrociati ad altre sezioni: non dovresti seguire questi +riferimenti quando leggi il manuale per la prima volta; quando avrai completato +la lettura di tutto il Manuale di Apprendimento, potrai rileggere alcune +sezioni e seguire i riferimenti incrociati per letture di approfondimento. + +Se non lo hai già fatto, @emph{ti consigliamo} di leggere +FIXME FIXME FIXME +@c @ref{About the documentation}. Contiene molte informazioni su LilyPond, +ed è quindi utile per i nuovi utenti, che spesso non sanno dove cercare +aiuto. Se dedichi cinque minuti all'attenta lettura di quella sezione, +potresti risparmiarti ore di frustrazione sprecate a guardare in posti sbagliati! + diff --git a/Documentation/it/learning/fundamental.itely b/Documentation/it/learning/fundamental.itely new file mode 100644 index 0000000000..cab7fecd55 --- /dev/null +++ b/Documentation/it/learning/fundamental.itely @@ -0,0 +1,3195 @@ +@c -*- coding: utf-8; mode: texinfo; documentlanguage: it -*- + +@ignore + Translation of GIT committish: a30fa41fac8fb2771a76f6d1edbec9714298ee36 + + When revising a translation, copy the HEAD committish of the + version that you are working on. See TRANSLATION for details. +@end ignore + +@c \version "2.12.0" + +@node Concetti fondamentali +@chapter Concetti fondamentali +@translationof Fundamental concepts + +Nel Tutorial abbiamo visto come produrre della bella musica a stampa +da un semplice file di testo. Questa sezione presenta i concetti e le +tecniche richiesti per produrre partiture ugualmente belle, ma +più complesse. + +@menu +* Come funzionano i file di input di LilyPond:: +* Le voci contengono la musica:: +* Contesti e incisori:: +* Estendere i modelli:: +@end menu + + +@node Come funzionano i file di input di LilyPond +@section Come funzionano i file di input di LilyPond +@translationof How LilyPond input files work + +Il formato di input di LilyPond ha una struttura piuttosto libera, che dà +agli utenti esperti una grande flessibilità nell'organizzare i file come +preferiscono. Ma questa flessibilità può creare confusione nei nuovi +utenti. Questa sezione spiegherà in parte questa struttura, ma +sorvolerà su alcuni dettagli in favore della semplicità. Per una +descrizione completa del formato di input, si veda @ruser{File structure}. + +@menu +* Introduzione alla struttura di un file di LilyPond:: +* La partitura è una (singola) espressione musicale composta:: +* Annidare le espressioni musicali:: +* Sul non annidamento di parentesi e legature di valore:: +@end menu + +@node Introduzione alla struttura di un file di LilyPond +@subsection Introduzione alla struttura di un file di LilyPond +@translationof Introduction to the LilyPond file structure + +@cindex formato di input +@cindex struttura del file + +Un esempio basilare di un file di input di LilyPond è + +@example +\version @w{"@version{}"} +\header @{ @} +\score @{ + @var{...compound music expression...} % all the music goes here! + \layout @{ @} + \midi @{ @} +@} +@end example + +@noindent +Ci sono molte varianti a questo modello di base, ma questo esempio +serve da utile punto di partenza. + +@funindex \book +@funindex book +@funindex \score +@funindex score +@cindex book (libro) +@cindex score (partitura) +@cindex libro +@cindex partitura + +Finora nessuno degli esempi che abbiamo visto ha usato il comando +@code{\score@{@}}. Questo si spiega col fatto che LilyPond, quando +elabora un input semplice, aggiunge automaticamente gli altri comandi +necessari. LilyPond tratta un input come questo: + +@example +\relative c'' @{ + c4 a d c +@} +@end example + +@noindent +come forma abbreviata per questo: + +@example +\book @{ + \score @{ + \new Staff @{ + \new Voice @{ + \relative c'' @{ + c4 a b c + @} + @} + @} + \layout @{ @} + @} +@} +@end example + +In altre parole, se l'input contiene un'espressione musicale singola, +LilyPond interpreterà il file come se l'espressione musicale +fosse racchiusa dentro i comandi mostrati sopra. + +@cindex contesti impliciti +@cindex contesti, impliciti + +@strong{Attenzione!} Molti esempi nella documentazione di LilyPond +ometteranno i comandi @code{\new Staff} e @code{\new Voice}, +lasciando che questi siano creati implicitamente. Per gli esempi +semplici questo metodo funziona bene, ma per quelli più complessi, soprattutto +quando vengono usati ulteriori comandi, la creazione implicita dei contesti +può dare risultati inattesi, ad esempio creando dei righi non voluti. +Il modo per creare i contesti esplicitamente è spiegato in +@ref{Contexts and engravers}. + +@warning{Quando si inseriscono più di poche linee di musica, si consiglia +di creare sempre esplicitamente i righi e le voci.} + +Ora però torniamo al primo esempio ed esaminiamo il comando +@code{\score}, lasciando gli altri comandi secondo l'impostazione predefinita. + +Un blocco @code{\score} deve sempre contenere una sola espressione musicale, +e questa deve trovarsi subito dopo il comando @code{\score}. +Ricorda che un'espressione musicale può essere qualsiasi cosa, da una +singola nota a una grande espressione composta come + +@example +@{ + \new StaffGroup << + @var{...insert the whole score of a Wagner opera in here...} + >> +@} +@end example + +@noindent +Tutto quanto è compreso in @code{@{ ... @}} costituisce un'unica +espressione musicale. + +Come abbiamo detto prima, il blocco @code{\score} può contenere altri +elementi, come ad esempio + +@example +\score @{ + @{ c'4 a b c' @} + \header @{ @} + \layout @{ @} + \midi @{ @} +@} +@end example + +@funindex \header +@funindex header +@funindex \layout +@funindex layout +@funindex \midi +@funindex midi +@cindex header +@cindex layout +@cindex midi + +@noindent +Si noti che questi tre comandi -- @code{\header}, @code{\layout} e +@code{\midi} -- sono speciali: diversamente da molti altri comandi che +iniziano con un backslash (@code{\}), @emph{non} sono espressioni +musicali né fanno parte di alcuna espressione musicale. Dunque, possono +essere collocati dentro o fuori da un blocco @code{\score}. Di solito +questi comandi vengono posti fuori dal blocco @code{\score} -- ad esempio, +@code{\header} spesso viene messo sopra il comando @code{\score}, come mostra +l'esempio all'inizio di questa sezione. + +Altri due comandi che non hai incontrato finora sono +@code{\layout @{ @}} e @code{\midi @{@}}. Se questi appaiono come +in figura, LilyPond creerà rispettivamente un output per la stampa +e uno per il MIDI. Sono descritti dettagliatamente nella +Guida alla notazione, in @ruser{Score layout}, e +@ruser{Creating MIDI files}. + +@cindex partiture, multiple +@cindex libro, blocco implicito +@cindex implicito, blocco del libro +@funindex \book +@funindex book + +Puoi scrivere molteplici blocchi @code{\score}. Ciascuno verrà +trattato come una partitura separata, ma saranno tutti combinati in +un unico file di output. Non è necessario il comando @code{\book} +-- ne verrà creato uno automaticamente. Tuttavia, se si desiderano +file di output separati da un file @code{.ly}, allora si deve usare +il comando @code{\book} per separare le diverse sezioni: ogni blocco +@code{\book} produrrà un file di output separato. + +In breve: + +Ogni blocco @code{\book} crea un file di output separato (ovvero, un +file PDF). Se non ne hai aggiunto uno esplicitamente, LilyPond racchiude +implicitamente tutto il tuo codice di input in un blocco @code{\book}. + +Ogni blocco @code{\score} è un pezzo di musica separato all'interno di +un blocco @code{\book}. + +@cindex layout, effetto della posizione del blocco + +Ogni blocco @code{\layout} influenza il blocco @code{\score} o +@code{\book} in cui compare -- ovvero, un blocco @code{\layout} +che si trova dentro un blocco @code{\score} riguarda solo quel blocco +@code{\score}, mentre un blocco @code{\layout} che si trova fuori da un +blocco @code{\score} (e quindi in un blocco @code{\book}, esplicitamente +o implicitamente) riguraderà ogni @code{\score} in quel @code{\book}. + +Per maggiori dettagli si veda @ruser{Multiple scores in a book}. + +@cindex variabili + +Un'altra grande scorciatoia è la possibilità di definire variabili (vedi +@ref{Organizing pieces with variables}). Tutti +i modelli usano questa forma + +@example +melodia = \relative c' @{ + c4 a b c +@} + +\score @{ + \melodia +@} +@end example + +Quando LilyPond esamina questo file, prende il valore di +@code{melodia} (tutto ciò che si trova dopo il segno di uguale) e lo inserisce +ovunque si trovi @code{\melodia}. Non c'è una regola specifica per i +nomi -- il nome può essere @code{melodia}, @code{globale}, +@code{tempo}, +@code{manodestrapiano}, o @code{variabile}. Per maggiori dettagli, +si veda @ref{Saving typing with variables and functions}. +Ricordati che puoi usare quasi ogni nome che vuoi, purché esso +contenga solo caratteri alfabetici e sia diverso dai nomi dei +comandi di LilyPond. Le esatte limitazioni relative ai nomi +delle variabili sono spiegate dettagliatamente in @ruser{File structure}. + + +@seealso +Per una definizione completa del formato di input, si veda +@ruser{File structure}. + + +@node La partitura è una (singola) espressione musicale composta +@subsection La partitura è una (singola) espressione musicale composta +@translationof Score is a (single) compound musical expression + +@funindex \score +@funindex score +@cindex partitura +@cindex score +@cindex contenuto di un blocco score +@cindex score, contenuto del blocco +@cindex espressione musicale composta +@cindex composta, espressione musicale + +Abbiamo visto l'organizzazione generale dei file di input di LilyPond +nella sezione precedente, @ref{Introduction to the LilyPond file structure}. +Ma sembra che abbiamo saltato la parte più importante: cosa dobbiamo +scrivere dopo @code{\score}? + +In realtà non l'abbiamo affatto dimenticato. Il grande mistero è, +semplicemente, che @emph{non c'è} alcun mistero. Questa linea spiega tutto: + +@quotation +@emph{Un blocco @code{\score} deve iniziare con un'espressione musicale composta.} +@end quotation + +@noindent +Per capire cosa si intende per espressione musicale e per espressione +musicale composta, potrebbe esserti utile ripassare il tutorial, +@ref{Music expressions explained}. In quella sezione, abbiamo visto +come costruire grandi espressioni musicali a partire da piccoli brani -- abbiamo +iniziato con le note, poi gli accordi, etc. Adesso inzieremo da una grande +espressione musicale e proseguiremo poi a spiegarne i dettagli. Per semplicità, +nel nostro esempio useremo soltanto un canto e un pianoforte. Per questa formazione +non abbiamo bisogno di @code{StaffGroup}, che non fa altro che raggruppare un insieme +di righi con una parentesi graffa a sinistra, ma abbiamo comunque bisogno dei +righi per il canto e per il pianoforte. + +@example +\score @{ + @{ % questa parentesi inizia la principale espressione musicale composta + \new StaffGroup << + @var{...inserisci qui la partitura completa di un'opera di Wagner...} + >> + @} % questa parentesi chiude la principale espressione musicale composta + \layout @{ @} +@} +@end example + +Un'intera opera di Wagner sarebbe probabilmente il doppio di questo +manuale, quindi aggiungeremo solo un pianoforte e un cantante. Per questo +ensemble non abbiamo bisongo di @code{StaffGroup}, che non fa altro che +raggruppare un certo numero di righi con una parentesi a sinistra, dunque lo +toglieremo. Tuttavia @emph{abbiamo} bisogno di un pianoforte e di una voce. + +@example +\score @{ + << + \new Staff = "canto" << + >> + \new PianoStaff = "pianoforte" << + >> + >> + \layout @{ @} +@} +@end example + +In questo esempio abbiamo dato dei nomi ai righi -- @qq{canto} e +@qq{pianoforte}. Non è necessario in questo caso, ma è una buona abitudine +da coltivare, perché ti permette di vedere a colpo d'occhio a cosa serve +ciascun rigo. + +Ricorda che si usano @code{<< ... >>} invece di @code{@{ ... @}} per +indicare la musica simultanea. In questo modo la parte vocale e quella di +pianoforte appaiono una sopra l'altra nello spartito. Il costrutto @code{<< ... >>} +non sarebbe necessario per il rigo del cantante nell'esempio precedente se contenesse +soltanto un'espressione musicale sequenziale, ma @code{<< ... >>} al posto delle parentesi +è necessario se la musica sul rigo deve contenere due o più espressioni simultanee, +ad esempio due voci simultanee, o una voce con del testo. +Vogliamo avere una voce con del testo, dunque ci servono le parentesi +ad angolo. Aggiungeremo la musica vera e propria in seguito; per adesso +mettiamo soltanto delle semplici note e del testo. Se hai dimenticato come +aggiungere del testo, potresti voler ripassare @code{\addlyrics} in @ref{Setting simple songs}. + +@lilypond[verbatim,quote,ragged-right] +\score { + << + \new Staff = "canto" << + \new Voice = "vocal" { c'1 } + \addlyrics { And } + >> + \new PianoStaff = "piano" << + \new Staff = "upper" { c'1 } + \new Staff = "lower" { c'1 } + >> + >> + \layout { } +} +@end lilypond + +Ora abbiamo molti più dettagli. Abbiamo il rigo del cantante: esso +contiene una @code{Voice} o voce (in LilyPond, questo termine si riferisce +a un insieme di note, non necessariamente alle note della voce -- ad +esempio, un violino di solito costituisce una voce) e del testo. Abbiamo +anche il rigo del pianoforte, che a sua volta comprende un rigo superiore (per la mano +destra) e uno inferiore (per la mano sinistra), sebbene a quest'ultimo debba +ancora essere assegnata una chiave di basso. + +A questo punto possiamo iniziare ad inserire le note. All'interno delle +parentesi graffe vicine a @code{\new Voice = "vocal"}, possiamo iniziare a scrivere + +@example +\relative c'' @{ + r4 d8\noBeam g, c4 r +@} +@end example + +Ma se facessimo così, la sezione @code{\score} diventerebbe molto +lunga, e sarebbe più difficile comprendere quel che accade. Usiamo +quindi le variabili piuttosto. Queste sono state introdotte alla fine +della sezione precedente, ricordi? Per far sì che i contenuti della +variabile @code{text} siano interpretati come testo, li facciamo precedere +da @code{\lyricmode}. Come in @code{\addlyrics}, questo comando trasforma la +modalità di input in modalità testo. Senza di esso, LilyPond cercherebbe di +interpretare i contenuti come se fossero note, e questo produrrebbe degli +errori. (Sono disponibili molte altre modalità di input, si veda @ruser{Input modes}.) + +Dunque se aggiungiamo un po' di note e una chiave di basso per la mano +sinistra, otteniamo un brano musicale vero e proprio: + +@lilypond[verbatim,quote,ragged-right] +melody = \relative c'' { r4 d8\noBeam g, c4 r } +text = \lyricmode { And God said, } +upper = \relative c'' { 2~ } +lower = \relative c { b2 e2 } + +\score { + << + \new Staff = "canto" << + \new Voice = "vocal" { \melody } + \addlyrics { \text } + >> + \new PianoStaff = "piano" << + \new Staff = "upper" { \upper } + \new Staff = "lower" { + \clef "bass" + \lower + } + >> + >> + \layout { } +} +@end lilypond + +Quando scrivi (o leggi) una sezione @code{\score}, prenditela comoda +e stai attento. Comincia dal livello più esterno, poi lavora su +ogni livello più piccolo. È anche molto utile essere rigorosi +nell'indentare l'input -- ovvero fare attenzione che ogni elemento di +uno stesso livello presente nell'editor di testo si trovi nella stessa +posizione orizzontale. + + +@seealso +Guida alla Notazione: @ruser{Structure of a score}. + + +@node Annidare le espressioni musicali +@subsection Annidare le espressioni musicali +@translationof Nesting music expressions + +@cindex righi temporanei +@cindex temporanei, righi +@cindex ossia + +Non è obbligatorio dichiarare tutti i righi fin dall'inizio; possono +essere invece introdotti temporaneamente in ogni momento. Questo è utile +in particolare per creare le sezioni ossia -- si veda @rglos{ossia}. Ecco un +semplice esempio che mostra come inserire un nuovo rigo temporaneamente, per +la durata di tre note: + +@lilypond[verbatim,quote,ragged-right] +\new Staff { + \relative g' { + r4 g8 g c4 c8 d | + e4 r8 + << + { f c c } + \new Staff { + f8 f c + } + >> + r4 | + } +} +@end lilypond + +@noindent +Si noti che la dimensione della chiave è la stessa di una chiave +che segue un cambio di chiave --ovvero leggermente più piccola della +chiave all'inizio del rigo. Questo è utile per le chiavi che devono +essere posizionate a metà di un rigo. + +@cindex rigo, posizionamento del + +La sezione ossia può anche essere posta sopra il rigo +nel seguente modo: + +@lilypond[verbatim,quote,ragged-right] +\new Staff = "main" { + \relative g' { + r4 g8 g c4 c8 d | + e4 r8 + << + { f c c } + \new Staff \with { + alignAboveContext = #"main" } + { f8 f c } + >> + r4 | + } +} +@end lilypond + +Questo esempio usa @code{\with}, che verrà spiegato in modo più +completo in seguito. È un modo per cambiare il comportamento predefinito +di un singolo rigo. In questo caso, indica che il nuovo rigo deve essere +posizionato sopra il rigo chiamato @qq{main} invece che nella posizione +predefinita, che è in basso. + + +@seealso +Gli ossia vengono spesso scritti senza armatura di chiave e senza +tempo, e solitamente hanno un font più piccolo. +Richiedono ulteriori comandi che non sono stati ancora +presentati. Si veda @ref{Size of objects}, +e @ruser{Ossia staves}. + + +@node Sul non annidamento di parentesi e legature di valore +@subsection Sul non annidamento di parentesi e legature di valore +@translationof On the un-nestedness of brackets and ties + +@cindex parentesi, annidare +@cindex tipi di parentesi +@cindex parentesi, racchiudere vs. contrassegnare + +Abbiamo già incontrato vari tipi di parentesi e di costrutti che fanno +uso di parentesi mentre scrivevamo il file di input di LilyPond. Ognuna obbedisce a +diverse regole, e questo può generare confusione all'inizio. Rivediamo prima i +diversi tipi di parentesi e di costrutti in parentesi. + +@c attempt to force this onto a new page +@need 50 +@multitable @columnfractions .3 .7 +@headitem Tipo di parentesi + @tab Funzione +@item @code{@{ .. @}} + @tab Racchiude un frammento di musica sequenziale +@item @code{< .. >} + @tab Racchiude le note di un accordo +@item @code{<< .. >>} + @tab Racchiude le espressioni musicali simultanee +@item @code{( .. )} + @tab Contrassegna l'inizio e la fine di una legatura di portamento +@item @code{\( .. \)} + @tab Contrassegna l'inizio e la fine di una legatura di frase +@item @code{[ .. ]} + @tab Contrassegna l'inizio e la fine di una cediglia impostata manualmente +@end multitable + +A questi dovremmo aggiungere altri costrutti che generano linee tra +e lungo le note: legature di valore (contrassegnate dal tilde, @code{~}), +i gruppi irregolari scritti in questa forma @code{\times x/y @{..@}}, e +gli abbellimenti, indicati con @code{\grace@{..@}}. + +Fuori da LilyPond, l'uso convenzionale delle parentesi esige che i +diversi tipi siano annidati adeguatamente, in questo modo, @code{<< [ @{ ( .. ) +@} ] >>}, dove le parentesi che chiudono si trovano esattamente +nell'ordine opposto alle parentesi che aprono. Questo @strong{è} un +requisito per i tre tipi di parentesi descritti dal termine +@q{Racchiude} nella tabella precedente -- devono annidarsi correttamente. Tuttavia, +i restanti costrutti in parentesi, descritti dal termine @q{Contrassegna} nella tabella, +così come le legature e i gruppi irregolari, @strong{non} devono annidarsi +correttamente con alcuna delle parentesi o dei costrutti in parentesi. Infatti queste +non sono parentesi nel senso che racchiudono qualcosa -- sono semplicemente dei contrassegni +che indicano dove qualcosa inizia e finisce. + +Quindi, ad esempio, una legatura di frase può iniziare prima di una +cediglia inserita manualmente e finire prima della fine della cediglia -- non +molto musicale, forse, ma possibile: + +@lilypond[quote,verbatim,fragment,ragged-right,relative=2] + { g8\( a b[ c b\) a] } +@end lilypond + +In generale, tipi diversi di parentesi, costrutti in parentesi e segni che riguardano +gruppi irregolari, legature e abbellimenti possono essere combinati +liberamente. L'esempio seguente mostra una cediglia che si estende su un +gruppo irregolare (linea 1), una legatura di portamento che si estende su +una terzina (linea 2), una cediglia e una legatura di portamento che si +estendono su una terzina, una legatura di valore che attraversa due gruppi +irregolari, e una legatura di frase che si estende fuori da un gruppo +irregolare (linee 3 e 4). + +@lilypond[quote,verbatim,fragment,ragged-right] +{ + r16[ g16 \times 2/3 {r16 e'8] } + g16( a \times 2/3 {b d) e' } + g8[( a \times 2/3 {b d') e'~]} + \times 4/5 {e'32\( a b d' e'} a'4.\) +} +@end lilypond + + +@node Le voci contengono la musica +@section Le voci contengono la musica +@translationof Voices contain music + +Un cantante ha bisogno della voce per cantare, e lo stesso vale per LilyPond. +La musica vera e propria per tutti gli strumenti di una partitura è +contenuta nelle Voci -- il più importante concetto di LilyPond. + +@menu +* Sento le Voci:: +* Definire esplicitamente le voci:: +* Voci e musica vocale:: +@end menu + +@node Sento le Voci +@subsection Sento le Voci +@translationof I'm hearing Voices + +@cindex polifonia +@cindex livelli +@cindex varie voci +@cindex voci, varie +@cindex Voice (voce), contesto di +@cindex contesto Voice (voce) +@cindex musica simultanea +@cindex simultanea, musica +@cindex musica sincrona +@cindex sincrona, musica +@cindex voci vs. accordi +@cindex accordi vs. voci + +I livelli più profondi, più interni e più importanti di uno spartito di LilyPond +sono chiamati @q{Voice contexts} («Contesti della voce») o semplicemente @q{Voices} +(«Voci»). +In altri programmi di notazione le voci sono chiamate talvolta @q{layers} +(«livelli»). + +Il livello o contesto della voce è l'unico che può contenere la +musica. Se un contesto della voce non è dichiarato esplicitamente, ne +viene creato uno automaticamente, come abbiamo visto all'inizio di questo +capitolo. Alcuni strumenti, come ad esempio un oboe, possono produrre una +sola nota per volta. La musica scritta per tali strumenti è monofonica e +necessita di una sola voce. Invece gli strumenti che possono produrre più +di una nota contemporaneamente, come ad esempio il pianoforte, richiederanno +spesso voci multiple per codificare le diverse note e ritmi simultanei che +sono capaci di riprodurre. + +Ovviamente, una singola voce può contenere molte note in un accordo, +dunque quando l'uso delle voci multiple è davvero necessario? Si osservi +questo esempio di quattro accordi: + +@lilypond[quote,verbatim,fragment,ragged-right,relative=1] +\key g \major +4 +@end lilypond + +Questa musica può essere espressa usando soltanto i simboli dell'accordo, +ovvero le parentesi angolari, @code{< ... >}, e una singola voce è +sufficiente. Ma cosa accadrebbe se il Fa# fosse in realtà una nota di un +ottavo seguita da un Sol di un ottavo, una nota di passaggio che porta al La? +In questo caso abbiamo due note che iniziano nello stesso momento ma hanno +durate diverse: il Re da un quarto e il Fa# da un ottavo. Come si possono scrivere +queste note? Non possono essere scritte come un accordo perché tutte le note di +un accordo devono avere la stessa durata. E non possono nemmeno essere scritte +come due note in sequenza perché devono iniziare in contemporanea. Si tratta +quindi di un caso in cui sono necessarie due voci. + +Vediamo come ottenerle nella sintassi di input di LilyPond. + +@funindex << \\ >> +@funindex \\ + +Il modo più semplice per inserire frammenti che utilizzino più di una voce +su un rigo è scrivere ogni voce come una sequenza (con @code{@{...@}}), +e poi combinarle in simultanea tramite le doppie parentesi angolari, @code{<<...>>}. +Per collocarli in voci distinte, i frammenti devono essere separati da un doppio +backslash, @code{\\}. Senza di esso, le note sarebbero inserite in un'unica +voce, e questo normalmente causerebbe degli errori. Questa tecnica è +particolarmente adatta ai brani che sono in gran parte monofonici ma +con brevi e occasionali sezioni polifoniche. + +Ecco come suddividere gli accordi precedenti in due voci e aggiungere sia +la nota di passaggio che la legatura di portamento: + +@lilypond[quote,verbatim,fragment,ragged-right,relative=2] +\key g \major +% Voice "1" Voice "2" +<< { g4 fis8( g) a4 g } \\ { d4 d d d } >> | +@end lilypond + +Si noti come i gambi della seconda voce adesso siano rivolti in basso. + +Ecco un altro semplice esempio: + +@lilypond[quote,verbatim,fragment,ragged-right,relative=2] +\key d \minor +% Voice "1" Voice "2" +<< { r4 g g4. a8 } \\ { d,2 d4 g } >> | +<< { bes4 bes c bes } \\ { g4 g g8( a) g4 } >> | +<< { a2. r4 } \\ { fis2. s4 } >> | +@end lilypond + +Non è necessario usare un costrutto con @code{<< \\ >>} in ogni +battuta. Per musiche che hanno poche note in ogni battuta questo layout +può aiutare la leggibilità del codice, ma se ci sono molte note in +ogni battuta è preferibile dividere ogni voce, così: + +@lilypond[quote,verbatim,fragment,ragged-right,relative=2] +\key d \minor +<< { + % Voice "1" + r4 g g4. a8 | + bes4 bes c bes | + a2. r4 | +} \\ { + % Voice "2" + d,2 d4 g | + g4 g g8( a) g4 | + fis2. s4 | +} >> +@end lilypond + + +@cindex voci, nome delle +@cindex voci che attraversano le parentesi +@cindex legature che attraversano le parentesi + +Questo esempio ha solo due voci, ma si potrebbe usare lo stesso +costrutto per scrivere tre o più voci aggiungendo più backslash. + +I contesti della voce hanno i nomi @code{"1"}, @code{"2"}, etc. +In ogni contesto, la direzione verticale di legature di portamento, +gambi, legature di valore, dinamica, etc., è impostata correttamente. + +@lilypond[quote,verbatim,fragment] +\new Staff \relative c' { + % Main voice + c16 d e f + % Voice "1" Voice "2" Voice "3" + << { g4 f e } \\ { r8 e4 d c8 ~ } >> | + << { d2 e2 } \\ { c8 b16 a b8 g ~ g2 } \\ { s4 b4 c2 } >> | +} +@end lilypond + +Tutte queste voci sono separate dalla voce principale che contiene le +note e che si trova fuori dal costrutto @code{<< .. >>}, che chiameremo +il @emph{costrutto simultaneo}. Legature di portamento e di valore +possono connettere solo note che fanno parte della stessa voce, quindi +le legature non possono entrare in un costrutto simultaneo o uscirne. Viceversa, +voci parallele appartenenti a costrutti simultanei distinti sullo stesso +rigo sono la stessa voce. Anche altre caratteristiche della voce di riferimento +sono trasferite ai costrutti simultanei. Ecco lo stesso esempio, ma +con colori e teste delle note diversi per ogni voce. Si noti che i +cambiamenti in una voce non interessano le altre voci, ma persistono +sulla stessa voce in seguito. Si noti anche che le note legate possono +essere divise sulle stesse voci in due costrutti, come mostra qui la +voce con i triangoli blu. + +@lilypond[quote,verbatim] +\new Staff \relative c' { + % Main voice + c16 d e f + << % Bar 1 + { + \voiceOneStyle + g4 f e + } + \\ + { + \voiceTwoStyle + r8 e4 d c8 ~ + } + >> + << % Bar 2 + % Voice 1 continues + { d2 e2 } + \\ + % Voice 2 continues + { c8 b16 a b8 g ~ g2 } + \\ + { + \voiceThreeStyle + s4 b4 c2 + } + >> +} +@end lilypond + +@funindex \voiceOneStyle +@funindex \voiceTwoStyle +@funindex \voiceThreeStyle +@funindex \voiceFourStyle +@funindex \voiceNeutralStyle + +I comandi @code{\voiceXXXStyle} sono pensati soprattutto +per documenti didattici come questo. Modificano il colore +della testa, del gambo e delle cediglie, e lo stile della +testa, così da rendere le voci facilmente distinguibili. +La voce uno è impostata su rombi rossi, la voce due su triangoli blu, +la voce tre su cerchi barrati verdi, e la voce quattro (non impiegata +nell'esempio) su croci magenta; @code{\voiceNeutralStyle} (anch'esso +non usato qui) riporta lo stile all'impostazione predefinita. +Vedremo in seguito come l'utente possa creare comandi simili. +Si veda @ref{Visibility and color of objects} e +@ref{Using variables for tweaks}. + +@cindex polifonia e modo relativo +@cindex modo relativo e polifonia + +La polifonia non cambia le relazioni tra le note all'interno di un +blocco @code{\relative @{ @}}. L'altezza di ogni nota continua a essere calcolata +in rapporto a quella della nota che la precede, o della prima nota del +precedente accordo. Dunque, in + +@example +\relative c' @{ notaA << < notaB notaC > \\ notaD >> notaE @} +@end example + +@noindent +@code{notaB} è relativa a @code{notaA} @* +@code{notaC} è relativa a @code{notaB}, non a @code{notaA}; @* +@code{notaD} è relativa a @code{notaB}, non a @code{notaA} o a +@code{notaC}; @* +@code{notaE} è relativa a @code{notaD}, non a @code{notaA}. + +Un metodo alternativo, che potrebbe essere più chiaro se le note nelle +voci sono ampiamente separate, consiste nel porre un comando @code{\relative} +all'inizio di ogni voce: + +@example +\relative c' @{ noteA ... @} +<< + \relative c'' @{ < noteB noteC > ... @} +\\ + \relative g' @{ noteD ... @} +>> +\relative c' @{ noteE ... @} +@end example + +Analizziamo infine le voci in un brano più complesso. Queste note sono +tratte dalle prime due battute del secondo dei due Notturni op. 32 di +Chopin. Questo esempio verrà usato successivamente, in questo e nel +prossimo capitolo, per illustrare varie tecniche di notazione, quindi +per il momento ignora qualsiasi cosa del codice sottostante che ti sembra +incomprensibile e concentrati solo sulla musica e sulle voci -- le parti +più complesse saranno spiegate tutte in sezioni successive. + +@c The following should appear as music without code +@lilypond[quote,ragged-right] +\new Staff \relative c'' { + \key aes \major + << % Voice one + { c2 aes4. bes8 } + \\ % Voice two + { aes2 f4 fes } + \\ % No voice three + \\ % Voice four + { + % Ignore these for now - they are explained in Ch 4 + \once \override NoteColumn #'force-hshift = #0 + 2 + \once \override NoteColumn #'force-hshift = #0.5 + des2 + } + >> | + 1 | +} +@end lilypond + +La direzione dei gambi viene spesso usata per indicare la continuità +di due linee melodiche simultanee. In questo esempio i gambi delle note +più acute sono tutti rivolti in su mentre i gambi delle note più gravi +sono tutti rivolti in giù. Questo è il primo indizio del fatto che è +coinvolta più di una voce. + +Ma è quando note che iniziano nello stesso momento hanno durate diverse +che il ricorso a voci multiple diventa realmente indispensabile. Osserva +le note che iniziano alla terza pulsazione della prima battuta. Il La +bemolle è una nota di tre ottavi, il Fa è una semiminima e il Re bemolle +è una minima. Non possono essere scritte come un accordo perché tutte +le note di un accordo devono avere la stessa durata. Né possono essere +scritte come note in sequenza, dato che devono iniziare contemporaneamente. +Questa sezione della battuta necessita di tre voci, e la normale pratica +consiste nello scrivere l'intera battuta su tre voci, come mostrato sotto, +dove abbiamo usato diverse teste e colori per le tre voci. Ancora una volta, +il codice che sta dietro questo esempio verrà spiegato dopo, quindi +ignora quel che non capisci. + +@c The following should appear as music without code +@c The three voice styles should be defined in -init +@lilypond[quote,ragged-right] +\new Staff \relative c'' { + \key aes \major + << + { % Voice one + \voiceOneStyle + c2 aes4. bes8 + } + \\ % Voice two + { \voiceTwoStyle + aes2 f4 fes + } + \\ % No Voice three (we want stems down) + \\ % Voice four + { \voiceThreeStyle + % Ignore these for now - they are explained in Ch 4 + \once \override NoteColumn #'force-hshift = #0 + 2 + \once \override NoteColumn #'force-hshift = #0.5 + des2 + } + >> | + 1 | +} +@end lilypond + + +Proviamo a scrivere il codice di questa musica da zero. Come +vedremo, questo pone alcune difficoltà. Come abbiamo imparato, +iniziamo usando il costrutto @code{<< \\ >>} per inserire la musica +della prima battuta in tre voci: + +@lilypond[quote,verbatim,fragment,ragged-right] +\new Staff \relative c'' { + \key aes \major + << + { c2 aes4. bes8 } \\ { aes2 f4 fes } \\ { 2 des2 } + >> + 1 +} +@end lilypond + +@cindex gambo in giù +@cindex voci e direzione dei gambi +@cindex gambi e direzione delle voci +@cindex gambo in su + +La direzione dei gambi è assegnata automaticamente: le voci +dispari avranno i gambi in su e le voci pari i gambi in +giù. I gambi per le voci 1 e 2 sono giusti, ma in questo brano i gambi della voce 3 +dovrebbero essere in giù. Possiamo correggere semplicemente +omettendo la voce tre e ponendo la musica nella voce quattro. Si può fare +aggiungendo semplicemente un altro paio di @code {\\}: + +@lilypond[quote,verbatim,fragment,ragged-right] +\new Staff \relative c'' { + \key aes \major + << % Voice one + { c2 aes4. bes8 } + \\ % Voice two + { aes2 f4 fes } + \\ % Omit Voice three + \\ % Voice four + { 2 des2 } + >> | + 1 | +} +@end lilypond + +@noindent +Possiamo vedere che questo corregge la direzione del gambo, ma espone +a un problema talvolta presente con le voci multiple: i gambi delle note +in una voce possono collidere con le teste delle note di un'altra voce. Nel +disporre le note, LilyPond permette alle note o agli accordi di due diverse +voci di occupare la stessa colonna verticale della nota purché i gambi siano +in direzioni opposte, ma le note della terza e quarta voce vengono +spostate, se necessario, per evitare la collisione tra le teste. Questo +di solito funziona bene, ma in questo esempio le note della voce più bassa, +con le impostazioni predefinite, appaiono chiaramente disposte in una posizione +non ottimale. LilyPond fornisce molti modi per aggiustare la collocazione +orizzontale delle note. Per ora, non siamo ancora pronti a cercare di +correggere questo problema, dunque dovremo aspettare fino a una +prossima sezione -- si veda la proprietà @code{force-hshift} in @ref{Fixing +overlapping notation}. + + +@seealso +Guida alla notazione: @ruser{Multiple voices}. + + +@node Definire esplicitamente le voci +@subsection Definire esplicitamente le voci +@translationof Explicitly instantiating voices + +@funindex \voiceOne +@funindex voiceOne +@funindex \voiceTwo +@funindex voiceTwo +@funindex \voiceThree +@funindex voiceThree +@funindex \voiceFour +@funindex voiceFour +@funindex \oneVoice +@funindex oneVoice +@funindex \new Voice +@cindex contesti della voce, creazione dei + +I contesti della voce possono anche essere creati manualmente, +all'interno di un blocco @code{<< >>} che crea musica polifonica, usando +@code{\voiceOne} ... @code{\voiceFour} per indicare le direzioni desiderate +per gambi, legature, etc. Nelle partiture più grandi questo metodo +è più chiaro, perché fa sì che le voci possano essere separate e nominate +in modo più descrittivo. + +Nello specifico, il costrutto @code{<< \\ >>} usato nella sezione +precedente: + +@example +\new Staff @{ + \relative c' @{ + << @{ e4 f g a @} \\ @{ c,4 d e f @} >> + @} +@} +@end example + +@noindent +è equivalente a + +@example +\new Staff << + \new Voice = "1" @{ \voiceOne \relative c' @{ e4 f g a @} @} + \new Voice = "2" @{ \voiceTwo \relative c' @{ c4 d e f @} @} +>> +@end example + +Entrambi hanno come risultato + +@c The following example should not display the code +@lilypond[ragged-right,quote] +\new Staff << + \new Voice = "1" { \voiceOne \relative c' { e4 f g a } } + \new Voice = "2" { \voiceTwo \relative c' { c4 d e f } } +>> +@end lilypond + +@cindex voci, tornare alla voce singola +@cindex tornare alla voce singola + +I comandi @code{\voiceXXX} impostano le direzioni di gambi, legature di +portamento, legature di valore, articolazioni, annotazioni, punti di +aumentazione di note puntate e diteggiature. @code{\voiceOne} e @code{\voiceThree} +fanno sì che questi oggetti siano rivolti verso l'alto, mentre @code{\voiceTwo} e +@code{\voiceFour} fanno sì che puntino verso il basso. Questi comandi producono +anche uno spostamento orizzontale per ogni voce quando si crei la necessità +di evitare collisioni tra le teste. Il comando @code{\oneVoice} +riporta i valori alle normali impostazioni di una singola voce. + +Vediamo tramite alcuni semplici esempi quali effetti esattamente +@code{\oneVoice}, @code{\voiceOne} e @code{voiceTwo} hanno su +markup, legature di valore, legature di portamento, e dinamica: + +@lilypond[quote,ragged-right,verbatim] +\relative c'{ + % Default behavior or behavior after \oneVoice + c d8 ~ d e4 ( f g a ) b-> c +} +@end lilypond + +@lilypond[quote,ragged-right,verbatim] +\relative c'{ + \voiceOne + c d8 ~ d e4 ( f g a ) b-> c + \oneVoice + c, d8 ~ d e4 ( f g a ) b-> c +} +@end lilypond + +@lilypond[quote,ragged-right,verbatim] +\relative c'{ + \voiceTwo + c d8 ~ d e4 ( f g a ) b-> c + \oneVoice + c, d8 ~ d e4 ( f g a ) b-> c +} +@end lilypond + +Vediamo adesso, usando l'esempio della sezione precedente, tre modi +diversi di scrivere uno stesso passo di musica polifonica, e i +rispettivi vantaggi, a seconda delle circostanze. + +Un'espressione che appare direttamente in un @code{<< >>} appartiene +alla voce principale (ma, attenzione: @strong{non} in un costrutto +@code{<< \\ >>}). Questo metodo è utile quando le altre voci entrano +mentre la voce principale sta già suonando. Ecco una versione più corretta +del nostro esempio. Le note a rombi rossi mostrano che la melodia +principale si trova ora nel contesto di una voce singola, e questo fa +sì che sia possibile disegnare una legatura di frase sopra di esse. + +@lilypond[quote,ragged-right,verbatim] +\new Staff \relative c' { + \voiceOneStyle + % The following notes are monophonic + c16^( d e f + % Start simultaneous section of three voices + << + % Continue the main voice in parallel + { g4 f e | d2 e2) } + % Initiate second voice + \new Voice { + % Set stems, etc, down + \voiceTwo + r8 e4 d c8 ~ | c8 b16 a b8 g ~ g2 + } + % Initiate third voice + \new Voice { + % Set stems, etc, up + \voiceThree + s2. | s4 b4 c2 + } + >> +} +@end lilypond + +@cindex annidare le espressioni musicali +@cindex annidare i costrutti simultanei +@cindex annidare le voci +@cindex voci temporanee +@cindex voci, annidare + +Sono possibili costrutti polifonici annidati più fittamente, e se una voce +appare solo brevemente questo potrebbe essere un modo più semplice +di scrivere lo spartito: + +@lilypond[quote,ragged-right,verbatim] +\new Staff \relative c' { + c16^( d e f + << + { g4 f e | d2 e2) } + \new Voice { + \voiceTwo + r8 e4 d c8 ~ | + << + {c8 b16 a b8 g ~ g2} + \new Voice { + \voiceThree + s4 b4 c2 + } + >> + } + >> +} +@end lilypond + +@cindex note spaziatrici + +Questo metodo di annidare nuove voci in breve è utile +quando solo piccole parti della musica sono polifoniche, ma quando +la polifonia è impiegata largamente in tutta la parte può essere più +chiaro ricorrere a voci multiple, usando le note spaziatrici per saltare +le parti in cui una delle voci è muta, come nel seguente esempio: + +@lilypond[quote,ragged-right,verbatim] +\new Staff \relative c' << + % Initiate first voice + \new Voice { + \voiceOne + c16^( d e f g4 f e | d2 e2) | + } + % Initiate second voice + \new Voice { + % Set stems, etc, down + \voiceTwo + s4 r8 e4 d c8 ~ | c8 b16 a b8 g ~ g2 | + } + % Initiate third voice + \new Voice { + % Set stems, etc, up + \voiceThree + s1 | s4 b4 c2 | + } +>> +@end lilypond + +@subsubheading Note columns + +@cindex colonna delle note +@cindex collisioni di note +@cindex note, collisioni di +@cindex comandi di spostamento +@funindex \shiftOff +@funindex shiftOff +@funindex \shiftOn +@funindex shiftOn +@funindex \shiftOnn +@funindex shiftOnn +@funindex \shiftOnnn +@funindex shiftOnnn + +Le note maggiormente ravvicinate all'interno di un accordo o quelle che +compaiono nello stesso momento in voci diverse sono disposte in due, e +talvolta più, colonne, per impedire la sovrapposizione delle teste. Esse +vengono chiamate colonne delle note. Le singole colonne di ognuna delle +voci sono indipendenti, e lo scarto adottato nella voce in uso è determinato +dal distanziamento delle colonne nei casi in cui altrimenti si determinerebbe +una collisione. Si può vedere nell'esempio in basso. Nella seconda battuta +il Do della seconda voce è spostato a destra del Re nella prima voce, e +nell'ultimo accordo il Do nella terza voce è spostato anch'esso a destra +delle altre note. + +I comandi @code{\shiftOn}, @code{\shiftOnn}, @code{\shiftOnnn}, e +@code{\shiftOff} specificano il grado con cui le note e gli accordi +della voce debbano essere spostati in caso di collisione. L'impostazione +predefinita prevede che le voci esterne (di norma le voci uno e due) +abbiano @code{\shiftOff} attivato, mentre le voci interne (terza e quarta) +abbiano @code{\shiftOn} attivato. Quando uno spostamento viene applicato, +le voci una e tre vengono spostate a destra e le voci due e quattro a sinistra. + +@code{\shiftOnn} e @code{\shiftOnnn} definiscono ulteriori livelli di +scarto che possono essere temporaneamente specificati per risolvere +le collisioni in situazioni complesse -- si veda @ref{Real music example}. + +Una colonna di note può contenere soltanto una nota (o accordo) di una +voce con gambi in su e una nota (o accordo) di una voce con gambi in +giù. Se note di due voci che hanno i gambi nella stessa direzione +sono poste nella stessa posizione ed entrambe le voci non hanno uno +spostamento specificato oppure ne hanno uno dello stesso tipo, si +produrrà il messaggio di errore @qq{Too many clashing note columns}. + + +@seealso +Guida alla notazione: @ruser{Multiple voices}. + + +@node Voci e musica vocale +@subsection Voci e musica vocale +@translationof Voices and vocals + +La musica vocale presenta una difficoltà in più: occorre combinare due +espressioni -- note e testo. + +@funindex \new Lyrics +@funindex \lyricsto +@funindex lyricsto +@funindex Lyrics +@cindex Lyrics, creazione di un contesto +@cindex testo, creazione di un contesto +@cindex testo, collegare a una voce + +Abbiamo già visto il comando @code{\addlyrics@{@}}, che ben si comporta +con le partiture semplici. Tuttavia, questa tecnica è piuttosto +limitata. Per musica più complessa, occorre introdurre il testo in +un contesto @code{Lyrics} usando @code{\new Lyrics} e collegando +esplicitamente il testo alle note con @code{\lyricsto@{@}}, tramite +il nome assegnato alla voce. + +@lilypond[quote,verbatim,fragment] +<< + \new Voice = "one" \relative c'' { + \autoBeamOff + \time 2/4 + c4 b8. a16 g4. f8 e4 d c2 + } + \new Lyrics \lyricsto "one" { + No more let sins and sor -- rows grow. + } +>> +@end lilypond + +Si noti che il testo deve essere collegato a un contesto @code{Voice}, +@emph{non} a un contesto @code{Staff}. Questo è un caso in cui è +necessario creare esplicitamente contesti @code{Staff} e @code{Voice}. + +@cindex testo e travatura +@cindex travatura e testo +@funindex \autoBeamOff +@funindex autoBeamOff + +La disposizione automatica delle travature predefinita di LilyPond funziona bene +per la musica strumentale, ma non altrettanto per la musica con testi, +dove le travature o non sono usate affatto o servono a indicare la +presenza di melismi nel testo. Nell'esempio precedente usiamo il +comando @code{\autoBeamOff} per disattivare la travatura automatica. + +@funindex \new ChoirStaff +@funindex ChoirStaff +@funindex \lyricmode +@funindex lyricmode +@cindex struttura di una partitura vocale +@cindex rigo per un coro + +Riprendiamo l'esempio precedente di Judas Maccabæus per presentare +questa tecnica più flessibile. Innanzitutto lo rimaneggiamo per +usare delle variabili per mezzo delle quali la musica e il testo +possano essere separate dalla struttura del rigo. Inseriamo anche +una parentesi ChoirStaff. Il testo deve essere introdotto da +@code{\lyricmode} per assicurare che siano interpretati come testo +invece che come musica. + +@lilypond[quote,verbatim] +global = { \time 6/8 \partial 8 \key f \major} +SopOneMusic = \relative c'' { + c8 | c([ bes)] a a([ g)] f | f'4. b, | c4.~ c4 } +SopTwoMusic = \relative c' { + r8 | r4. r4 c8 | a'([ g)] f f([ e)] d | e([ d)] c bes' } +SopOneLyrics = \lyricmode { + Let | flee -- cy flocks the | hills a -- dorn, __ } +SopTwoLyrics = \lyricmode { + Let | flee -- cy flocks the | hills a -- dorn, } + +\score { + \new ChoirStaff << + \new Staff << + \new Voice = "SopOne" { + \global + \SopOneMusic + } + \new Lyrics \lyricsto "SopOne" { + \SopOneLyrics + } + >> + \new Staff << + \new Voice = "SopTwo" { + \global + \SopTwoMusic + } + \new Lyrics \lyricsto "SopTwo" { + \SopTwoLyrics + } + >> + >> +} +@end lilypond + +Questa è la struttura di base di tutte le partiture vocali. Si possono +aggiungere più righi, più voci in ogni rigo, più versi nei testi, e +le variabili contenenti la musica possono essere poste in file +separati se dovessero diventare troppo lunghe. + +@cindex struttura di un inno +@cindex SATB, struttura di +@cindex vocale, partitura, varie strofe +@cindex varie strofe vocali +@cindex strofe, vocali, varie + +Ecco un esempio della prima linea di un inno con quattro +strofe, impostate su SATB. In questo caso le parole per tutte e quattro +le parti sono le stesse. Si noti l'uso delle variabili per separare +la notazione musicale e le parole dalla struttura del rigo. Si veda anche +come una variabile, che abbiamo deciso di chiamare @q{TimeKey}, venga usata +per avere vari comandi a disposizione all'interno dei due righi. In altri +esempi questo viene spesso chiamato @q{global}. + +@lilypond[quote,verbatim] +TimeKey = { \time 4/4 \partial 4 \key c \major} +SopMusic = \relative c' { c4 | e4. e8 g4 g | a a g } +AltoMusic = \relative c' { c4 | c4. c8 e4 e | f f e } +TenorMusic = \relative c { e4 | g4. g8 c4. b8 | a8 b c d e4 } +BassMusic = \relative c { c4 | c4. c8 c4 c | f8 g a b c4 } +VerseOne = \lyricmode { + E -- | ter -- nal fa -- ther, | strong to save, } +VerseTwo = \lyricmode { + O | Christ, whose voice the | wa -- ters heard, } +VerseThree = \lyricmode { + O | Ho -- ly Spi -- rit, | who didst brood } +VerseFour = \lyricmode { + O | Tri -- ni -- ty of | love and pow'r } + +\score { + \new ChoirStaff << + \new Staff << + \clef "treble" + \new Voice = "Sop" { \voiceOne \TimeKey \SopMusic } + \new Voice = "Alto" { \voiceTwo \AltoMusic } + \new Lyrics \lyricsto "Sop" { \VerseOne } + \new Lyrics \lyricsto "Sop" { \VerseTwo } + \new Lyrics \lyricsto "Sop" { \VerseThree } + \new Lyrics \lyricsto "Sop" { \VerseFour } + >> + \new Staff << + \clef "bass" + \new Voice = "Tenor" { \voiceOne \TimeKey \TenorMusic } + \new Voice = "Bass" { \voiceTwo \BassMusic } + >> + >> +} +@end lilypond + +@cindex strofa e ritornello + +Finiamo con un esempio che mostra come potremmo scrivere il codice di +una singola strofa che prosegue in un ritornello di due parti nei due +righi. Il posizionamento delle sezioni in sequenza e in simultanea +necessario per ottenere questo all'interno di un'unica partitura è +piuttosto complesso, dunque segui la spiegazione attentamente! + +Iniziamo con un blocco di partitura che contiene @code{ChoirStaff}, dal +momento che vorremmo che la graffa compaia all'inizio dell'inno. +Normalmente avremmo bisogno delle parentesi angolari dopo @code{\new ChoirStaff} +per mettere tutti i righi in parallelo, ma in questo caso vogliamo +rimandare il parallelismo al termine del solo, e quindi usiamo le graffe, sebbene +le parentesi angolari qui non facciano male. Dentro @code{ChoirStaff} +vogliamo innanzitutto il rigo che conterrà la strofa. Deve contenere +le note e il testo in parallelo, dunque qui abbiamo bisogno delle +parentesi angolari intorno a @code{\new Voice} e a @code{\new Lyrics} perché +inizino insieme: + +@lilypond[quote,verbatim,ragged-right] +versenotes = \relative c'' { + \clef "treble" + \key g \major + \time 3/4 g g g b b b +} +versewords = \lyricmode { + One two three four five six +} +\score { + \new ChoirStaff { + \new Staff << + \new Voice = "verse" { + \versenotes \break + } + \new Lyrics \lyricsto verse { + \versewords + } + >> + } +} +@end lilypond + +Questo ci dà la linea della strofa. + +Ora vogliamo continuare con refrainA sullo stesso rigo mentre un +secondo rigo viene introdotto in parallelo per il refrainB, dunque +si tratta di una posizione parallela che deve essere posta subito +dopo il @code{\break} nella voce della strofa. Sì, @emph{dentro} +la voce della strofa! Ecco la sezione parallela. Si possono inserire +più righi nello stesso modo. + +@example +<< + \refrainnotesA + \new Lyrics \lyricsto verse @{ + \refrainwordsA + @} + \new Staff << + \new Voice = "refrainB" @{ + \refrainnotesB + @} + \new Lyrics \lyricsto "refrainB" @{ + \refrainwordsB + @} + >> +>> +@end example + +Ed ecco il risultato finale con due righi nel ritornello che mostrano +come la sezione parallela si posizioni dentro la voce della strofa: + +@lilypond[quote,verbatim, ragged-right] +versenotes = \relative c'' { + \clef "treble" + \key g \major + \time 3/4 g g g b b b +} +refrainnotesA = \relative c'' { + \time 2/4 + c c g g \bar "|." +} +refrainnotesB = \relative c { + \clef "bass" + \key g \major + c e d d +} +versewords = \lyricmode { + One two three four five six +} +refrainwordsA = \lyricmode { + la la la la +} +refrainwordsB = \lyricmode { + dum dum dum dum +} +\score { + \new ChoirStaff { + \new Staff << + \new Voice = "verse" { + \versenotes \break + << + \refrainnotesA + \new Lyrics \lyricsto "verse" { + \refrainwordsA + } + \new Staff << + \new Voice = "refrainB" { + \refrainnotesB + } + \new Lyrics \lyricsto "refrainB" { + \refrainwordsB + } + >> + >> + } + \new Lyrics \lyricsto "verse" { + \versewords + } + >> + } +} +@end lilypond + +@cindex libro +@cindex book, esempio d'uso +@funindex \book +@funindex book + +Tuttavia, sebbene questo sia un esercizio interessante e utile per +aiutarti a capire come funzionano i blocchi sequenziali e simultanei, +nella pratica si potrebbe forse scegliere di scriverlo come due blocchi +@code{\score} inseriti in un implicito blocco @code{\book}, come +segue: + +@lilypond[quote,verbatim,ragged-right] +versenotes = \relative c'' { + \clef "treble" + \key g \major + \time 3/4 g g g b b b +} +refrainnotesA = \relative c'' { + \time 2/4 + c c g g \bar "|." +} +refrainnotesB = \relative c { + \clef "bass" + \key g \major + c e d d +} +versewords = \lyricmode { + One two three four five six +} +refrainwordsA = \lyricmode { + la la la la +} +refrainwordsB = \lyricmode { + dum dum dum dum +} +\score { + \new Staff << + \new Voice = "verse" { + \versenotes + } + \new Lyrics \lyricsto "verse" { + \versewords + } + >> +} + +\score { + \new ChoirStaff << + \new Staff << + \new Voice = "refrainA" { + \refrainnotesA + } + \new Lyrics \lyricsto "refrainA" { + \refrainwordsA + } + >> + \new Staff << + \new Voice = "refrainB" { + \refrainnotesB + } + \new Lyrics \lyricsto "refrainB" { + \refrainwordsB + } + >> + >> +} +@end lilypond + + +@seealso +Guida alla notazione: @ruser{Vocal music}. + + +@node Contesti e incisori +@section Contesti e incisori +@translationof Contexts and engravers + +I contesti e gli incisori sono stati menzionati im modo informale +nelle sezioni precedenti; ora dobbiamo approfondire +questi concetti, perché sono importanti nell'ottimizzazione +dell'output di LilyPond. + + +@menu +* I contesti:: +* Creare i contesti:: +* Gli incisori:: +* Modificare le proprietà di contesto:: +* Aggiungere e togliere gli incisori:: +@end menu + +@node I contesti +@subsection I contesti +@translationof Contexts explained + +@cindex contesti, spiegazione dei + +Quando la musica viene elaborata, molti elementi notazionali che non +compaiono esplicitamente nel file di input devono essere aggiunti +nell'output. Ad esempio, si confrontino l'input e l'output del +seguente esempio: + +@lilypond[quote,verbatim,relative=2,fragment] +cis4 cis2. g4 +@end lilypond + +L'input è alquanto essenziale, ma nell'output sono stati aggiunti +stanghette, alterazioni, l'armatura di chiave e il tempo. Quando +LilyPond @emph{interpreta} l'input l'informazione musicale viene +analizzata da sinistra a destra, proprio come un musicista legge +uno spartito. Mentre legge l'input, il programma +ricorda dove si trovano i confini della misura, e quali altezze richiedono +espliciti accidenti. Questa informazione deve essere conservata a +diversi livelli. Ad esempio, un accidente influisce solo su un +singolo rigo, mentre una stanghetta deve essere sincronizzata lungo +l'intera partitura. + +All'interno di LilyPond, queste regole e pezzi di informazione sono raggruppati +nei @emph{Contesti}. Abbiamo già presentato il contesto @code{Voice}. +Altri contesti sono @code{Staff} e @code{Score}. I contesti sono strutturati +gerarchicicamente per riflettere la natura gerarchica di una partitura musicale. +Ad esempio: un contesto @code{Staff} può contenere molti contesti @code{Voice}, +e un contesto @code{Score} può contenere molti contesti @code{Staff}. + +@quotation +@sourceimage{context-example,5cm,,} +@end quotation + +Ogni contesto è responsabile di far rispettare alcune regole di notazione, +creare alcuni oggetti della notazione e conservare le proprietà +associate. Ad esempio, il contesto @code{Voice} può introdurre +un'alterazione e poi il contesto @code{Staff} mantiene la regola per +mostrare o sopprimere l'alterazione per il resto della misura. + +Un altro esempio: la sincronizzazione delle stanghette è gestita, per +impostazione predefinita, nel contesto @code{Score}. Tuttavia, in +alcune forme musicali potremmo non volere che le stanghette siano +sincronizzate -- si consideri una partitura polimetrica in 4/4 e 3/4. In +questi casi, dobbiamo modificare le impostazioni predefinite dei +contesti @code{Score} e @code{Staff}. + +Per spartiti molto semplici, i contesti vengono creati implicitamente, e +non è necessario occuparsene. Ma per brani più ampi, come qualsiasi +cosa abbia più di un rigo, devono essere creati esplicitamente per +essere sicuri di avere tutti i righi necessari, e che questi siano +nel giusto ordine. Per scrivere brani che utilizzano una +notazione speciale, di solito si modificano i contesti esistenti, o +addirittura se ne creano di completamente nuovi. + +Oltre ai contesti @code{Score,} @code{Staff} e @code{Voice} ci sono +contesti che stanno tra i livelli della partitura (score) e del +rigo (staff) per controllare i gruppi di pentagrammi, come +i contesti @code{PianoStaff} e @code{ChoirStaff}. Ci sono anche +contesti alternativi per il rigo e la voce, e contesti per il +testo, le percussioni, la tastiera, il basso continuo, etc. + +I nomi di tutti i tipi di contesto sono formati da una o più +parole, e ogni parola viene unita immediatamente alla parola +precedente senza trattini o underscore bensì con la prima lettera +maiuscola: ad esempio, @code{GregorianTranscriptionStaff}. + + +@seealso +Guida alla notazione: @ruser{Contexts explained}. + + +@node Creare i contesti +@subsection Creare i contesti +@translationof Creating contexts + +@funindex \new +@funindex new +@cindex nuovi contesti +@cindex creazione di contesti +@cindex contesti, creazione di + +In un file di input un blocco della partitura, introdotto dal comando @code{\score}, +contiene un'espressione musicale singola e una definizione di output +associata (o un blocco @code{\layout} o un blocco @code{\midi}). +Di solito si lascia che il contesto @code{Score} sia creato automaticamente +quando inizia l'interpretazione di quell'espressione musicale. + +Per le partiture che hanno una sola voce e un solo rigo, si può lasciare che +i contesti @code{Voice} e @code{Staff} siano creati automaticamente, ma per +le partiture più complesse è necessario crearli manualmente. Il comando +più semplice per farlo è @code{\new}. Viene posto prima di +un'espressione musicale, ad esempio + +@example +\new @var{tipo} @var{espressione-musicale} +@end example + +@noindent +dove @var{tipo} è il nome di un contesto (come @code{Staff} o +@code{Voice}). Questo comando crea un nuovo contesto, e inizia a +interpretare @var{espressione-musicale} all'interno di quel contesto. + +(Si noti che normalmente non è necessario il comando @code{\new Score}, +perché il fondamentale contesto di livello superiore @code{Score} viene creato +automaticamente quando l'espressione musicale all'interno del blocco @code{\score} +viene interpretata. L'unica ragione per creare un contesto @code{Score} +esplicitamente con @code{\new Score} è di inserire un blocco +@code{\with} dove si possono specificare uno o più valori delle proprietà +di contesto, predefiniti per tutto lo spartito.. Le informazioni su come +usare i blocchi @code{\with} si trovano sotto il titolo +@qq{Setting context properties with @code{\\with} } in +@ref{Modifying context properties}.) + +Nelle sezioni precedenti hai già visto molti esempi pratici della creazione +di nuovi contesti @code{Staff} e @code{Voice}, ma per ricordarti +come questi comandi vengano usati in pratica, ecco un esempio +di musica vera e propria: + +@lilypond[quote,verbatim,ragged-right] +\score { % start of single compound music expression + << % start of simultaneous staves section + \time 2/4 + \new Staff { % create RH staff + \key g \minor + \clef "treble" + \new Voice { % create voice for RH notes + \relative c'' { % start of RH notes + d4 ees16 c8. | + d4 ees16 c8. | + } % end of RH notes + } % end of RH voice + } % end of RH staff + \new Staff << % create LH staff; needs two simultaneous voices + \key g \minor + \clef "bass" + \new Voice { % create LH voice one + \voiceOne + \relative g { % start of LH voice one notes + g8 ees, | + g8 ees, | + } % end of LH voice one notes + } % end of LH voice one + \new Voice { % create LH voice two + \voiceTwo + \relative g { % start of LH voice two notes + g4 ees | + g4 ees | + } % end of LH voice two notes + } % end of LH voice two + >> % end of LH staff + >> % end of simultaneous staves section +} % end of single compound music expression +@end lilypond + +(Si noti che tutte le asserzioni che aprono un blocco o con delle +parentesi graffe, @code{@{}, o con delle parentesi angolari doppie, @code{<<}, +sono indentate di due spazi, e la parentesi di chiusura corrispondente +è indentata esattamente dello stesso spazio. Pur non essendo un +requisito indispensabile, seguire questa pratica ridurrà enormemente +il numero di errori da @q{parentesi spaiate}, ed è quindi fortemente +consigliato. Permette di vedere a colpo d'occhio la struttura della +musica, e qualsiasi parentesi spaiata sarà facilmente riconoscibile. +Si noti anche come il rigo LH faccia uso di parentesi angolari doppie +perché richiede due voci, mentre il rigo RH è costituito da +una singola espressione musicale compresa tra parentesi +graffe perché richiede una sola voce.) + +@cindex contesti, dare un nome +@cindex dare un nome ai contesti + +Il comando @code{\new} può anche dare un nome identificativo al +contesto per distinguerlo da altri contesti dello stesso tipo, + +@example +\new @var{tipo} = @var{id} @var{espressione-musicale} +@end example + +Si noti la distinzione tra il nome del tipo di contesto, +@code{Staff}, @code{Voice}, etc, e il nome identificativo di un +particolare esempio di quel tipo, che può essere qualsiasi sequenza di +lettere inventata dall'utente. Nel nome identificativo si possono usare +anche numeri e spazi, ma in questo caso deve essere compreso tra virgolette, +ovvero @code{\new Staff = "MioPentagramma 1" @var{espressione-musicale}}. +Il nome identificativo viene utilizzato per riportare a quel +particolare esempio di un contesto. Abbiamo visto questo utilizzo +nella sezione sul teso, si veda @ref{Voices and vocals}. + + +@seealso +Guida alla notazione: @ruser{Creating contexts}. + + +@node Gli incisori +@subsection Gli incisori +@translationof Engravers explained + +@cindex incisori + +Ogni segno presente nell'output di una partitura realizzata con LilyPond +è prodotto da un @code{Engraver} (incisore). Dunque c'è un incisore per +creare i righi, uno per le teste delle note, uno per i gambi, uno per le +cediglie, etc, etc. In totale ci sono più di 120 incisori! +Fortunatamente, per gran parte delle partiture è necessario conoscerne +pochi soltanto, e per partiture semplici non occorre conoscerne +alcuno. + +Gli incisori vivono ed operano all'interno dei Contesti. Incisori come +il @code{Metronome_mark_engraver}, la cui azione e il cui output si applicano +alla partitura nel suo complesso, operano nel contesto di livello più superiore -- il +contesto @code{Score}. + +Gli incisori @code{Clef_engraver} e @code{Key_engraver} devono invece +trovarsi in ogni contesto @code{Staff}, poiché righi diversi potrebbero +richiedere diverse chiavi e tonalità. + +Gli incisori @code{Note_heads_engraver} e @code{Stem_engraver} abitano +ogni contesto @code{Voice}, il contesto che si trova al livello più +basso di tutti. + +Ogni incisore elabora gli oggetti specifici associati alla +sua funzione, e gestisce le proprietà che a quella funzione si riferiscono. Queste proprietà, come le proprietà +associate ai contesti, possono essere modificate per cambiare +il funzionamento dell'incisore o l'aspetto di quegli elementi +nella partitura. + +Gli incisori hanno tutti dei nomi composti formati da parole che +descrivono la loro funzione. Solo la prima parola inizia con una maiuscola, +e il resto è collegato insieme con dei trattini bassi. Quindi +l'incisore @code{Staff_symbol_engraver} ha il compito di creare le linee del +pentagramma, il @code{Clef_engraver} determina e definisce il punto +di riferimento dell'altezza sul rigo disegnando il simbolo di una chiave. + +Ecco alcuni degli incisori più utilizzati insieme alla loro +funzione. Vedrai che di solito è facile indovinare la funzione a +partire dal nome, o viceversa. + +@multitable @columnfractions .3 .7 +@headitem Incisore + @tab Funzione +@item Accidental_engraver + @tab Crea le alterazioni, le alterazioni di precauzione e di cortesia +@item Beam_engraver + @tab Incide le cediglie +@item Clef_engraver + @tab Incide le chiavi +@item Completion_heads_engraver + @tab Separa le note che attraversano le stanghette +@c The old Dynamic_engraver is deprecated. -jm +@item New_dynamic_engraver + @tab Crea le forcelle e i testi relativi alla dinamica +@item Forbid_line_break_engraver + @tab Impedisce l'a capo se un elemento musicale è ancora attivo +@item Key_engraver + @tab Crea l'armatura di chiave +@item Metronome_mark_engraver + @tab Incide il tempo metronomico +@item Note_heads_engraver + @tab Incide le teste delle note +@item Rest_engraver + @tab Incide le pause +@item Staff_symbol_engraver + @tab Incide le cinque linee (predefinite) del pentagramma +@item Stem_engraver + @tab Crea i gambi e i tremoli su singoli gambi +@item Time_signature_engraver + @tab Crea l'indicazione di tempo +@end multitable + +@smallspace + +Vedremo in seguito come cambiare l'output di Lilypond +modificando il comportamento degli incisori. + + +@seealso +Guida al funzionamento interno: @rinternals{Engravers and Performers}. + + +@node Modificare le proprietà di contesto +@subsection Modificare le proprietà di contesto +@translationof Modifying context properties + +@cindex contesto, proprietà del +@cindex contesto, proprietà del, modificare +@cindex modificare le proprietà del contesto +@funindex \set +@funindex set +@funindex \unset +@funindex unset + +I contesti si occupano di tenere i valori di un certo numero di +@emph{proprietà} del contesto. Molte di queste possono essere cambiate +per influenzare l'interpretazione dell'input e quindi modificare +l'aspetto dell'output. Per cambiarle si usa il comando +@code{\set}. Questo assume la seguente forma + +@example +\set @emph{NomeDelContesto}.@emph{nomeDellaProprietà} = #@emph{valore} +@end example + +Dove il @emph{NomeDelContesto} è di solito @code{Score}, +@code{Staff} o @code{Voice}. Può essere omesso, +e in questo caso viene considerato come contesto @code{Voice}. + +I nomi delle proprietà del contesto consistono in parole unite +insieme e senza lineette o trattini bassi, e solo la prima +parola inizia con una lettera maiuscola. Ecco alcuni esempi +di quelle più usate comunemente. Ma ne esistono molte altre. + +@c attempt to force this onto a new page +@need 50 +@multitable @columnfractions .25 .15 .45 .15 +@headitem nomeDellaProprietà + @tab Tipo + @tab Funzione + @tab Valore di esempio +@item extraNatural + @tab Booleano + @tab Se è vero, mette i segni di bequadro prima degli accidenti + @tab @code{#t}, @code{#f} +@item currentBarNumber + @tab Intero + @tab Imposta il numero della battuta corrente + @tab @code{50} +@item doubleSlurs + @tab Booleano + @tab Se è vero, stampa le legature di portamento sia sopra che sotto le note + @tab @code{#t}, @code{#f} +@item instrumentName + @tab Testo + @tab Imposta il nome da inserire all'inizio del rigo + @tab @code{"Cello I"} +@item fontSize + @tab Reale + @tab Aumenta o riduce la dimensione del carattere + @tab @code{2.4} +@item stanza + @tab Testo + @tab Imposta il testo da stampare prima dell'inizio di una strofa + @tab @code{"2"} +@end multitable + +@noindent +mentre un Booleano è o Vero (@code{#t}) o Falso (@code{#f}), +un Intero è un numero intero positivo, un Reale è un numero +decimale positivo o negativo, e il testo è racchiuso tra +virgolette. Si noti la presenza del segno cancelletto, +(@code{#}), in due punti diversi -- come parte del valore Booleano +prima di @code{t} o @code{f}, e prima del @emph{valore} +nell'affermazione @code{\set}. Dunque quando si inserisce un valore +Booleano bisogna scrivere due cancelletti, ad esempio @code{##t}. + +@cindex proprietà che operano nei contesti +@cindex impostare le proprietà all'interno dei contesti + +Prima di poter impostare una qualsiasi di queste proprietà dobbiamo sapere +in quale contesto esse operino. Talvolta questo è ovvio, +ma talvolta può risultare complicato. Se viene specificato il +contesto sbagliato, non viene generato alcun messaggio di errore, ma l'azione +desiderata non avrà luogo. Ad esempio, la proprietà +@code{instrumentName} risiede ovviamente nel contesto @code{Staff}, poiché +è il pentagramma a dover essere nominato. +Nell'esempio seguente viene etichettato il primo pentagramma, ma non il secondo, +perché abbiamo omesso il nome del contesto. + +@lilypond[quote,verbatim,ragged-right] +<< + \new Staff \relative c'' { + \set Staff.instrumentName = #"Soprano" + c4 c + } + \new Staff \relative c' { + \set instrumentName = #"Alto" % Wrong! + d4 d + } +>> +@end lilypond + +Ricorda che il nome di contesto predefinito è @code{Voice}, dunque il +secondo comando @code{\set} imposta la proprietà @code{instrumentName} nel +contesto @code{Voice} col valore @qq{Alto}, ma dato che LilyPond non trova +tale proprietà nel contesto @code{Voice}, non ha avuto luogo +alcuna altra azione. Questo non è un errore, e nessun messaggio di +errore viene riportato nel file di log. + +Analogalmente, se il nome della proprietà è stato scritto male, non viene +generato alcun messaggio di errore, e ovviamente l'azione desiderata non può essere +eseguita. Infatti, col comando @code{\set} puoi impostare qualsiasi @q{proprietà} +(anche inventata) usando qualsiasi nome che ti piaccia in qualsiasi contesto +esistente. Ma se LilyPond non conosce il nome, allora non verrà intrapresa +alcuna azione. Alcuni editor di testo che hanno uno speciale supporto per i file +di input di LilyPond presentano i nomi delle proprietà con una lista scorrevole +al passaggio del mouse, come JEdit col plugin LilyPondTool, oppure +evidenziano in modo diverso i nomi delle proprietà non conosciuti, come fa ConTEXT. +Se non usi un editor con queste funzionalità, è consigliabile controllare il nome +delle proprietà nella Guida al funzionamento interno: si veda +@rinternals{Tunable context properties}, o @rinternals{Contexts}. + +La proprietà @code{instrumentName} funzionerà soltanto se +inserita nel contesto @code{Staff}, ma alcune proprietà +possono essere collocate in più di un contesto. +Ad esempio, la proprietà @code{extraNatural} è impostata di +default sul valore ##t (vero) su tutti i righi. +Se viene impostata su ##f (falso) in uno specifico contesto @code{Staff} +si applica solo alle alterazioni presenti su quel rigo. +Se impostata su falso nel contesto @code{Score} +si applica a tutti i righi. + +Quindi in questo modo si disattiva il bequadro su un rigo: + +@lilypond[quote,verbatim,ragged-right] +<< + \new Staff \relative c'' { + ais4 aes + } + \new Staff \relative c'' { + \set Staff.extraNatural = ##f + ais4 aes + } +>> +@end lilypond + +@noindent +e in questo modo si disattiva in tutti i righi: + +@lilypond[quote,verbatim,ragged-right] +<< + \new Staff \relative c'' { + ais4 aes + } + \new Staff \relative c'' { + \set Score.extraNatural = ##f + ais4 aes + } +>> +@end lilypond + +Un altro esempio: se la proprietà @code{clefOctavation} viene posta +nel contesto @code{Score}, cambia immediatamente il valore +dell'ottavazione in tutti i righi presenti e imposta un nuovo +valore predefinito che sarà applicato a tutti i righi. + +Il comando opposto, @code{\unset}, di fatto rimuove la proprietà +dal contesto, e questo fa sì che molte proprietà +tornino al valore predefinito. Solitamente @code{\unset} non è +necessario dal momento che un nuovo comando @code{\set} permetterà +di ottenere quanto si desidera. + +I comandi @code{\set} e @code{\unset} possono trovarsi in qualsiasi +punto del file di input e avranno effetto dal momento in cui si +incontrano fino alla fine della partitura o finché la proprietà non +viene attivata (@code{\set}) o disattivata (@code{\unset}) di nuovo. +Proviamo a cambiare varie volte la dimensione del font, che influisce (tra +le altre cose) sulla dimensione delle teste delle note. La modifica è relativa +al valore predefinito, non all'ultimo valore impostato. + +@lilypond[quote,verbatim,ragged-right,relative=1,fragment] +c4 +% make note heads smaller +\set fontSize = #-4 +d e +% make note heads larger +\set fontSize = #2.5 +f g +% return to default size +\unset fontSize +a b +@end lilypond + +Abbiamo visto come impostare i valori di diversi tipi di +proprietà. Si note che gli interi e i numeri sono sempre preceduti +da un segno di cancelletto, @code{#}, mentre un valore vero o falso è +specificato con @code{##t} e @code{##f}, con due cancelletti. Una proprietà testuale +dovrebbe essere racchiusa tra virgolette, come abbiamo visto prima, sebbene +vedremo in seguito che in realtà il testo può essere specificato in un +modo molto più generale usando il potente comando @code{\markup}. + +@subsubheading Setting context properties with @code{\with} + +@funindex \with +@funindex with +@cindex contesto, proprietà del, impostare con \with + +Il valore predefinito delle proprietà di contesto possono essere impostate +anche nel momento in cui il contesto viene creato. Talvolta questo è un +modo più chiaro per specificare il valore della proprietà se questa deve +rimanere fissa per la durata del contesto. Un contesto creato col comando @code{\new} +può essere immediatamente seguito da un blocco @code{\with @{ .. @}} dove +vengono impostati i valori predefiniti della proprietà. Ad esempio, se vogliamo +eliminare la stampa del bequadro per l'estensione di un rigo possiamo scrivere: + +@example +\new Staff \with @{ extraNatural = ##f @} +@end example + +@noindent +così: + +@lilypond[quote,verbatim,ragged-right] +<< + \new Staff + \relative c'' { + gis ges aes ais + } + \new Staff \with { extraNatural = ##f } + \relative c'' { + gis ges aes ais + } +>> +@end lilypond + +Oppure, se la sovrascrittura della proprietà deve essere applicata a tutti +i righi della partitura, può essere aggiunto a un comando +@code{\new Score} esplicito, in questo modo: + +@lilypond[quote,verbatim,ragged-right] +\score { + \new Score \with { extraNatural = ##f } << + \new Staff { + \relative c'' { + gis ges aes ais + } + } + \new Staff { + \relative c'' { + gis ges aes ais + } + } + >> +} +@end lilypond + +Si possono ancora cambiare dinamicamente le proprietà impostate in questo modo +usando @code{\set}, mentre con @code{\unset} si possono riportare al valore +predefinito impostato nel blocco @code{\with}. + +@cindex fontSize, impostazione predefinita e impostazione manuale +@cindex font, dimensione del +@cindex dimensione del font + +Quindi se la proprietà @code{fontSize} viene inserita in una +proposizione @code{\with}, imposta il valore predefinito +della dimensione del font. Se viene in seguito modificato con @code{\set}, +questo nuovo valore predefinito può essere recuperato col comando +@code{\unset fontSize}. + +@subsubheading Setting context properties with @code{\context} + +@cindex contesto, proproetà del, impostare con \context +@funindex \context +@funindex context + +I valori delle proprietà di un contesto possono essere impostate in @emph{tutti} +i contesti di un particolare tipo, così come in tutti i contesti @code{Staff}, con un +solo comando. Il tipo di contesto viene identificato attraverso il +suo nome, come @code{Staff}, preceduto da una barra inversa (backslash): @code{\Staff}. +La dichiarazione che imposta il valore della proprietà è la stessa che +abbiamo visto nel blocco @code{\with}, introdotto prima. Viene posta in +un blocco @code{\context} all'interno di un blocco @code{\layout}. Ogni +blocco @code{\context} avrà effetto su tutti i contesti del tipo specificato +nel blocco @code{\score} o @code{\book} nel quale il blocco +@code{\layout} si trova. Ecco un esempio per mostrare la struttura: + +@lilypond[verbatim,quote] +\score { + \new Staff { + \relative c'' { + cis4 e d ces + } + } + \layout { + \context { + \Staff + extraNatural = ##t + } + } +} +@end lilypond + +@noindent +Le proprietà di contesto impostate in questo modo possono essere sovrascritte per +alcuni particolari contesti attraverso asserzioni in un blocco @code{\with}, e tramite +comandi @code{\set} incorporati nelle asserzioni musicali. + + +@seealso +Guida alla notazione: +@ruser{Changing context default settings}. +@c FIXME +@c uncomment when backslash-node-name issue is resolved -pm +@c @ruser{The set command}. + +Guida al funzionamento interno: +@rinternals{Contexts}, +@rinternals{Tunable context properties}. + + +@node Aggiungere e togliere gli incisori +@subsection Aggiungere e togliere gli incisori +@translationof Adding and removing engravers + +@cindex incisori, aggiungere +@cindex aggiungere gli incisori +@cindex incisori, rimuovere +@cindex rimuovere gli incisori + +@funindex \consists +@funindex consists +@funindex \remove +@funindex remove + +Abbiamo visto che ciascuno dei contesti contiene vari incisori, ognuno +dei quali ha il compito di produrre una parte specifica dell'output, +come stanghette, righi, teste, gambi, etc.. Se un incisore +viene rimosso da un contesto, non può più produrre il suo +output. Si tratta di un metodo sbrigativo per modificare l'output, e talvolta +può essere utile. + +@subsubheading Changing a single context + +Per rimuovere un incisore da un singolo contesto usiamo il +comando @code{\with} posto subito dopo il comando di creazione del +contesto, come esposto nella sezione precedente. + +A titolo di esempio, ripetiamo un esempio della sezione precedente +rimuovendo le linee del rigo. Ricorda che le linee del rigo vengono +create dall'incisore @code{Staff_symbol_engraver}. + +@lilypond[quote,verbatim,ragged-right] +\new Staff \with { + \remove Staff_symbol_engraver +} +\relative c' { + c4 + \set fontSize = #-4 % make note heads smaller + d e + \set fontSize = #2.5 % make note heads larger + f g + \unset fontSize % return to default size + a b +} +@end lilypond + +@cindex ambitus, incisore dell' + +Gli incisori possono essere aggiunti anche a contesti individuali. +Il comando per farlo è + +@code{\consists @var{Engraver_name}}, + +@noindent +posto all'interno di un blocco @code{\with}. Alcune partiture vocali hanno +un ambitus collocato all'inizio del pentagramma per indicare l'intervallo tra la nota +più grave e quella più acuta in quella parte -- si veda @rglos{ambitus}. L'ambitus +viene creato dall'incisore @code{Ambitus_engraver}, che di norma non è incluso in +alcun contesto. Se lo aggiungiamo al contesto @code{Voice}, calcola l'intervallo +di quella voce soltanto: + +@lilypond[quote,verbatim,ragged-right] +\new Staff << + \new Voice \with { + \consists Ambitus_engraver + } + \relative c'' { + \voiceOne + c a b g + } + \new Voice + \relative c' { + \voiceTwo + c e d f + } +>> +@end lilypond + +@noindent +ma se aggiungiamo l'incisore ambitus al contesto +@code{Staff}, calcola l'intervallo di tutte le note +in tutte le voci di quel pentagramma: + +@lilypond[quote,verbatim,ragged-right] +\new Staff \with { + \consists Ambitus_engraver + } + << + \new Voice + \relative c'' { + \voiceOne + c a b g + } + \new Voice + \relative c' { + \voiceTwo + c e d f + } +>> +@end lilypond + +@subsubheading Changing all contexts of the same type + +@funindex \layout +@funindex layout + +Gli esempi precedenti mostrano come rimuovere o aggiungere degli incisori +a contesti individuali. E' anche possibile rimuovere o aggiungere gli +incisori per ogni contesto di un particolare tipo inserendo i comandi +nel contesto appropriato in un blocco @code{\layout}. Ad esempio, se +volessimo mostrare un ambitus per ogni pentagramma in una partitura +di quattro pentagrammi, potremmo scrivere + +@lilypond[quote,verbatim,ragged-right] +\score { + << + \new Staff << + \relative c'' { c a b g } + >> + \new Staff << + \relative c' { c a b g } + >> + \new Staff << + \clef "G_8" + \relative c' { c a b g } + >> + \new Staff << + \clef "bass" + \relative c { c a b g } + >> + >> + \layout { + \context { + \Staff + \consists Ambitus_engraver + } + } +} +@end lilypond + +@noindent +I valori delle proprietà di un contesto possono essere impostati anche +per tutti i contesti di un particolare tipo includendo il comando +@code{\set} in un blocco @code{\context} nello stesso modo. + + +@seealso +Guida alla notazione: @ruser{Modifying context plug-ins}, +@ruser{Changing context default settings}. + + +@node Estendere i modelli +@section Estendere i modelli +@translationof Extending the templates + +Hai letto il tutorial, sai come scrivere la musica, comprendi +i concetti fondamentali. Ma come puoi ottenere i +pentagrammi che desideri? Puoi trovare molti +modelli (vedi @ref{Templates}) da cui partire. +Ma se ti serve qualcosa che non è presente lì? Continua a leggere. + +@menu +* Soprano e violoncello:: +* Partitura vocale a quattro parti SATB:: +* Scrivere una partitura da zero:: +* Ridurre le dimensioni del file grazie a variabili e funzioni:: +* Partiture e parti:: +@end menu + +@node Soprano e violoncello +@subsection Soprano e violoncello +@translationof Soprano and cello + +@cindex template, modifying +@cindex modifying templates + +Parti dal modello che sembra più simile a ciò che vuoi +ottenere. Diciamo che vuoi scrivere qualcosa per soprano e +violoncello. In questo caso, inizieremmo col modello @q{Note e testo} (per +la parte di soprano). + +@example +\version @w{"@version{}"} +melodia = \relative c' @{ + \clef treble + \key c \major + \time 4/4 + a4 b c d +@} + +testo = \lyricmode @{ + Aaa Bee Cee Dee +@} + +\score @{ + << + \new Voice = "one" @{ + \autoBeamOff + \melodia + @} + \new Lyrics \lyricsto "one" \testo + >> + \layout @{ @} + \midi @{ @} +@} +@end example + +Ora vogliamo aggiungere una parte per violoncello. Vediamo l'esempio @q{Solo note}: + +@example +\version @w{"@version{}"} +melodia = \relative c' @{ + \clef treble + \key c \major + \time 4/4 + a4 b c d +@} + +\score @{ + \new Staff \melodia + \layout @{ @} + \midi @{ @} +@} +@end example + +Non ci servono due comandi @code{\version}. Ci servirà invece la +sezione @code{melodia}. Non vogliamo due sezioni @code{\score} +-- se avessimo due @code{\score}, le due parti sarebbero separate. +Ma le vogliamo insieme, come un duetto. All'interno della sezione +@code{\score}, non ci servono due @code{\layout} o due @code{\midi}. + +Se semplicemente tagliamo e incolliamo la sezione @code{melodia}, finiremo +con l'avere due definizioni @code{melodia}. Questo non produrrebbe un +errore, ma la seconda definizione sarebbe usata per entrambe le melodie. +Dunque rinominiamole per distinguerle. Chiameremo la sezione +per il soprano @code{musicaSoprano} e la sezione per il +violoncello @code{musicaVioloncello}. Se facciamo questo, rinominiamo anche +@code{testo} in @code{testoSoprano}. Ricorda di rinominare entrambe +le occorrenze di tutti questi nomi -- sia la definizione iniziale (la +parte @code{melody = \relative c' @{ }) sia l'uso del nome (nella +sezione @code{\score}). + +Cambiamo anche il pentagramma della parte per violoncello -- +che normalmente usa la chiave di basso. Daremo anche al violoncello +delle note diverse. + +@example +\version @w{"@version{}"} +musicaSoprano = \relative c' @{ + \clef treble + \key c \major + \time 4/4 + a4 b c d +@} + +testoSoprano = \lyricmode @{ + Aaa Bee Cee Dee +@} + +musicaVioloncello = \relative c @{ + \clef bass + \key c \major + \time 4/4 + d4 g fis8 e d4 +@} + +\score @{ + << + \new Voice = "one" @{ + \autoBeamOff + \musicaSoprano + @} + \new Lyrics \lyricsto "one" \testoSoprano + >> + \layout @{ @} + \midi @{ @} +@} +@end example + +L'aspetto è promettente, ma la parte del violoncello non apparirà nella +partitura -- perché non l'abbiamo inserita nella sezione @code{\score}. Se +vogliamo che la parte del violoncello compaia sotto quella del soprano, +dobbiamo aggiungere + +@example +\new Staff \musicaVioloncello +@end example + +@noindent +sotto la parte del soprano. Dobbiamo anche aggiungere @code{<<} e +@code{>>} intorno alla musica -- che dice a LilyPond che c'è più di +una cosa (in questo caso, due @code{Staff}) che sono +simultanei. Lo @code{\score} ora appare così: + +@c Indentation in this example is deliberately poor +@example +\score @{ + << + << + \new Voice = "one" @{ + \autoBeamOff + \musicaSoprano + @} + \new Lyrics \lyricsto "one" \testoSoprano + >> + \new Staff \musicaVioloncello + >> + \layout @{ @} + \midi @{ @} +@} +@end example + +@noindent +L'aspetto è un po' confuso; l'indentazione non è pulita. Ma si +può correggere facilmente. Ecco il template completo per soprano +e violoncello. + +@lilypond[quote,verbatim,ragged-right,addversion] +musicaSoprano = \relative c' { + \clef treble + \key c \major + \time 4/4 + a4 b c d +} + +testoSoprano = \lyricmode { + Aaa Bee Cee Dee +} + +musicaVioloncello = \relative c { + \clef bass + \key c \major + \time 4/4 + d4 g fis8 e d4 +} + +\score { + << + << + \new Voice = "one" { + \autoBeamOff + \musicaSoprano + } + \new Lyrics \lyricsto "one" \testoSoprano + >> + \new Staff \musicaVioloncello + >> + \layout { } + \midi { } +} +@end lilypond + + +@seealso +I modelli da cui partire si trovano nell'appendice @q{Templates}, +si veda @ref{Single staff}. + + +@node Partitura vocale a quattro parti SATB +@subsection Partitura vocale a quattro parti SATB +@translationof Four-part SATB vocal score + +@cindex modelli, SATB +@cindex SATB, modelli + +Gran parte delle partiture vocali di musica scritta per coro misto a +quattro voci con accompagnamento di orchestra, come l'Eliah di Mendelssohn +o il Messiah di Handel, hanno la musica corale e le parole su quattro +righi, una per ognuna delle voci SATB, con in basso una riduzione per +pianoforte dell'accompagnamento orchestrale. Ecco un esempio tratto +dal Messiah di Handel: + +@c The following should appear as music without code +@lilypond[quote,ragged-right] +global = { \key d \major \time 4/4 } +sopranoMusic = \relative c'' { + \clef "treble" + r4 d2 a4 | d4. d8 a2 | cis4 d cis2 | +} +sopranoWords = \lyricmode { + Wor -- thy is the lamb that was slain +} +altoMusic = \relative a' { + \clef "treble" + r4 a2 a4 | fis4. fis8 a2 | g4 fis e2 | +} +altoWords = \sopranoWords +tenorMusic = \relative c' { + \clef "G_8" + r4 fis2 e4 | d4. d8 d2 | e4 a, cis2 | +} +tenorWords = \sopranoWords +bassMusic = \relative c' { + \clef "bass" + r4 d2 cis4 | b4. b8 fis2 | e4 d a'2 | +} +bassWords = \sopranoWords +upper = \relative a' { + \clef "treble" + \global + r4 2 4 | + 4. 8 2 | + 4 2 | +} +lower = \relative c, { + \clef "bass" + \global + 4 2 4 | + 4. 8 2 | + 4 2 | +} + +\score { + << % combine ChoirStaff and PianoStaff in parallel + \new ChoirStaff << + \new Staff = "sopranos" << + \set Staff.instrumentName = #"Soprano" + \new Voice = "sopranos" { \global \sopranoMusic } + >> + \new Lyrics \lyricsto "sopranos" { \sopranoWords } + \new Staff = "altos" << + \set Staff.instrumentName = #"Alto" + \new Voice = "altos" { \global \altoMusic } + >> + \new Lyrics \lyricsto "altos" { \altoWords } + \new Staff = "tenors" << + \set Staff.instrumentName = #"Tenor" + \new Voice = "tenors" { \global \tenorMusic } + >> + \new Lyrics \lyricsto "tenors" { \tenorWords } + \new Staff = "basses" << + \set Staff.instrumentName = #"Bass" + \new Voice = "basses" { \global \bassMusic } + >> + \new Lyrics \lyricsto "basses" { \bassWords } + >> % end ChoirStaff + + \new PianoStaff << + \set PianoStaff.instrumentName = #"Piano" + \new Staff = "upper" \upper + \new Staff = "lower" \lower + >> + >> +} +@end lilypond + +Nessun modello fornisce esattamente questo assetto. Quello più simile +è @q{Partitura vocale SATB e riduzione automatica per pianoforte} -- si veda @ref{Vocal +ensembles} -- ma abbiamo bisogno di modificare l'assetto e aggiungere +un accompagnamento per pianoforte che non sia derivato automaticamente dalle +parti vocali. Le variabili che si riferiscono alla musica e alle parole per +le parti vocali vanno bene, ma dovremo aggiungere le variabili per la +riduzione per pianoforte. + +L'ordine con cui i contesti appaiono nel ChoirStaff del modello non +corrisponde all'ordine della partitura vocale mostrata sopra. Dobbiamo +risistemarli in modo che ci siano quattro righi con le parole scritte +direttamente sotto le note di ogni parte. Tutte le voci devono +essere @code{\voiceOne}, che è l'impostazione predefinita, quindi +i comandi @code{\voiceXXX} devono essere tolti. Dobbiamo anche +specificare la chiave di tenore per i tenori. Il modo in cui il testo +viene specificato nel modello non è stato ancora esaminato quindi +dovremo usare un metodo con cui siamo già familiari. Aggiungeremo +anche i nomi per ogni rigo. + +In questo modo il nostro ChoirStaff avrà questo aspetto: + +@example + \new ChoirStaff << + \new Staff = "sopranos" << + \set Staff.instrumentName = #"Soprano" + \new Voice = "sopranos" @{ \global \sopranoMusic @} + >> + \new Lyrics \lyricsto "sopranos" @{ \sopranoWords @} + \new Staff = "altos" << + \set Staff.instrumentName = #"Alto" + \new Voice = "altos" @{ \global \altoMusic @} + >> + \new Lyrics \lyricsto "altos" @{ \altoWords @} + \new Staff = "tenors" << + \set Staff.instrumentName = #"Tenor" + \new Voice = "tenors" @{ \global \tenorMusic @} + >> + \new Lyrics \lyricsto "tenors" @{ \tenorWords @} + \new Staff = "basses" << + \set Staff.instrumentName = #"Bass" + \new Voice = "basses" @{ \global \bassMusic @} + >> + \new Lyrics \lyricsto "basses" @{ \bassWords @} + >> % end ChoirStaff +@end example + +Poi dobbiamo lavorare sulla parte per pianoforte. Questo +è facile - basta prendere la parte per pianoforte dal +modello @q{Pianoforte solista}: + +@example +\new PianoStaff << + \set PianoStaff.instrumentName = #"Piano " + \new Staff = "upper" \upper + \new Staff = "lower" \lower +>> +@end example + +e aggiungere le definizioni delle variabili @code{upper} +e @code{lower}. + +ChoirStaff e PianoStaff devono essere uniti attraverso +parentesi angolari, perché vogliamo che siano +impilati uno sopra l'altro: + +@example +<< % combine ChoirStaff and PianoStaff one above the other + \new ChoirStaff << + \new Staff = "sopranos" << + \new Voice = "sopranos" @{ \global \sopranoMusic @} + >> + \new Lyrics \lyricsto "sopranos" @{ \sopranoWords @} + \new Staff = "altos" << + \new Voice = "altos" @{ \global \altoMusic @} + >> + \new Lyrics \lyricsto "altos" @{ \altoWords @} + \new Staff = "tenors" << + \clef "G_8" % tenor clef + \new Voice = "tenors" @{ \global \tenorMusic @} + >> + \new Lyrics \lyricsto "tenors" @{ \tenorWords @} + \new Staff = "basses" << + \clef "bass" + \new Voice = "basses" @{ \global \bassMusic @} + >> + \new Lyrics \lyricsto "basses" @{ \bassWords @} + >> % end ChoirStaff + + \new PianoStaff << + \set PianoStaff.instrumentName = #"Piano" + \new Staff = "upper" \upper + \new Staff = "lower" \lower + >> +>> +@end example + +Unendo tutto questo e aggiungendo la musica +per le tre battute dell'esempio precedente, otteniamo: + +@lilypond[quote,verbatim,ragged-right,addversion] +global = { \key d \major \time 4/4 } +sopranoMusic = \relative c'' { + \clef "treble" + r4 d2 a4 | d4. d8 a2 | cis4 d cis2 | +} +sopranoWords = \lyricmode { + Wor -- thy is the lamb that was slain +} +altoMusic = \relative a' { + \clef "treble" + r4 a2 a4 | fis4. fis8 a2 | g4 fis fis2 | +} +altoWords = \sopranoWords +tenorMusic = \relative c' { + \clef "G_8" + r4 fis2 e4 | d4. d8 d2 | e4 a, cis2 | +} +tenorWords = \sopranoWords +bassMusic = \relative c' { + \clef "bass" + r4 d2 cis4 | b4. b8 fis2 | e4 d a'2 | +} +bassWords = \sopranoWords +upper = \relative a' { + \clef "treble" + \global + r4 2 4 | + 4. 8 2 | + 4 2 | +} +lower = \relative c, { + \clef "bass" + \global + 4 2 4 | + 4. 8 2 | + 4 2 | +} + +\score { + << % combine ChoirStaff and PianoStaff in parallel + \new ChoirStaff << + \new Staff = "sopranos" << + \set Staff.instrumentName = #"Soprano" + \new Voice = "sopranos" { \global \sopranoMusic } + >> + \new Lyrics \lyricsto "sopranos" { \sopranoWords } + \new Staff = "altos" << + \set Staff.instrumentName = #"Alto" + \new Voice = "altos" { \global \altoMusic } + >> + \new Lyrics \lyricsto "altos" { \altoWords } + \new Staff = "tenors" << + \set Staff.instrumentName = #"Tenor" + \new Voice = "tenors" { \global \tenorMusic } + >> + \new Lyrics \lyricsto "tenors" { \tenorWords } + \new Staff = "basses" << + \set Staff.instrumentName = #"Bass" + \new Voice = "basses" { \global \bassMusic } + >> + \new Lyrics \lyricsto "basses" { \bassWords } + >> % end ChoirStaff + + \new PianoStaff << + \set PianoStaff.instrumentName = #"Piano " + \new Staff = "upper" \upper + \new Staff = "lower" \lower + >> + >> +} +@end lilypond + + +@node Scrivere una partitura da zero +@subsection Scrivere una partitura da zero +@translationof Building a score from scratch + +@cindex template, scrivere il tuo +@cindex esempio di scrittura di una partitura +@cindex scrivere una partitura, esempio +@cindex partitura, esempio di scrittura + +Dopo aver acquisito un po' di confidenza nella scrittura del codice LilyPond, +potresti scoprire che è più facile costruire una partitura da zero +piuttosto che modificare uno dei modelli. In questo modo puoi +anche sviluppare il tuo stile per adattarlo al tipo di musica che +vuoi. Come esempio, vediamo come mettere insieme la partitura di +un preludio per organo. + +Cominciamo con una sezione d'intestazione. Qui va il titolo, il nome del +compositore, etc, poi vengono le varie definizioni, e infine il +blocco della partitura. Spieghiamo questi prima a grandi linee +e in seguito aggiungeremo i dettagli. + +Useremo le prime due battute del preludio di Bach basato +su @emph{Jesu, meine Freude}, che è scritto per organo con due +manuali e pedaliera. Puoi vedere queste due battute +in fondo a questa sezione. La parte per il manuale superiore ha due +voci, quella inferiore e la pedaliera ne hanno una. Abbiamo quindi bisogno +di quattro definizioni musicali e di una definizione per stabilire il +tempo e la tonalità: + +@example +\version @w{"@version{}"} +\header @{ + title = "Jesu, meine Freude" + composer = "J S Bach" +@} +TimeKey = @{ \time 4/4 \key c \minor @} +ManualOneVoiceOneMusic = @{s1@} +ManualOneVoiceTwoMusic = @{s1@} +ManualTwoMusic = @{s1@} +PedalOrganMusic = @{s1@} + +\score @{ +@} +@end example + +Per ora abbiamo usato soltanto una nota spaziatrice, @code{s1}, +invece di musica vera e propria. La aggiungeremo in seguito. + +Ora vediamo cosa dovrebbe andare nel blocco della partitura. +Mostriamo soltanto la struttura del pentagramma che vogliamo. +La musica per organo di solito viene scritta su tre righi, +uno per ogni mano e uno per i pedali. I righi della +tastiera dovrebbero essere raggruppati insieme con una graffa, dunque +dobbiamo usare PianoStaff per loro. La parte del primo manuale +ha bisogno di due voci mentre la parte per il secondo manuale +di una soltanto. + +@example + \new PianoStaff << + \new Staff = "ManualOne" << + \new Voice @{ \ManualOneVoiceOneMusic @} + \new Voice @{ \ManualOneVoiceTwoMusic @} + >> % end ManualOne Staff context + \new Staff = "ManualTwo" << + \new Voice @{ \ManualTwoMusic @} + >> % end ManualTwo Staff context + >> % end PianoStaff context +@end example + +Poi dobbiamo aggiungere un rigo per i pedali. Questo va sotto il +PianoStaff, ma deve svolgersi simultaneamente a quest'ultimo, quindi +abbiamo bisogno delle parentesi angolari intorno ai due gruppi. Altrimenti, +verrà generato un errore nel file di log. È un errore comune che +farai prima o poi! Prova a copiate l'esempio finale alla fine di +questa sezione, togli le parentesi angolari, e compilalo per vedere +quali errori genera. + +@example +<< % PianoStaff and Pedal Staff must be simultaneous + \new PianoStaff << + \new Staff = "ManualOne" << + \new Voice @{ \ManualOneVoiceOneMusic @} + \new Voice @{ \ManualOneVoiceTwoMusic @} + >> % end ManualOne Staff context + \new Staff = "ManualTwo" << + \new Voice @{ \ManualTwoMusic @} + >> % end ManualTwo Staff context + >> % end PianoStaff context + \new Staff = "PedalOrgan" << + \new Voice @{ \PedalOrganMusic @} + >> +>> +@end example + +Non è necessario usare il costrutto simultaneo +@code{<< .. >>} per il rigo del secondo manuale e per quello della +pedaliera, poiché contengono solo una espressione musicale, ma non è male +usarlo comunque; usare sempre le parentesi angolari dopo @code{\new Staff} è +una buona abitudine da coltivare nel caso ci sia più di una voce. Per le Voci, è vero +l'opposto: queste devono essere seguite regolarmente da parentesi +graffe @code{@{ .. @}} nel caso in cui la musica sia composta da diverse +variabili che devono essere eseguite consecutivamente. + +Aggiungiamo questa struttura al blocco della partitura, e aggiustiamo l'indentazione. +Aggiungiamo anche le chiavi appropriate, controlliamo che i gambi, le legature di portamento +e quelle di valore in ogni voce del rigo superiore puntino nella direzione giusta usando +@code{\voiceOne} e @code{\voiceTwo}, e inseriamo il tempo e l'armatura di chiave +per ogni rigo attraverso la nostra variabile predefinita, @code{\TimeKey}. + +@example +\score @{ + << % PianoStaff and Pedal Staff must be simultaneous + \new PianoStaff << + \new Staff = "ManualOne" << + \TimeKey % set time signature and key + \clef "treble" + \new Voice @{ \voiceOne \ManualOneVoiceOneMusic @} + \new Voice @{ \voiceTwo \ManualOneVoiceTwoMusic @} + >> % end ManualOne Staff context + \new Staff = "ManualTwo" << + \TimeKey + \clef "bass" + \new Voice @{ \ManualTwoMusic @} + >> % end ManualTwo Staff context + >> % end PianoStaff context + \new Staff = "PedalOrgan" << + \TimeKey + \clef "bass" + \new Voice @{ \PedalOrganMusic @} + >> % end PedalOrgan Staff + >> +@} % end Score context +@end example + +Questo completa la struttura. Qualsiasi musica per organo a tre righi +avrà una struttura simile, sebbene il numero delle voci +possa variare. Tutto ciò che resta da fare ora +è aggiungere la musica, e combinare tutte le parti insieme. + +@lilypond[quote,verbatim,ragged-right,addversion] +\header { + title = "Jesu, meine Freude" + composer = "J S Bach" +} +TimeKey = { \time 4/4 \key c \minor } +ManualOneVoiceOneMusic = \relative g' { + g4 g f ees | d2 c2 | +} +ManualOneVoiceTwoMusic = \relative c' { + ees16 d ees8~ ees16 f ees d c8 d~ d c~ | + c c4 b8 c8. g16 c b c d | +} +ManualTwoMusic = \relative c' { + c16 b c8~ c16 b c g a8 g~ g16 g aes ees | + f ees f d g aes g f ees d e8~ ees16 f ees d | +} +PedalOrganMusic = \relative c { + r8 c16 d ees d ees8~ ees16 a, b g c b c8 | + r16 g ees f g f g8 c,2 | + } + +\score { + << % PianoStaff and Pedal Staff must be simultaneous + \new PianoStaff << + \new Staff = "ManualOne" << + \TimeKey % set time signature and key + \clef "treble" + \new Voice { \voiceOne \ManualOneVoiceOneMusic } + \new Voice { \voiceTwo \ManualOneVoiceTwoMusic } + >> % end ManualOne Staff context + \new Staff = "ManualTwo" << + \TimeKey + \clef "bass" + \new Voice { \ManualTwoMusic } + >> % end ManualTwo Staff context + >> % end PianoStaff context + \new Staff = "PedalOrgan" << + \TimeKey + \clef "bass" + \new Voice { \PedalOrganMusic } + >> % end PedalOrgan Staff context + >> +} % end Score context +@end lilypond + +@node Ridurre le dimensioni del file grazie a variabili e funzioni +@subsection Ridurre le dimensioni del file grazie a variabili e funzioni +@translationof Saving typing with variables and functions + +@cindex variabili +@cindex variabili + +Finora hai visto questo tipo di cose: + +@lilypond[quote,verbatim,ragged-right] +hornNotes = \relative c'' { c4 b dis c } +\score { + { + \hornNotes + } +} +@end lilypond + +Potresti anche essere accorto che questo può essere utile nella musica minimalista: + +@lilypond[quote,verbatim,ragged-right] +fragmentA = \relative c'' { a4 a8. b16 } +fragmentB = \relative c'' { a8. gis16 ees4 } +violin = \new Staff { \fragmentA \fragmentA \fragmentB \fragmentA } +\score { + { + \violin + } +} +@end lilypond + +Tuttavia, puoi usare queste variabili (note anche come +macro, o comandi definiti dall'utente) anche per le modifiche manuali: + +@c TODO Avoid padtext - not needed with skylining +@lilypond[quote,verbatim,ragged-right] +dolce = \markup{ \italic \bold dolce } +padText = { \once \override TextScript #'padding = #5.0 } +fthenp=_\markup{ \dynamic f \italic \small { 2nd } \hspace #0.1 \dynamic p } +violin = \relative c'' { + \repeat volta 2 { + c4._\dolce b8 a8 g a b | + \padText + c4.^"hi there!" d8 e' f g d | + c,4.\fthenp b8 c4 c-. | + } +} +\score { + { + \violin + } +\layout{ragged-right=##t} +} +@end lilypond + +Chiaramente queste variabili sono utili per ridurre la quantità di +testo da scrivere. Ma vale la pena tenerle in considerazione anche se +le usi una volta sola -- perché riducono la complessità. Vediamo l'esempio +precedente senza alcuna variabile. È molto difficile da leggere, +soprattutto l'ultima linea. + +@example +violin = \relative c'' @{ + \repeat volta 2 @{ + c4._\markup@{ \italic \bold dolce @} b8 a8 g a b | + \once \override TextScript #'padding = #5.0 + c4.^"hi there!" d8 e' f g d | + c,4.\markup@{ \dynamic f \italic \small @{ 2nd @} + \hspace #0.1 \dynamic p @} b8 c4 c-. | + @} +@} +@end example + +@c TODO Replace the following with a better example -td +@c Skylining handles this correctly without padText + +Finora abbiamo visto la sostituzione statica -- quando LilyPond +vede @code{\padText}, lo sostituisce con quel che noi abbiamo +definito che sia (ovvero tutto ciò che sta a destra di +@code{padtext=}). + +LilyPond può gestire anche la sostituzione non statica (la puoi +immaginare come una funzione). + +@lilypond[quote,verbatim,ragged-right] +padText = +#(define-music-function (parser location padding) (number?) + #{ + \once \override TextScript #'padding = #$padding + #}) + +\relative c''' { + c4^"piu mosso" b a b + \padText #1.8 + c4^"piu mosso" d e f + \padText #2.6 + c4^"piu mosso" fis a g +} +@end lilypond + +L'uso di variabili è anche un buon modo per ridurre il lavoro quando +la sintassi di input di LilyPond cambia (vedi +@rprogram{Updating files with convert-ly}). Se tu hai una +una definizione singola (come @code{\dolce}) per tutti i tuoi file +di input (vedi @ref{Style sheets}), poi se la sintassi cambia devi +soltanto aggiornare la tua singola definizione @code{\dolce}, +invece di dover modificare tutti i file @code{.ly}. + + +@node Partiture e parti +@subsection Partiture e parti +@translationof Scores and parts + +Nella musica orchestrale, tutte le note vengono stampate due volte. Una +volta nella parte per i musicisti e una volta nella partitura completa +per il direttore. Le variabili sono utili se si vuole evitare il doppio +lavoro. La musica viene inserita una volta e salvata all'interno di una +variabile. I contenuti di quella variabile vengono poi usati per generare +sia la parte che l'intera partitura. + +Conviene definire le note in un file speciale. Ad esempio, +supponiamo che il file @file{horn-music.ly} contenga la seguente parte +di un duetto per corno e fagotto + +@example +hornNotes = \relative c @{ + \time 2/4 + r4 f8 a cis4 f e d +@} +@end example + +@noindent +Poi una parte individuale si ottiene inserendo il seguente codice in un file + +@example +\include "horn-music.ly" +\header @{ + instrument = "Horn in F" +@} + +@{ + \transpose f c' \hornNotes +@} +@end example + +La linea + +@example +\include "horn-music.ly" +@end example + +@noindent +sostituisce i contenuti di @file{horn-music.ly} in quella posizione del +file, quindi @code{hornNotes} è definito dopo. Il comando +@code{\transpose f@tie{}c'} indica che l'argomento, ovvero +@code{\hornNotes}, deve essere trasposto di una quinta ascendente. La tonalità +@code{f} è indicata dalla nota @code{c'}, che corrisponde all'accordatura +di un normale corno francese in@tie{}Fa. La trasposizione può essere vista +nel seguente output + +@lilypond[quote,ragged-right] +\transpose f c' \relative c { + \time 2/4 + r4 f8 a cis4 f e d +} +@end lilypond + +Nei brani di insieme, una delle voci non suona per molte +misure. Questo viene indicato da una pausa speciale, la pausa +multi-misura. Si inserisce con una @code{R} maiuscola seguita da una +durata (@code{1}@tie{}per una semibreve, @code{2}@tie{}per una minima, +etc.). Moltiplicando la durata, si possono costruire pause +più lunghe. Ad esempio, questa pausa prende 3@tie{}misure in un +tempo di 2/4 + +@example +R2*3 +@end example + +Quando la parte viene stampata, le pause multiple devono essere +condensate. Si può fare impostando una variabile run-time + +@example +\set Score.skipBars = ##t +@end example + +@noindent +Questo comando imposta la proprietà @code{skipBars} nel contesto +@code{Score} su vero (@code{##t}). Aggiungendo la pausa e questa +opzione alla musica precedente, si arriva al seguente risultato + +@lilypond[quote,ragged-right] +\transpose f c' \relative c { + \time 2/4 + \set Score.skipBars = ##t + R2*3 + r4 f8 a cis4 f e d +} +@end lilypond + + +Lo spartito si forma combinando tutta la musica insieme. Assumendo che +l'altra voce si trovi in @code{bassoonNotes} nel file +@file{bassoon-music.ly}, lo spartito sarà + +@example +\include "bassoon-music.ly" +\include "horn-music.ly" + +<< + \new Staff \hornNotes + \new Staff \bassoonNotes +>> +@end example + +@noindent +ovvero + +@lilypond[quote,ragged-right] +\relative c << + \new Staff { + \time 2/4 R2*3 + r4 f8 a cis4 f e d + } + \new Staff { + \clef bass + r4 d,8 f | gis4 c | b bes | + a8 e f4 | g d | gis f + } +>> +@end lilypond + + diff --git a/Documentation/it/learning/preface.itely b/Documentation/it/learning/preface.itely new file mode 100644 index 0000000000..8286993d92 --- /dev/null +++ b/Documentation/it/learning/preface.itely @@ -0,0 +1,62 @@ +@c -*- coding: utf-8; mode: texinfo; documentlanguage: it -*- + +@ignore + Translation of GIT committish: a30fa41fac8fb2771a76f6d1edbec9714298ee36 + + When revising a translation, copy the HEAD committish of the + version that you are working on. See TRANSLATION for details. +@end ignore + +@c \version "2.12.0" + +@node Prefazione +@unnumbered Prefazione +@translationof Preface + + +Deve essere stato durante una prova della EJE (Orchestra Giovanile di +Eindhoven), da qualche parte nel 1995 che Jan, uno degli strampalati +violisti, ha parlato ad Han-Wen, uno degli alterati cornisti, del +nuovo grande progetto a cui stava lavorando. Era un sistema automatico +per stampare musica (per la precisione, si trattava di MPP, un +preprocessore per MusiXTeX). Accadde che per caso Han-Wen desiderava +stampare alcune parti di una partitura, così iniziò a sperimentare il +software, e ne rimase presto affascinato. Si decise che MPP era +un vicolo cieco. Dopo molte discussioni e animati scambi di email, +Han-Wen diede inizio a LilyPond nel 1996. Questa volta è stato Jan ad +essere coinvolto nel progetto di Han-Wen. + +Per certi versi, sviluppare un programma per computer è come +imparare a suonare uno strumento. All'inizio, scoprire come funziona è +divertente, e le cose che non si riescono a fare rappresentano uno +stimolo. Dopo l'entusiasmo iniziale, bisogna esercitarsi continuamente. Le scale e +gli studi possono essere noiosi, e se non si è motivati dagli altri – +insegnanti, direttori o il pubblico – si può essere tentati di +smettere. Ma se si continua, gradualmente suonare diventa parte della +propria vita. Alcuni giorni viene naturale, ed è meraviglioso, mentre altri +giorni semplicemente non va, ma si continua a suonare, giorno dopo giorno. + +Come imparare la musica, lavorare su LilyPond può essere un lavoro +noioso, e certi giorni sembra di annaspare in una palude di bug. +Tuttavia è diventato parte della nostra vita, e continuiamo a farlo. +Probabilmente la motivazione più importante è che il nostro programma +fa davvero qualcosa di utile per la gente. Quando navighiamo per la +Rete troviamo molte persone che usano LilyPond e realizzano notevoli +partiture. Ci sembra incredibile, ma è anche molto gratificante. + +I nostri utenti non solo ci danno buone vibrazioni perché usano il +nostro programma, molti di loro ci aiutano anche attraverso +suggerimenti e segnalazioni di bug, quindi vorremmo ringraziare tutti +gli utenti che ci hanno segnalato bug, dato consigli o contribuito +in qualunque altro modo a LilyPond. + +Suonare e stampare la musica sono più di una bella analogia. +Programmare insieme è molto divertente, e aiutare le persone è +profondamente appagante, ma alla fine lavorare a LilyPond è un modo +per esprimere il nostro grande amore per la musica. Che possa aiutarvi +a creare tanta bella musica! + +Han-Wen e Jan + +Utrecht/Eindhoven, Paesi Bassi, Luglio 2002. + diff --git a/Documentation/it/learning/tutorial.itely b/Documentation/it/learning/tutorial.itely new file mode 100644 index 0000000000..8cc63c5f32 --- /dev/null +++ b/Documentation/it/learning/tutorial.itely @@ -0,0 +1,743 @@ +@c -*- coding: utf-8; mode: texinfo; documentlanguage: it -*- + +@ignore + Translation of GIT committish: a30fa41fac8fb2771a76f6d1edbec9714298ee36 + + When revising a translation, copy the HEAD committish of the + version that you are working on. See TRANSLATION for details. +@end ignore + + +@c \version "2.12.0" + +@node Tutorial +@chapter Tutorial + +Questo capitolo fornisce un'introduzione di base all'uso di LilyPond. + +@menu +* Compilare un file:: +* Come scrivere i file di input:: +* Come leggere i manuali:: +@end menu + +@node Compilare un file +@section Compilare un file +@translationof Compiling a file + +FIXME: insert text + +@menu +* Inserire l'input:: +* MacOS X:: +* Windows:: +* Linea di comando:: +@end menu + +@node Inserire l'input +@subsection Inserire l'input +@translationof Entering input + +@cindex compilazione +@cindex esempio iniziale +@cindex esempio, iniziale +@cindex maiuscole, sensibile alle + +@qq{Compilazione} è il termine usato per indicare l'elaborazione di un +file di input in formato LilyPond per produrre un file per la stampa e +(opzionalmente) un file MIDI per la riproduzione audio. I file di +input di LilyPond sono semplici file di testo. L'esempio iniziale +mostra l'aspetto di un semplice file di input. + +Per creare uno spartito, scriviamo un file di input che specifica la +notazione. Ad esempio, se scriviamo: + +@example +@{ + c' e' g' e' +@} +@end example + +@noindent +il risultato sarà il seguente: + +@c in this case we don't want verbatim +@lilypond[quote] +{ + c' e' g' e' +} +@end lilypond + +@warning{Le note e i testi nel file LilyPond devono essere sempre +scritti tra @w{@strong{@{ parentesi graffe @}}}. Per evitare ambiguità, le +parentesi dovrebbero essere delimitate da degli spazi, a meno che non si +trovino all'inizio o alla fine di una linea. Può darsi che in alcuni esempi +di questo manuale le parentesi verranno omesse, ma non dimenticarle +nella tua musica! Per maggiori informazioni sull'aspetto degli esempi +nel manuale, si veda @ref{How to read the manuals}.} + +Inoltre, l'input di LilyPond è @strong{sensibile alle maiuscole}. +@w{@code{@{ c d e @}}} è un input valido; @w{@code{@{ C D E @}}} invece +produrrà un messaggio di errore. + +@smallspace + +@subheading Viewing output + +@c TODO: move index entries +@cindex PDF file +@cindex vedere la musica +@cindex editor di testo +@cindex eseguire LilyPond in MacOS X +@cindex MacOS X, eseguire LilyPond +@cindex eseguire LilyPond in Windows +@cindex Windows, eseguire LilyPond +@cindex eseguire LilyPond in Unix +@cindex Unix, eseguire LilyPond + +Come produrre l'output di LilyPond dipende dal tuo sistema operativo e dai +programmi che usi. + +@itemize + +@item +@ref{MacOS X, @sourceimage{logo-macosx,,,}} +@ref{MacOS X, MacOS X} (graphical) + +@item +@ref{Windows, @sourceimage{logo-windows,,,}} +@ref{Windows, Microsoft Windows} (graphical) + +@item +@ref{Command-line, @sourceimage{logo-linux,,,} +@sourceimage{logo-freebsd,,,} +@sourceimage{logo-macosx,,,} +@sourceimage{logo-windows,,,} +} +@ref{Command-line, All operating systems} (command-line) + +@end itemize + +Si noti che sono disponibili molti altri editor di testo con +un miglior supporto per LilyPond. Per maggiori informazioni, si veda +@rprogram{Alternate input}. + +@warning{La prima volta che si esegue LilyPond la compilazione potrà richiedere +uno o due minuti perché tutti i font di sistema devono essere prima +analizzati. In seguito, LilyPond sarà molto più veloce!} + +@node MacOS X +@subsection MacOS X + +@warning{Queste istruzioni partono dal presupposto che tu stia usando l'editor +LilyPad incluso nel pacchetto. Se stai usando uno dei programmi descritti in +@rgeneral{Alternate input}, consulta la documentazione di questi +programmi nel caso tu abbia qualche problema a compilare un file.} + +Cliccando due volte su @command{LilyPond.app}, il programma si aprirà con +un file di esempio. Salvalo, ad esempio, come @file{test.ly} sulla tua +Scrivania, e poi elaboralo col comando di menu +@w{@code{Compila > Crea File}}. Il file PDF risultante comparirà sullo schermo. + +Per gli usi successivi di LilyPond, dovresti iniziare scegliendo @q{Nuovo} +o @q{Apri}. Devi salvare il file prima di elaborarlo. Se durante +l'elaborazione viene segnalato un errore, controlla la finestra dei log. + +@c FIXME: add screenshots + +@node Windows +@subsection Windows + +@warning{Queste istruzioni partono dal presupposto che tu stia usando l'editor +LilyPad incluso nel pacchetto. Se stai usando uno dei programmi descritti in +@rgeneral{Alternate input}, consulta la documentazione di questi +programmi nel caso tu abbia qualche problema a compilare un file.} + +In Windows, se fai un doppio clic sull'icona di LilyPond presente sulla +Scrivania, si aprirà un editor di testo con un semplice file di esempio. +Salvalo, ad esempio, come @file{test.ly} sulla tua Scrivania e poi clicca +due volte sul file per elaborarlo (l'icona del file ha l'aspetto di una +nota). Dopo alcuni secondi, comparirà un file @file{test.pdf} sulla +tua scrivania. Clicca due volte su questo file PDF per vedere lo +spartito prodotto. Un metodo alternativo per elaborare il file @file{test.ly} +è trascinarlo sull'icona di LilyPond col cursore del mouse. + +Per modificare un file @file{.ly} esistente, clicca col tasto destro del +mouse su di esso e seleziona @qq{Modifica il sorgente}. Per avere un file +nuovo da cui iniziare, lancia l'editor come descritto sopra e clicca su +@qq{Nuovo} nel menu @qq{File}, oppure clicca col tasto destro del mouse sulla +scrivania e seleziona @qq{Nuovo..Documento di testo}, cambia il nome in un nome +di tua scelta e modifica l'estensione del file in @code{.ly}. Clicca due volte +sull'icona per inserirci il tuo codice LilyPond, come in precedenza. + +Il doppio clic del file non produce soltanto un file PDF, ma anche +un file @file{.log} che contiene alcune informazioni sulle operazioni che +LilyPond ha svolto sul file. Se ci dovesse essere un errore, controlla +questo file. + +@c FIXME: add screenshots + +@node Linea di comando +@subsection Linea di comando +@translationof Command-line + +@warning{Queste istruzioni partono dal presupposto che tu stia usando i comuni +programmi unix a linea di comando. Se stai usando uno dei programmi +descritti in @rgeneral{Alternate input}, consulta la documentazione per +questi programmi in caso tu abbia problemi a compilare un file.} + + +Crea un file di testo chiamato @file{test.ly} e scrivi: + +@example +@{ + c' e' g' e' +@} +@end example + +Per elaborare @file{test.ly}, eseguire questo comando: + +@example +lilypond test.ly +@end example + +@noindent +Vedrai qualcosa di simile: + +@example +lilypond test.ly +GNU LilyPond @version{} +Processing `test.ly' +Parsing... +Interpreting music... +Preprocessing graphical objects... +Finding the ideal number of pages... +Fitting music on 1 page... +Drawing systems... +Layout output to `test.ps'... +Converting to `test.pdf'... +@end example + +Puoi vedere o stampare il risultante @file{text.pdf}. + + +@node Come scrivere i file di input +@section Come scrivere i file di input +@translationof How to write input files + +FIXME: insert text + +@menu +* Notazione semplice:: +* Lavorare sui file di input:: +@end menu + +@node Notazione semplice +@subsection Notazione semplice +@translationof Simple notation + +@cindex notazione semplice +@cindex notazione, semplice + +LilyPond aggiungerà automaticamente alcuni elementi della notazione. Nell'esempio +seguente, abbiamo specificato soltanto quattro note, ma LilyPond +ha aggiunto una chiave, il tempo e le durate. + +@lilypond[verbatim,quote] +{ + c' e' g' e' +} +@end lilypond + +@noindent +Questo comportamento può essere modificato, ma nella maggior parte dei +casi questi valori sono utili. + + +@subheading Pitches + +@cindex altezze +@cindex modo relativo +@cindex apostrofo +@cindex virgola +@cindex alterazioni e modo relativo +@cindex modo relativo, e alterazioni + +@funindex \relative +@funindex relative +@funindex ' +@funindex , + +Glossario musicale: @rglos{pitch}, @rglos{interval}, +@rglos{scale}, @rglos{middle C}, @rglos{octave}, +@rglos{accidental}. + +Il modo più semplice per inserire le note è usare il modo @code{\relative} +(relativo). In questo modo, l'ottava viene scelta automaticamente in +base al principio per cui la nota che segue deve essere posizionata vicino +a quella precedente, ovvero deve essere posizionata nell'ottava che si trova +entro tre spazi di pentagramma dalla nota precedente. Per iniziare, scriveremo +il pezzo musicale più elementare, una @notation{scala}, in cui ogni nota +si trova entro una distanza di appena uno spazio di pentagramma dalla nota precedente. + +@lilypond[verbatim,quote] +% set the starting point to middle C +\relative c' { + c d e f + g a b c +} +@end lilypond + +La nota iniziale è un @notation{Do centrale}. Ogni nota successiva viene +posta il più vicino possibile alla nota precedente -- in altre parole, la prima +@code{c} è il Do più vicino al Do centrale. Questo è seguito dal Re +più vicino alla nota precedente. Possiamo creare melodie che hanno +intervalli più ampi, sempre usando soltanto il modo @code{\relative}: + +@lilypond[verbatim,quote] +\relative c' { + d f a g + c b f d +} +@end lilypond + +@noindent +Non è necessario che la prima nota della melodia inizi con +la nota che specifica l'altezza iniziale. Nell'esempio +precedente, la prima nota -- il @code{Re} -- è il Re più vicino al +Do centrale. + +Se si aggiungono (o si rimuovono) apostrofi @code{'} o virgole @code{,} dal +comando @code{@w{\relative c' @{}}, possiamo cambiare l'ottava di +partenza: + +@lilypond[verbatim,quote] +% one octave above middle C +\relative c'' { + e c a c +} +@end lilypond + +Il modo relativo all'inizio può apparire disorientante, ma è il sistema più +semplice per inserire gran parte delle melodie. Vediamo come questo calcolo +relativo funziona in pratica. Se si parte da un Si, che si trova sulla linea +centrale in chiave di violino, si possono raggiungere un Do, un Re e un Mi +entro 3 spazi di pentagramma andando in su, e un La, un Sol e un Fa entro 3 +spazi di pentagramma andando in giù. Quindi se la nota che segue il Si è +un Do, un Re o un Mi, si troverà sopra il Si, mentre il La, il Sol +o il Fa si troveranno sotto. + +@lilypond[verbatim,quote] +\relative c'' { + b c % c is 1 staff space up, so is the c above + b d % d is 2 up or 5 down, so is the d above + b e % e is 3 up or 4 down, so is the e above + b a % a is 6 up or 1 down, so is the a below + b g % g is 5 up or 2 down, so is the g below + b f % f is 4 up or 3 down, so is the f below +} +@end lilypond + +Accade esattamente lo stesso quando qualcuna di queste note ha un +diesis o un bemolle. Le @notation{Alterazioni} sono +@strong{completamente ignorate} nel calcolo della posizione relativa. +Viene fatto lo stesso conteggio dello spazio del pentagramma da +una nota in una qualsiasi altra posizione sul pentagramma. + +Per inserire intervalli che sono più ampi di tre spazi di pentagramma, si può +alzare l'@notation{ottava} aggiungendo al nome della nota una virgoletta +ad apice singolo @code{'} (o apostrofo). Si può abbassare l'ottava +aggiungendo al nome della nota una virgola @code{,}. + +@lilypond[verbatim,quote] +\relative c'' { + a a, c' f, + g g'' a,, f' +} +@end lilypond + +@noindent +Per cambiare una nota di due (o più!) ottave, si usano multipli di +@code{''} o @code{,,} -- ma stai attento a usare due virgolette ad +apici semplici @code{''} e non quelle a doppi apici @code{"}@tie{}! Il +valore iniziale in @code{@w{\relative c'}} può essere modificato anche +in questo modo. +@c " - keeps quotes in order for context-sensitive editor -td + +@subheading Durations (rhythms) + +@cindex durate della nota +@cindex durate +@cindex ritmi +@cindex semibreve +@cindex minima +@cindex semiminima +@cindex nota puntata +@cindex notazione delle durate + +Glossario Musicale: @rglos{beam}, @rglos{duration}, +@rglos{whole note}, @rglos{half note}, @rglos{quarter note}, +@rglos{dotted note}. + +La @notation{durata} di una nota viene indicata da un numero che segue +il nome della nota: @code{1} per una @notation{semibreve}, @code{2} per +una @notation{minima}, @code{4} per una @notation{semiminima} e +così via. Le @notation{Code} vengono aggiunte in automatico. + +Se non si specifica una durata, si usa la durata precedente anche +per la nota successiva. La durata predefinita della prima nota è di un +quarto. + +@lilypond[verbatim,quote] +\relative c'' { + a1 + a2 a4 a8 a + a16 a a a a32 a a a a64 a a a a a a a a2 +} +@end lilypond + +Per creare @notation{note puntate}, aggiungi un punto @code{.} al +numero di durata. La durata di una nota puntata deve essere dichiarata +esplicitamente (cioè con un numero). + +@lilypond[verbatim,quote] +\relative c'' { + a a a4. a8 + a8. a16 a a8. a8 a4. +} +@end lilypond + + +@subheading Rests + +@cindex pausa +@cindex notazione delle pause + +Glossario Musicale: @rglos{rest}. + +Una @notation{pausa} viene inserita proprio come una nota ma col nome +@code{r}@tie{}: + +@lilypond[verbatim,quote] +\relative c'' { + a r r2 + r8 a r4 r4. r8 +} +@end lilypond + + +@subheading Time signature + +@cindex tempo, indicazione di + +@funindex \time +@funindex time + +Glossario Musicale: @rglos{time signature}. + +Il @notation{tempo} può essere impostato con il comando @code{\time}: + +@lilypond[verbatim,quote] +\relative c'' { + \time 3/4 + a4 a a + \time 6/8 + a4. a + \time 4/4 + a4 a a a +} +@end lilypond + + +@subheading Clef + +@cindex chiave +@cindex chiave di violino +@cindex contralto +@cindex tenore +@cindex basso + +@funindex \clef +@funindex clef + +Glossario Musicale: @rglos{clef}. + +La @notation{chiave} può essere impostata con il comando @code{\clef}: + +@lilypond[verbatim,quote] +\relative c' { + \clef treble + c1 + \clef alto + c1 + \clef tenor + c1 + \clef bass + c1 +} +@end lilypond + + +@subheading All together + +Ecco un piccolo esempio che mostra tutti questi elementi insieme: + +@lilypond[verbatim,quote] +\relative c, { + \time 3/4 + \clef bass + c2 e8 c' g'2. + f4 e d c4 c, r4 +} +@end lilypond + + +@seealso +Guida alla Notazione: +@ruser{Writing pitches}, +@ruser{Writing rhythms}, +@ruser{Writing rests}, +@ruser{Time signature}, +@ruser{Clef}. + + +@node Lavorare sui file di input +@subsection Lavorare sui file di input +@translationof Working on input files + +@cindex parentesi graffe +@cindex parentesi, graffe +@cindex commenti +@cindex commento di linea +@cindex commento, linea +@cindex commento di blocco +@cindex commento, blocco +@cindex sensibile alle maiuscole +@cindex insensibile agli spazi +@cindex espressioni + +@funindex { ... } +@funindex % +@funindex %@{ ... %@} + +I file di input di LilyPond sono simili ai file sorgenti di molti comuni +linguaggi di programmazione. Sono sensibili alle maiuscole, e in generale +gli spazi bianchi vengono ignorati. Le espressioni musicali si formano +con parentesi graffe @{ @}, e i commenti sono indicati con @code{%} o +@w{@code{%@{ ... %@}}}. + +Se le frasi precedenti ti sembrano assurde, non preoccuparti! Spiegheremo +cosa significano tutti questi termini: + +@itemize + +@item +@strong{Sensibile alle maiuscole}: +distingue tra lettere in minuscolo (es: +@w{@code{a, b, s, t}}) o in maiuscolo (es: @w{@code{A, B, S, T}}). +Le note sono in minuscolo: @w{@code{@{ c d e @}}} è un input valido; +@w{@code{@{ C D E @}}} causerà un messaggio di errore. + +@item +@strong{Insensibile agli spazi}: +non importa quanti spazi (o tabulazioni o nuove linee) aggiungi. +@w{@code{@{ c d e @}}} ha lo stesso significato di +@w{@code{@{ c @tie{}} @tie{} @tie{} d e @}} e: + +@example +@{ c d + e @} +@end example + +@noindent +Certo, l'esempio precedente è scomodo da leggere. Una buona regola +pratica è indentare i blocchi di codice con una tabulazione o due spazi: + +@example +@{ + c d e +@} +@end example + +Tuttavia, uno spazio bianco @emph{è} necessario per separare molti elementi +sintattici gli uni dagli altri. In altre parole, lo spazio bianco può essere +@emph{aggiunto}, ma non può essere @emph{eliminato}. Dal momento che uno +spazio bianco mancante può dare adito a strani errori, si consiglia di +inserire sempre uno spazio bianco prima e dopo ogni elemento sintattico, +ad esempio, prima e dopo ogni parentesi graffa. + +@item +@strong{Espressioni}: +ogni parte dell'input di LilyPond deve avere @strong{@{ parentesi +graffe @}} intorno. Queste parentesi dicono a LilyPond che l'input costituisce +un'espressione musicale singola, proprio come le parentesi @code{()} in +matematica. Per evitare ambiguità, le parentesi dovrebbero essere +racchiuse tra spazi, a meno che non si trovino all'inizio o alla fine di una linea. + +Anche un comando di LilyPond seguito da un'espressione semplice in +parentesi (come @w{@code{\relative @{ @}}}) conta come un'espressione +musicale singola. + +@cindex commenti +@cindex commento di linea +@cindex commento di blocco +@item +@strong{Commenti}: +un commento è un appunto per il lettore umano dell'input musicale; viene +ignorato quando l'input viene analizzato, dunque non ha alcun effetto +sull'output finale. Ci sono due tipi di commenti. Il simbolo di percentuale +@code{%} introduce un commento di linea; tutto quello che sta dopo @code{%} +su quella linea verrà ignorato. Per convenzione, un commento di linea viene +posto @emph{sopra} il codice a cui si riferisce. + +@example +a4 a a a +% this comment refers to the Bs +b2 b +@end example + +Un commento di blocco segna come commento un'intera sezione di input musicale. +Tutto ciò che è compreso tra @code{%@{} e @code{%@}} viene ignorato. +Tuttavia, i commenti di blocco non si @q{annidano}. Ovvero non si può +inserire un commento di blocco dentro a un altro commento di blocco. Se +ci provi, il primo @code{%@}} interromperà @emph{entrambi} i commenti di +blocco. Il seguente frammento mostra gli usi possibili per i commenti: + +@example +% notes for twinkle twinkle follow + c4 c g' g a a g2 + +%@{ + This line, and the notes below are ignored, + since they are in a block comment. + + f f e e d d c2 +%@} +@end example + +@end itemize + + +@node Come leggere i manuali +@section Come leggere i manuali +@translationof How to read the manuals + +FIXME: fluff here + +@menu +* Parentesi omesse:: +* Esempi cliccabili:: +* Navigazione con la tastiera:: +* Panoramica dei manuali:: +@end menu + + +@node Parentesi omesse +@subsection Parentesi omesse +@translationof Omitting braces + +@cindex come leggere il manuale +@cindex manuale, leggere +@cindex leggere il manuale +@cindex esempi, cliccabili +@cindex esempi cliccabili +@cindex consigli su come costruire i file +@cindex modelli +@cindex costruire i file, consigli +@cindex file, consigli per costruirli + +L'input di LilyPond deve essere compreso dai segni @{ @} o da +@code{@w{\relative c'' @{ ... @}}}, come abbiamo visto in @ref{Lavorare +sui file di input}. Nella parte restante di questo manuale, gran parte +degli esempi ometterà questi segni. Per replicare gli esempi, puoi copiare +e incollare l'input mostrato, ma @strong{devi} aggiungere +@code{@w{\relative c'' @{ @}}} in questo modo: + +@example +\relative c'' @{ + ... example goes here... +@} +@end example + +Perché omettere le parentesi? Gran parte degli esempi in questo manuale +possono essere inseriti nel mezzo di un pezzo più ampio. Per questi esempi, +non ha senso includere @code{@w{\relative c'' @{ @}}} -- +non si deve mettere un @code{\relative} dentro un altro +@code{\relative}! Se includessimo @code{@w{\relative c'' @{ @}}} +in ogni esempio, non potresti copiare un piccolo esempio della +documentazione e incollarlo dentro a un tuo brano più +esteso. La maggior parte delle persone vuole aggiungere del materiale a +un brano esistente, per questo abbiamo dato al manuale questo formato. + + +@node Esempi cliccabili +@subsection Esempi cliccabili +@translationof Clickable examples + +@warning{Queste funzionalità sono disponibili soltanto nei manuali in HTML.} + +Molte persone imparano ad usare un programma provando e smanettando. +Questo è possibile anche con LilyPond. Se clicchi su un'immagine +nella versione HTML di questo manuale, vedrai l'esatto input +LilyPond usato per generare quell'immagine. Provalo su +questa immagine: + +@c no verbatim here +@lilypond[quote] +\relative c'' { + c-\markup { \bold \huge { Click here. } } +} +@end lilypond + +Tagliando e copiando quel che si trova nella sezione @qq{ly snippet}, +puoi ricavare un modello di partenza per sperimentare. Per vedere esattamente +lo stesso output (larghezza della linea e tutto il resto), copia tutto da @qq{Start +cut-&-pastable section} alla fine del file. + + +@node Navigazione con la tastiera +@subsection Navigazione con la tastiera +@translationof Keyboard navigation + +@warning{Queste funzionalità sono disponibili soltanto nei manuali in HTML.} + +@c TODO: once this is figured out, insert it here. + +Stiamo lavorando su questa funzionalità. + + +@node Panoramica dei manuali +@subsection Panoramica dei manuali +@translationof Overview of manuals + +La documentazione su LilyPond è vasta. I nuovi utenti talvolta +sono confusi su quali parti dovrebbero leggere, e ogni tanto +saltano la lettura di parti fondamentali. + +@warning{Non saltare le parti importanti della +documentazione. Altrimenti ti risulterà molto più difficile comprendere +le sezioni successive.} + +@itemize + +@item +@strong{Prima di fare @emph{qualsiasi}} tentativo: leggi il @ref{Tutorial} +e la @ref{Common notation} del Manuale di apprendimento. Se ti imbatti +in termini musicali che non conosci, cercali nel @rglosnamed{Top, Glossary}. + +@item +@strong{Prima di tentare di scrivere un pezzo musicale completo}: leggi +i @ref{Fundamental concepts} del Manuale di apprendimento. Dopo puoi dare +un'occhiata alle sezioni rilevanti della @rusernamed{Top, Notation reference}. + +@item +@strong{Prima di cercare di cambiare l'output predefinito}: leggi il +@ref{Tweaking output} del il Manuale di apprendimento. + +@item +@strong{Prima di iniziare un grande progetto}: leggi il documento +@rprogram{Suggestions for writing files} dell'Uso dell'applicazione. + +@end itemize + + diff --git a/Documentation/it/macros.itexi b/Documentation/it/macros.itexi new file mode 100644 index 0000000000..9c689edad0 --- /dev/null +++ b/Documentation/it/macros.itexi @@ -0,0 +1,744 @@ +@c -*- coding: utf-8; mode: texinfo; -*- +@ignore + Translation of GIT committish: a30fa41fac8fb2771a76f6d1edbec9714298ee36 + + When revising a translation, copy the HEAD committish of the + version that you are working on. See TRANSLATION for details. +@end ignore + + +@include version.itexi +@include common-macros.itexi + + +@c ***** Displaying text ***** + +@c To get decent quotes in `foo' and ``foo''. + +@macro q{TEXT} +@quoteleft{}\TEXT\@quoteright{} +@end macro + +@macro qq{TEXT} +@quotedblleft{}\TEXT\@quotedblright{} +@end macro + + +@ifhtml + +@macro warning{TEXT} +@html +
+@end html +@strong{Nota:} \TEXT\ +@c keep the space for proper nesting of

+ +@html +
+@end html +@end macro + +@end ifhtml + +@ifnothtml + +@macro warning{TEXT} +@quotation +@quotation +@cartouche +@b{Nota:} \TEXT\ +@end cartouche +@end quotation +@end quotation +@end macro + +@end ifnothtml + + +@macro docMain +@cartouche +Per maggiori informazioni su come questo manuale si integra col resto +della documentazione, o per leggere questo manuale in altri formati, si veda +@rgeneral{Manuals}. + +Se ti manca qualche manuale, puoi trovare la completa documentazione +all'indirizzo @w{@uref{http://@/www@/.lilypond@/.org/}}. +@end cartouche +@end macro + + +@macro lilyTitlePage{TITLE} +@c This produces the unified index +@syncodeindex fn cp +@syncodeindex vr cp + + +@c ***** Copyright stuff ***** +@ifset FDL +@copying +@copyrightDeclare + +@emph{La traduzione della seguente nota di copyright è gentilmente +offerta per le persone che non parlano inglese, ma solo +la nota in inglese ha valore legale.} + +@emph{The translation of the following copyright notice is provided +for courtesy to non-English speakers, but only the notice in English +legally counts.} + +@quotation +E' garantito il permesso di copiare, distribuire e/o modificare questo +documento seguendo i termini della Licenza per Documentazione +Libera GNU, Versione 1.1 o ogni versione successiva pubblicata dalla +Free Software Foundation; senza alcuna sezione non modificabile. +Una copia della licenza è acclusa nella sezione intitolata ''Licenza +per Documentazione Libera GNU''. +@end quotation + +@quotation +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.1 +or any later version published by the Free Software Foundation; +with no Invariant Sections. +A copy of the license is included in the section entitled ``GNU +Free Documentation License''. +@end quotation +@end copying +@end ifset + +@ifclear FDL +@copying +Questo documento è stato posto nel pubblico dominio. +@end copying +@end ifclear + + + +@c ***** Title page ***** +@ifnottex +@node Su +@top LilyPond --- \TITLE\ +@translationof Top + +@cartouche +@manualIntro{} +@end cartouche +@end ifnottex + +@finalout + +@titlepage +@title LilyPond +@subtitle Il compositore tipografico per la musica +@titlefont{\TITLE\} +@author Il team di sviluppo di LilyPond + +@vskip 60pt + +@cartouche +@manualIntro{} +@end cartouche + +@vskip 40pt + +@docMain{} + +@vskip 0pt plus 1filll + +@insertcopying{} + +Per la versione di LilyPond @version{} +@end titlepage + +@end macro + + +@c ***** Headings in a doc subsection ***** + +@c The next macro is a dummy currently since texinfo doesn't +@c provide a real ragged-right environment yet. +@c +@c Don't insert an empty line after @predefined! Right now +@c it doesn't matter, but a future implementation will probably +@c add some code which needs this restriction. + +@macro predefined +@noindent +@subsubheading Comandi predefiniti +@end macro + +@c Due to a bug in texi2html (texi2html.pl CVS versions <= 1.245) +@c the next macro must not be empty. + +@macro endpredefined +@c +@end macro + + +@macro snippets +@noindent +@subsubheading Frammenti di codice selezionati +@end macro + + +@c Don't insert an empty line after @seealso! Otherwise we get +@c unwanted extra vertical space in the PDF output. + +@macro seealso +@noindent +@subsubheading Vedi anche +@indent +@end macro + + +@macro knownissues +@noindent +@subsubheading Problemi noti e avvertimenti +@end macro + + + +@c ***** Links and references ***** + +@c Definitions for references: +@c +@c @rgeneral +@c @ressay +@c @rglos +@c @rinternals +@c @rlearning +@c @rlsr +@c @rprogram +@c @ruser +@c @rchanges +@c @rextend +@c @rcontrib +@c +@c All these also have a @...named version which allows to specify the +@c displayed text for the reference as second argument. +@c +@c ***** HTML + bigpage is a special case (other manual names); all other +@c formats are treated similarly. + + +@c *** not TeX *** + +@ifnottex + +@c ** bigpage ** + +@ifset bigpage + +@macro rglos{TEXT} +@vindex \TEXT\ +@ref{\TEXT\,,,music-glossary-big-page,Glossario Musicale} +@end macro + +@macro rglosnamed{TEXT,DISPLAY} +@vindex \TEXT\ +@ref{\TEXT\,,\DISPLAY\,music-glossary-big-page,Glossario Musicale} +@end macro + +@macro rlearning{TEXT} +@vindex \TEXT\ +@ref{\TEXT\,,,learning-big-page,Manuale di Apprendimento} +@end macro + +@macro rlearningnamed{TEXT,DISPLAY} +@vindex \TEXT\ +@ref{\TEXT\,,\DISPLAY\,learning-big-page,Manuale di Apprendimento} +@end macro + +@macro ruser{TEXT} +@vindex \TEXT\ +@ref{\TEXT\,,,notation-big-page,Guida alla Notazione} +@end macro + +@macro rusernamed{TEXT,DISPLAY} +@vindex \TEXT\ +@ref{\TEXT\,,\DISPLAY\,notation-big-page,Guida alla Notazione} +@end macro + +@macro rextend{TEXT} +@vindex \TEXT\ +@ref{\TEXT\,,,extending-big-page,Estendere} +@end macro + +@macro rextendnamed{TEXT,DISPLAY} +@vindex \TEXT\ +@ref{\TEXT\,,\DISPLAY\,extending-big-page,Estendere} +@end macro + +@macro rchanges{TEXT} +@vindex \TEXT\ +@ref{\TEXT\,,,changes-big-page,Cambiamenti} +@end macro + +@macro rchangesnamed{TEXT,DISPLAY} +@vindex \TEXT\ +@ref{\TEXT\,,\DISPLAY\,changes-big-page,Cambiamenti} +@end macro + +@macro rcontrib{TEXT} +@vindex \TEXT\ +@ref{\TEXT\,,,contributor-big-page,Guida del Collaboratore} +@end macro + +@macro rcontribnamed{TEXT,DISPLAY} +@vindex \TEXT\ +@ref{\TEXT\,,\DISPLAY\,contributor-big-page,Guida del Collaboratore} +@end macro + +@macro rgeneral{TEXT} +@vindex \TEXT\ +@ref{\TEXT\,,,general-big-page,Informazioni Generali} +@end macro + +@macro rgeneralnamed{TEXT,DISPLAY} +@vindex \TEXT\ +@ref{\TEXT\,,\DISPLAY\,general-big-page,Informazioni Generali} +@end macro + +@macro ressay{TEXT} +@vindex \TEXT\ +@ref{\TEXT\,,,essay-big-page,Saggio} +@end macro + +@macro ressaynamed{TEXT,DISPLAY} +@vindex \TEXT\ +@ref{\TEXT\,,\DISPLAY\,essay-big-page,Saggio} +@end macro + +@macro rprogram{TEXT} +@vindex \TEXT\ +@ref{\TEXT\,,,usage-big-page,Uso del Programma} +@end macro + +@macro rprogramnamed{TEXT,DISPLAY} +@vindex \TEXT\ +@ref{\TEXT\,,\DISPLAY\,usage-big-page,Uso del Programma} +@end macro + +@macro rlsr{TEXT} +@ref{\TEXT\,,,snippets-big-page,Frammenti di codice} +@end macro + +@macro rlsrnamed{TEXT,DISPLAY} +@ref{\TEXT\,,\DISPLAY\,snippets-big-page,Frammenti di codice} +@end macro + +@macro rinternals{TEXT} +@vindex \TEXT\ +@ref{\TEXT\,,,internals-big-page,Guida al Funzionamento Interno} +@end macro + +@macro rinternalsnamed{TEXT,DISPLAY} +@vindex \TEXT\ +@ref{\TEXT\,,\DISPLAY\,internals-big-page,Guida al Funzionamento Interno} +@end macro + +@end ifset + + +@c ** not bigpage ** + +@ifclear bigpage + +@ifnotinfo + +@macro rglos{TEXT} +@vindex \TEXT\ +@ref{\TEXT\,,,music-glossary,Glossario Musicale} +@end macro + +@macro rglosnamed{TEXT,DISPLAY} +@vindex \TEXT\ +@ref{\TEXT\,,\DISPLAY\,music-glossary,Glossario Musicale} +@end macro + +@macro rlearning{TEXT} +@vindex \TEXT\ +@ref{\TEXT\,,,learning,Manuale di Apprendimento} +@end macro + +@macro rlearningnamed{TEXT,DISPLAY} +@vindex \TEXT\ +@ref{\TEXT\,,,learning,Manuale di Apprendimento} +@end macro + +@macro ruser{TEXT} +@vindex \TEXT\ +@ref{\TEXT\,,,notation,Guida alla Notazione} +@end macro + +@macro rusernamed{TEXT,DISPLAY} +@vindex \TEXT\ +@ref{\TEXT\,,\DISPLAY\,notation,Guida alla Notazione} +@end macro + +@macro rchanges{TEXT} +@vindex \TEXT\ +@ref{\TEXT\,,,changes,Cambiamenti} +@end macro + +@macro rchangesnamed{TEXT,DISPLAY} +@vindex \TEXT\ +@ref{\TEXT\,,\DISPLAY\,changes,Cambiamenti} +@end macro + +@macro rextend{TEXT} +@vindex \TEXT\ +@ref{\TEXT\,,,extending,Estendere} +@end macro + +@macro rextendnamed{TEXT,DISPLAY} +@vindex \TEXT\ +@ref{\TEXT\,,\DISPLAY\,extending,Estendere} +@end macro + +@macro rcontrib{TEXT} +@vindex \TEXT\ +@ref{\TEXT\,,,contributor,Guida del Collaboratore} +@end macro + +@macro rcontribnamed{TEXT,DISPLAY} +@vindex \TEXT\ +@ref{\TEXT\,,\DISPLAY\,contributor,Guida del Collaboratore} +@end macro + +@macro rgeneral{TEXT} +@vindex \TEXT\ +@ref{\TEXT\,,,general,Informazioni Generali} +@end macro + +@macro rgeneralnamed{TEXT,DISPLAY} +@vindex \TEXT\ +@ref{\TEXT\,,\DISPLAY\,general,Informazioni Generali} +@end macro + +@macro ressay{TEXT} +@vindex \TEXT\ +@ref{\TEXT\,,,essay,Saggio} +@end macro + +@macro ressaynamed{TEXT,DISPLAY} +@vindex \TEXT\ +@ref{\TEXT\,,\DISPLAY\,essay,Saggio} +@end macro + +@macro rprogram{TEXT} +@vindex \TEXT\ +@ref{\TEXT\,,,usage,Uso del Programma} +@end macro + +@macro rprogramnamed{TEXT,DISPLAY} +@vindex \TEXT\ +@ref{\TEXT\,,\DISPLAY\,usage,Uso del Programma} +@end macro + +@macro rlsr{TEXT} +@ref{\TEXT\,,,snippets,Frammenti di codice} +@end macro + +@macro rlsrnamed{TEXT,DISPLAY} +@ref{\TEXT\,,\DISPLAY\,snippets,Frammenti di codice} +@end macro + +@macro rinternals{TEXT} +@vindex \TEXT\ +@ref{\TEXT\,,,internals,Guida al Funzionamento Interno} +@end macro + +@macro rinternalsnamed{TEXT,DISPLAY} +@vindex \TEXT\ +@ref{\TEXT\,,\DISPLAY\,internals,Guida al Funzionamento Interno} +@end macro + +@end ifnotinfo + +@ifinfo + +@macro rglos{TEXT} +@vindex \TEXT\ +@ref{\TEXT\,,,music-glossary,Glossario Musicale} +@end macro + +@macro rglosnamed{TEXT,DISPLAY} +@vindex \TEXT\ +@ref{\TEXT\,,\DISPLAY\,music-glossary,Glossario Musicale} +@end macro + +@macro rlearning{TEXT} +@vindex \TEXT\ +@ref{\TEXT\,,,lilypond-learning,Manuale di Apprendimento} +@end macro + +@macro rlearningnamed{TEXT,DISPLAY} +@vindex \TEXT\ +@ref{\TEXT\,,,lilypond-learning,Manuale di Apprendimento} +@end macro + +@macro ruser{TEXT} +@vindex \TEXT\ +@ref{\TEXT\,,,lilypond-notation,Guida alla Notazione} +@end macro + +@macro rusernamed{TEXT,DISPLAY} +@vindex \TEXT\ +@ref{\TEXT\,,\DISPLAY\,lilypond-notation,Guida alla Notazione} +@end macro + +@macro rchanges{TEXT} +@vindex \TEXT\ +@ref{\TEXT\,,,lilypond-changes,Cambiamenti} +@end macro + +@macro rchangesnamed{TEXT,DISPLAY} +@vindex \TEXT\ +@ref{\TEXT\,,\DISPLAY\,lilypond-changes,Cambiamenti} +@end macro + +@macro rextend{TEXT} +@vindex \TEXT\ +@ref{\TEXT\,,,lilypond-extending,Estendere} +@end macro + +@macro rextendnamed{TEXT,DISPLAY} +@vindex \TEXT\ +@ref{\TEXT\,,\DISPLAY\,lilypond-extending,Estendere} +@end macro + +@macro rcontrib{TEXT} +@vindex \TEXT\ +@ref{\TEXT\,,,lilypond-contributor,Guida del Collaboratore} +@end macro + +@macro rcontribnamed{TEXT,DISPLAY} +@vindex \TEXT\ +@ref{\TEXT\,,\DISPLAY\,lilypond-contributor,Guida del Collaboratore} +@end macro + +@macro rgeneral{TEXT} +@vindex \TEXT\ +@ref{\TEXT\,,,lilypond-general,Informazioni Generali} +@end macro + +@macro rgeneralnamed{TEXT,DISPLAY} +@vindex \TEXT\ +@ref{\TEXT\,,\DISPLAY\,lilypond-general, Informazioni Generali} +@end macro + +@macro ressay{TEXT} +@vindex \TEXT\ +@ref{\TEXT\,,,lilypond-essay,Saggio} +@end macro + +@macro ressaynamed{TEXT,DISPLAY} +@vindex \TEXT\ +@ref{\TEXT\,,\DISPLAY\,lilypond-essay,Saggio} +@end macro + +@macro rprogram{TEXT} +@vindex \TEXT\ +@ref{\TEXT\,,,lilypond-usage,Uso del Programma} +@end macro + +@macro rprogramnamed{TEXT,DISPLAY} +@vindex \TEXT\ +@ref{\TEXT\,,\DISPLAY\,lilypond-usage,Uso del Programma} +@end macro + +@macro rlsr{TEXT} +@ref{\TEXT\,,,lilypond-snippets,Frammenti di codice} +@end macro + +@macro rlsrnamed{TEXT,DISPLAY} +@ref{\TEXT\,,\DISPLAY\,lilypond-snippets,Frammenti di codice} +@end macro + +@macro rinternals{TEXT} +@vindex \TEXT\ +@ref{\TEXT\,,,lilypond-internals,Guida al Funzionamento Interno} +@end macro + +@macro rinternalsnamed{TEXT,DISPLAY} +@vindex \TEXT\ +@ref{\TEXT\,,\DISPLAY\,lilypond-internals,Guida al Funzionamento Interno} +@end macro + +@end ifinfo + +@end ifclear + +@end ifnottex + + +@c *** TeX *** + +@iftex + +@c All commands below should work in the middle of the line; +@c we thus must not use @vindex directly since it works only if placed +@c on a line of its own. To overcome this problem, we define a +@c replacement macro using the internal definition of @vindex which +@c delimits arguments in the standard way (i.e., with braces). + +@tex +\gdef\lilyvindex#1{\doind{vr}{\code{#1}}\ignorespaces} +@end tex + +@macro rglos{TEXT} +@lilyvindex{\TEXT\} +@ref{\TEXT\,,,music-glossary,Glossario Musicale} +@end macro + +@macro rglosnamed{TEXT,DISPLAY} +@lilyvindex{\TEXT\} +@ref{\TEXT\,,\DISPLAY\,music-glossary,Glossario Musicale} +@end macro + +@macro rlearning{TEXT} +@lilyvindex{\TEXT\} +@ref{\TEXT\,,,learning,Manuale di Apprendimento} +@end macro + +@macro rlearningnamed{TEXT,DISPLAY} +@lilyvindex{\TEXT\} +@ref{\TEXT\,,\DISPLAY\,learning,Manuale di Apprendimento} +@end macro + +@macro ruser{TEXT} +@lilyvindex{\TEXT\} +@ref{\TEXT\,,,notation,Guida alla Notazione} +@end macro + +@macro rusernamed{TEXT,DISPLAY} +@lilyvindex{\TEXT\} +@ref{\TEXT\,,\DISPLAY\,notation,Guida alla Notazione} +@end macro + +@macro rchanges{TEXT} +@lilyvindex{\TEXT\} +@ref{\TEXT\,,,changes,Cambiamenti} +@end macro + +@macro rchangesnamed{TEXT,DISPLAY} +@lilyvindex{\TEXT\} +@ref{\TEXT\,,\DISPLAY\,changes,Cambiamenti} +@end macro + +@macro rextend{TEXT} +@lilyvindex{\TEXT\} +@ref{\TEXT\,,,extending,Estendere} +@end macro + +@macro rextendnamed{TEXT,DISPLAY} +@lilyvindex{\TEXT\} +@ref{\TEXT\,,\DISPLAY\,extending,Estendere} +@end macro + +@macro rcontrib{TEXT} +@lilyvindex{\TEXT\} +@ref{\TEXT\,,,contributor,Guida del Collaboratore} +@end macro + +@macro rcontribnamed{TEXT,DISPLAY} +@lilyvindex{\TEXT\} +@ref{\TEXT\,,\DISPLAY\,contributor,Guida del Collaboratore} +@end macro + +@macro rgeneral{TEXT} +@lilyvindex{\TEXT\} +@ref{\TEXT\,,,general,Informazioni Generali} +@end macro + +@macro rgeneralnamed{TEXT,DISPLAY} +@lilyvindex{\TEXT\} +@ref{\TEXT\,,\DISPLAY\,general,Informazioni Generali} +@end macro + +@macro ressay{TEXT} +@lilyvindex{\TEXT\} +@ref{\TEXT\,,,essay,Saggio} +@end macro + +@macro ressaynamed{TEXT,DISPLAY} +@lilyvindex{\TEXT\} +@ref{\TEXT\,,\DISPLAY\,essay,Saggio} +@end macro + +@macro rprogram{TEXT} +@lilyvindex{\TEXT\} +@ref{\TEXT\,,,usage,Uso del Programma} +@end macro + +@macro rprogramnamed{TEXT,DISPLAY} +@lilyvindex{\TEXT\} +@ref{\TEXT\,,\DISPLAY\,usage,Uso del Programma} +@end macro + +@macro rlsr{TEXT} +@lilyvindex{\TEXT\} +@ref{\TEXT\,,,snippets,Frammenti di codice} +@end macro + +@macro rlsrnamed{TEXT,DISPLAY} +@lilyvindex{\TEXT\} +@ref{\TEXT\,,\DISPLAY\,snippets,Frammenti di codice} +@end macro + +@macro rinternals{TEXT} +@lilyvindex{\TEXT\} +@ref{\TEXT\,,,internals,Guida al Funzionamento Interno} +@end macro + +@macro rinternalsnamed{TEXT,DISPLAY} +@lilyvindex{\TEXT\} +@ref{\TEXT\,,\DISPLAY\,internals,Guida al Funzionamento Interno} +@end macro + +@end iftex + +@c ***** Macros specific to the web site ***** + +@ifset web + +@c LEGALESE + +@macro logoLegalLinux +Tux the Linux Penguin è stato creato da +@uref{mailto:lewing@@isc.tamu.edu, lewing@@isc.tamu.edu} con +@uref{http://www.isc.tamu.edu/~lewing/gimp/, il Gnu Image +Manipulation Program}. + +@end macro + +@macro logoLegalFreeBSD +Il logo FreeBSD è un marchio registrato della +@uref{http://www.freebsd.org/, FreeBSD Foundation}. + +@end macro + +@macro logoLegalMacOSX +L' @qq{immagine X} non è un marchio registrato. È stato creato da +@uref{http://en.wikipedia.org/wiki/User:Nihonjoe, Nihonjoe} e +@uref{http://en.wikipedia.org/wiki/User:CyberSkull, CyberSkull}, e +posto sotto la GNU Free Documentation License versione 1.2 o successive. +Abbiamo trovato l'immagine su +@uref{http://commons.wikimedia.org/wiki/File:Mac_OS_X_Userbox_X.png, +questa pagina di Wikipedia Commons}. + +@end macro + +@macro logoLegalWindows +L' @qq{immagine con quattro rettangoli colorati} non è un marchio +registrato. È stato creato da +@uref{http://en.wikipedia.org/wiki/User:Rohitbd, Rohitbd} ed è +posto sotto la GNU Free Documentation License versione 1.2. Abbiamo +trovato l'immagine su +@uref{http://commons.wikimedia.org/wiki/Category:Microsoft_Windows_logos, +questa pagina di Wikipedia Commons}. + +@end macro + +@end ifset diff --git a/Documentation/it/texidocs/GNUmakefile b/Documentation/it/texidocs/GNUmakefile new file mode 100644 index 0000000000..0ffa75869c --- /dev/null +++ b/Documentation/it/texidocs/GNUmakefile @@ -0,0 +1,5 @@ +depth=../../.. + +EXTRA_DIST_FILES=$(call src-wildcard,*.texidoc) + +include $(depth)/make/stepmake.make diff --git a/Documentation/it/translations.html.in b/Documentation/it/translations.html.in new file mode 100644 index 0000000000..704d29f281 --- /dev/null +++ b/Documentation/it/translations.html.in @@ -0,0 +1,94 @@ +

Last updated Sat Dec 12 00:31:14 UTC 2009 +

+ + + + + Stato delle traduzioni della documentazione di LilyPond + + + + +
+ +

Stato delle traduzioni della documentazione

+ +

Questa è una panoramica di quali parti della documentazione di LilyPond @TOPLEVEL_VERSION@ + sono state tradotte; per ogni sezione della documentazione, puoi leggere + il numero di parole tra parentesi, il nome dei traduttori e dei revisori + (il nome dei revisori è stampato con un carattere più piccolo), quanto + della sezione originale in inglese è stato tradotto, quanto aggiornata + è la traduzione, e se la traduzione è stata già aggiornata dopo l'avvio + del Grand Documentation Project (GDP). +

+ +

Si noti che il GDP ha apportato molti cambiamenti alla traduzione + in inglese, quindi la documentazione tradotta è in gran parte non + aggiornata; tuttavia, questo non significa che la documentazione tradotta + sia inaccurata rispetto all'attuale versione di LilyPond, significa soltanto che + la documentazione tradotta non è sincronizzata con la documentazione in inglese. + Facciamo il nostro meglio per mantenere la documentazione tradotta coerente con + l'attuale sintassi e funzionalità di LilyPond, e la aggiorneremo sezione per + sezione, quando il lavoro del GDP sulla sezione corrispondente in inglese + sarà finito. +

+ + + 4 Tweaking output
(132) + Federico Bruni + + partially (93 %) + partially + pre-GDP + + + + + + + + + + + + + + + + + +
LilyPond --- \TITLE\ TranslatorsTranslation checkersTranslatedUp to dateOther info
Section titles
(1059)
Federico Bruniyespartiallypre-GDP
+

+ + 1 Tutorial
(2805) + Federico Bruni + + yes + partially + pre-GDP + + + 2 Notazione comunemente utilizzata
(4138) + Federico Bruni + + yes + partially + pre-GDP + + + 3 Concetti fondamentali
(11135) + Federico Bruni + + yes + partially + pre-GDP + + + + diff --git a/Documentation/it/translations.template.html.in b/Documentation/it/translations.template.html.in new file mode 100644 index 0000000000..4b4e1a77c9 --- /dev/null +++ b/Documentation/it/translations.template.html.in @@ -0,0 +1,39 @@ + + + + Stato delle traduzioni della documentazione di LilyPond + + + + +

Torna all'indice della documentazione

+ +

Stato delle traduzioni della documentazione

+ +

Questa è una panoramica di quali parti della documentazione di LilyPond @TOPLEVEL_VERSION@ + sono state tradotte; per ogni sezione della documentazione, puoi leggere + il numero di parole tra parentesi, il nome dei traduttori e dei revisori + (il nome dei revisori è stampato con un carattere più piccolo), quanto + della sezione originale in inglese è stato tradotto, quanto aggiornata + è la traduzione, e se la traduzione è stata già aggiornata dopo l'avvio + del Grand Documentation Project (GDP). +

+ +

Si noti che il GDP ha apportato molti cambiamenti alla traduzione + in inglese, quindi la documentazione tradotta è in gran parte non + aggiornata; tuttavia, questo non significa che la documentazione tradotta + sia inaccurata rispetto all'attuale versione di LilyPond, significa soltanto che + la documentazione tradotta non è sincronizzata con la documentazione in inglese. + Facciamo il nostro meglio per mantenere la documentazione tradotta coerente con + l'attuale sintassi e funzionalità di LilyPond, e la aggiorneremo sezione per + sezione, quando il lavoro del GDP sulla sezione corrispondente in inglese + sarà finito. +

+ + + diff --git a/Documentation/lilypond-texi2html.init b/Documentation/lilypond-texi2html.init index ae609e3d52..9d445d8024 100644 --- a/Documentation/lilypond-texi2html.init +++ b/Documentation/lilypond-texi2html.init @@ -91,7 +91,12 @@ $LY_LANGUAGES->{'hu'} = { 'Back to Documentation Index' => 'Vissza a dokumentációk jegyzékéhez', }; -# FIXME: send the translation below to texi2html/texinfo devs +$LY_LANGUAGES->{'it'} = { + 'Back to Documentation Index' => 'Torna all\'indice della documentazione', +}; + +# FIXME: request the translations below then send them to texi2html/texinfo devs +$LANGUAGES->{'it'} = LANGUAGES->{'en'}; $LANGUAGES->{'hu'} = { ' The buttons in the navigation panels have the following meaning:' => ' A navigációs panelen levő gombok jelentése a következő:', ' where the @strong{ Example } assumes that the current position is at @strong{ Subsubsection One-Two-Three } of a document of the following structure:' => ' ahol a @strong{ Példa } feltételezi, hogy az aktuális pozíció az @strong{ 1-2-3 alalszakasz } egy olyan dokumentumban, melynek szerkezete a következő:', diff --git a/Documentation/po/it.po b/Documentation/po/it.po new file mode 100644 index 0000000000..cd314cfcc3 --- /dev/null +++ b/Documentation/po/it.po @@ -0,0 +1,37 @@ +# translation of LilyPond documentation to Italian +# Copyright (C) 2009 Han-Wen Nienhuys, Jan Nieuwenhuizen +# This file is distributed under the same license as the lilypond package. +# +# Federico Bruni , 2009. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: it\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2009-11-04 21:44+0100\n" +"PO-Revision-Date: 2009-11-04 HO:MI+ZONE\n" +"Last-Translator: Federico Bruni \n" +"Language-Team: Italiano\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#. -*- coding: utf-8 -*- +msgid "Up:" +msgstr "Su:" + +msgid "Next:" +msgstr "Avanti:" + +msgid "Previous:" +msgstr "Indietro:" + +msgid "Appendix " +msgstr "Appendice " + +msgid "Footnotes" +msgstr "Note" + +msgid "Table of Contents" +msgstr "Indice" diff --git a/Documentation/po/lilypond-doc.pot b/Documentation/po/lilypond-doc.pot index 4c0f017b69..cf2adb5992 100644 --- a/Documentation/po/lilypond-doc.pot +++ b/Documentation/po/lilypond-doc.pot @@ -3,42 +3,12 @@ # This file is distributed under the same license as the lilypond package. # FIRST AUTHOR , YEAR. # -#. @afourpaper in usage.tely -#. @ifnottex in usage.tely -#. @end ifnottex in usage.tely -#. @contents in usage.tely -#. @bye in usage.tely -#. @quotation in macros.itexi -#. @end quotation in macros.itexi -#. @copying in macros.itexi -#. @quotation in macros.itexi -#. @end quotation in macros.itexi -#. @end copying in macros.itexi -#. @copying in macros.itexi -#. @end copying in macros.itexi -#. @ifnottex in macros.itexi -#. @end ifnottex in macros.itexi -#. @finalout in macros.itexi -#. @titlepage in macros.itexi -#. @end titlepage in macros.itexi -#. @c in macros.itexi -#. @ifnottex in macros.itexi -#. @end ifnottex in macros.itexi -#. @c in common-macros.itexi -#. @quotation in usage/running.itely -#. @end quotation in usage/running.itely -#. @quotation in usage/lilypond-book.itely -#. @end quotation in usage/lilypond-book.itely -#. @quotation in usage/lilypond-book.itely -#. @end quotation in usage/lilypond-book.itely -#. @quotation in usage/converters.itely -#. @end quotation in usage/converters.itely #, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2009-10-17 23:54+0200\n" +"POT-Creation-Date: 2009-11-04 21:44+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -47,1607 +17,6 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" #. -*- coding: utf-8 -*- -#. @setfilename in usage.tely -msgid "lilypond-usage.info" -msgstr "" - -#. @settitle in usage.tely -msgid "LilyPond Application Usage" -msgstr "" - -#. @documentencoding in usage.tely -msgid "UTF-8" -msgstr "" - -#. @set in usage.tely -msgid "FDL" -msgstr "" - -#. @c in usage.tely -msgid "don't remove this comment." -msgstr "" - -#. @c in usage.tely -msgid "TOC -- non-tex" -msgstr "" - -#. @c in usage.tely -msgid "maybe add a " -msgstr "" - -#. @c in usage.tely -msgid "that, after Suggestions -gp" -msgstr "" - -#. @node in usage.tely -msgid "LilyPond index" -msgstr "" - -#. @c in macros.itexi -msgid "-*- coding: us-ascii; mode: texinfo; -*-" -msgstr "" - -#. @c in macros.itexi -#. @c in common-macros.itexi -msgid "***** Displaying text *****" -msgstr "" - -#. @c in macros.itexi -msgid "To get decent quotes in `foo' and ``foo''." -msgstr "" - -#. @c in macros.itexi -#. @c in common-macros.itexi -msgid "keep the space for proper nesting of

" -msgstr "" - -#. @c in macros.itexi -msgid "artouche" -msgstr "" - -#. @c in macros.itexi -msgid "This produces the unified index" -msgstr "" - -#. @c in macros.itexi -msgid "***** Copyright stuff *****" -msgstr "" - -#. @c in macros.itexi -msgid "opyrightDeclare" -msgstr "" - -#. @c in macros.itexi -msgid "***** Title page *****" -msgstr "" - -#. @node in macros.itexi -msgid "Top" -msgstr "" - -#. @title in macros.itexi -msgid "LilyPond" -msgstr "" - -#. @subtitle in macros.itexi -msgid "The music typesetter" -msgstr "" - -#. @titlefont in macros.itexi -msgid "{\\TITLE\\}" -msgstr "" - -#. @author in macros.itexi -msgid "The LilyPond development team" -msgstr "" - -#. @vskip in macros.itexi -msgid "60pt" -msgstr "" - -#. @vskip in macros.itexi -msgid "40pt" -msgstr "" - -#. @vskip in macros.itexi -msgid "0pt plus 1filll" -msgstr "" - -#. @c in macros.itexi -msgid "***** Headings in a doc subsection *****" -msgstr "" - -#. @c in macros.itexi -msgid "The next macro is a dummy currently since texinfo doesn't" -msgstr "" - -#. @c in macros.itexi -msgid "provide a real ragged-right environment yet." -msgstr "" - -#. @c in macros.itexi -msgid "Don't insert an empty line after @predefined! Right now" -msgstr "" - -#. @c in macros.itexi -msgid "it doesn't matter, but a future implementation will probably" -msgstr "" - -#. @c in macros.itexi -msgid "add some code which needs this restriction." -msgstr "" - -#. @subsubheading in macros.itexi -msgid "Predefined commands" -msgstr "" - -#. @c in macros.itexi -msgid "Due to a bug in texi2html (texi2html.pl CVS versions <= 1.245)" -msgstr "" - -#. @c in macros.itexi -msgid "the next macro must not be empty." -msgstr "" - -#. @subsubheading in macros.itexi -msgid "Selected Snippets" -msgstr "" - -#. @c in macros.itexi -msgid "Don't insert an empty line after @seealso! Otherwise we get" -msgstr "" - -#. @c in macros.itexi -msgid "unwanted extra vertical space in the PDF output." -msgstr "" - -#. @subsubheading in macros.itexi -msgid "See also" -msgstr "" - -#. @subsubheading in macros.itexi -msgid "Known issues and warnings" -msgstr "" - -#. @c in macros.itexi -msgid "***** Links and references *****" -msgstr "" - -#. @c in macros.itexi -msgid "Definitions for references:" -msgstr "" - -#. @c in macros.itexi -msgid "@rgeneral" -msgstr "" - -#. @c in macros.itexi -msgid "@ressay" -msgstr "" - -#. @c in macros.itexi -msgid "@rglos" -msgstr "" - -#. @c in macros.itexi -msgid "@rinternals" -msgstr "" - -#. @c in macros.itexi -msgid "@rlearning" -msgstr "" - -#. @c in macros.itexi -msgid "@rlsr" -msgstr "" - -#. @c in macros.itexi -msgid "@rprogram" -msgstr "" - -#. @c in macros.itexi -msgid "@ruser" -msgstr "" - -#. @c in macros.itexi -msgid "@rchanges" -msgstr "" - -#. @c in macros.itexi -msgid "@rextend" -msgstr "" - -#. @c in macros.itexi -msgid "@rcontrib" -msgstr "" - -#. @c in macros.itexi -msgid "All these also have a @...named version which allows to specify the" -msgstr "" - -#. @c in macros.itexi -msgid "displayed text for the reference as second argument." -msgstr "" - -#. @c in macros.itexi -msgid "***** HTML + bigpage is a special case (other manual names); all other" -msgstr "" - -#. @c in macros.itexi -msgid "formats are treated similarly." -msgstr "" - -#. @c in macros.itexi -msgid "*** not TeX ***" -msgstr "" - -#. @c in macros.itexi -msgid "** bigpage **" -msgstr "" - -#. @ref in macros.itexi -msgid "{\\TEXT\\,,,music-glossary-big-page,Music Glossary}" -msgstr "" - -#. @ref in macros.itexi -msgid "{\\TEXT\\,,\\DISPLAY\\,music-glossary-big-page,Music Glossary}" -msgstr "" - -#. @ref in macros.itexi -msgid "{\\TEXT\\,,,learning-big-page,Learning Manual}" -msgstr "" - -#. @ref in macros.itexi -msgid "{\\TEXT\\,,\\DISPLAY\\,learning-big-page,Learning Manual}" -msgstr "" - -#. @ref in macros.itexi -msgid "{\\TEXT\\,,,notation-big-page,Notation Reference}" -msgstr "" - -#. @ref in macros.itexi -msgid "{\\TEXT\\,,\\DISPLAY\\,notation-big-page,Notation Reference}" -msgstr "" - -#. @ref in macros.itexi -msgid "{\\TEXT\\,,,extending-big-page,Extending}" -msgstr "" - -#. @ref in macros.itexi -msgid "{\\TEXT\\,,\\DISPLAY\\,extending-big-page,Extending}" -msgstr "" - -#. @ref in macros.itexi -msgid "{\\TEXT\\,,,changes-big-page,Changes}" -msgstr "" - -#. @ref in macros.itexi -msgid "{\\TEXT\\,,\\DISPLAY\\,changes-big-page,Changes}" -msgstr "" - -#. @ref in macros.itexi -msgid "{\\TEXT\\,,,contributor-big-page,Contributor's Guide}" -msgstr "" - -#. @ref in macros.itexi -msgid "{\\TEXT\\,,\\DISPLAY\\,contributor-big-page,Contributor's Guide}" -msgstr "" - -#. @ref in macros.itexi -msgid "{\\TEXT\\,,,general-big-page,General Information}" -msgstr "" - -#. @ref in macros.itexi -msgid "{\\TEXT\\,,\\DISPLAY\\,general-big-page,General Information}" -msgstr "" - -#. @ref in macros.itexi -msgid "{\\TEXT\\,,,essay-big-page,Essay}" -msgstr "" - -#. @ref in macros.itexi -msgid "{\\TEXT\\,,\\DISPLAY\\,essay-big-page,Essay}" -msgstr "" - -#. @ref in macros.itexi -msgid "{\\TEXT\\,,,usage-big-page,Application Usage}" -msgstr "" - -#. @ref in macros.itexi -msgid "{\\TEXT\\,,\\DISPLAY\\,usage-big-page,Application Usage}" -msgstr "" - -#. @ref in macros.itexi -msgid "{\\TEXT\\,,,snippets-big-page,Snippets}" -msgstr "" - -#. @ref in macros.itexi -msgid "{\\TEXT\\,,\\DISPLAY\\,snippets-big-page,Snippets}" -msgstr "" - -#. @ref in macros.itexi -msgid "{\\TEXT\\,,,internals-big-page,Internals Reference}" -msgstr "" - -#. @ref in macros.itexi -msgid "{\\TEXT\\,,\\DISPLAY\\,internals-big-page,Internals Reference}" -msgstr "" - -#. @c in macros.itexi -msgid "** not bigpage **" -msgstr "" - -#. @ref in macros.itexi -msgid "{\\TEXT\\,,,music-glossary,Music Glossary}" -msgstr "" - -#. @ref in macros.itexi -msgid "{\\TEXT\\,,\\DISPLAY\\,music-glossary,Music Glossary}" -msgstr "" - -#. @ref in macros.itexi -msgid "{\\TEXT\\,,,learning,Learning Manual}" -msgstr "" - -#. @ref in macros.itexi -msgid "{\\TEXT\\,,,notation,Notation Reference}" -msgstr "" - -#. @ref in macros.itexi -msgid "{\\TEXT\\,,\\DISPLAY\\,notation,Notation Reference}" -msgstr "" - -#. @ref in macros.itexi -msgid "{\\TEXT\\,,,changes,Changes}" -msgstr "" - -#. @ref in macros.itexi -msgid "{\\TEXT\\,,\\DISPLAY\\,changes,Changes}" -msgstr "" - -#. @ref in macros.itexi -msgid "{\\TEXT\\,,,extending,Extending}" -msgstr "" - -#. @ref in macros.itexi -msgid "{\\TEXT\\,,\\DISPLAY\\,extending,Extending}" -msgstr "" - -#. @ref in macros.itexi -msgid "{\\TEXT\\,,,contributor,Contributor's Guide}" -msgstr "" - -#. @ref in macros.itexi -msgid "{\\TEXT\\,,\\DISPLAY\\,contributor,Contributor's Guide}" -msgstr "" - -#. @ref in macros.itexi -msgid "{\\TEXT\\,,,general,General Information}" -msgstr "" - -#. @ref in macros.itexi -msgid "{\\TEXT\\,,\\DISPLAY\\,general,General Information}" -msgstr "" - -#. @ref in macros.itexi -msgid "{\\TEXT\\,,,essay,Essay}" -msgstr "" - -#. @ref in macros.itexi -msgid "{\\TEXT\\,,\\DISPLAY\\,essay,Essay}" -msgstr "" - -#. @ref in macros.itexi -msgid "{\\TEXT\\,,,usage,Application Usage}" -msgstr "" - -#. @ref in macros.itexi -msgid "{\\TEXT\\,,\\DISPLAY\\,usage,Application Usage}" -msgstr "" - -#. @ref in macros.itexi -msgid "{\\TEXT\\,,,snippets,Snippets}" -msgstr "" - -#. @ref in macros.itexi -msgid "{\\TEXT\\,,\\DISPLAY\\,snippets,Snippets}" -msgstr "" - -#. @ref in macros.itexi -msgid "{\\TEXT\\,,,internals,Internals Reference}" -msgstr "" - -#. @ref in macros.itexi -msgid "{\\TEXT\\,,\\DISPLAY\\,internals,Internals Reference}" -msgstr "" - -#. @ref in macros.itexi -msgid "{\\TEXT\\,,,lilypond-learning,Learning Manual}" -msgstr "" - -#. @ref in macros.itexi -msgid "{\\TEXT\\,,,lilypond-notation,Notation Reference}" -msgstr "" - -#. @ref in macros.itexi -msgid "{\\TEXT\\,,\\DISPLAY\\,lilypond-notation,Notation Reference}" -msgstr "" - -#. @ref in macros.itexi -msgid "{\\TEXT\\,,,lilypond-changes,Changes}" -msgstr "" - -#. @ref in macros.itexi -msgid "{\\TEXT\\,,\\DISPLAY\\,lilypond-changes,Changes}" -msgstr "" - -#. @ref in macros.itexi -msgid "{\\TEXT\\,,,lilypond-extending,Extending}" -msgstr "" - -#. @ref in macros.itexi -msgid "{\\TEXT\\,,\\DISPLAY\\,lilypond-extending,Extending}" -msgstr "" - -#. @ref in macros.itexi -msgid "{\\TEXT\\,,,lilypond-contributor,Contributor's Guide}" -msgstr "" - -#. @ref in macros.itexi -msgid "{\\TEXT\\,,\\DISPLAY\\,lilypond-contributor,Contributor's Guide}" -msgstr "" - -#. @ref in macros.itexi -msgid "{\\TEXT\\,,,lilypond-general,General Information}" -msgstr "" - -#. @ref in macros.itexi -msgid "{\\TEXT\\,,\\DISPLAY\\,lilypond-general, General Information}" -msgstr "" - -#. @ref in macros.itexi -msgid "{\\TEXT\\,,,lilypond-essay,Essay}" -msgstr "" - -#. @ref in macros.itexi -msgid "{\\TEXT\\,,\\DISPLAY\\,lilypond-essay,Essay}" -msgstr "" - -#. @ref in macros.itexi -msgid "{\\TEXT\\,,,lilypond-usage,Application Usage}" -msgstr "" - -#. @ref in macros.itexi -msgid "{\\TEXT\\,,\\DISPLAY\\,lilypond-usage,Application Usage}" -msgstr "" - -#. @ref in macros.itexi -msgid "{\\TEXT\\,,,lilypond-snippets,Snippets}" -msgstr "" - -#. @ref in macros.itexi -msgid "{\\TEXT\\,,\\DISPLAY\\,lilypond-snippets,Snippets}" -msgstr "" - -#. @ref in macros.itexi -msgid "{\\TEXT\\,,,lilypond-internals,Internals Reference}" -msgstr "" - -#. @ref in macros.itexi -msgid "{\\TEXT\\,,\\DISPLAY\\,lilypond-internals,Internals Reference}" -msgstr "" - -#. @c in macros.itexi -msgid "*** TeX ***" -msgstr "" - -#. @c in macros.itexi -msgid "All commands below should work in the middle of the line;" -msgstr "" - -#. @c in macros.itexi -msgid "we thus must not use @vindex directly since it works only if placed" -msgstr "" - -#. @c in macros.itexi -msgid "on a line of its own. To overcome this problem, we define a" -msgstr "" - -#. @c in macros.itexi -msgid "replacement macro using the internal definition of @vindex which" -msgstr "" - -#. @c in macros.itexi -msgid "delimits arguments in the standard way (i.e., with braces)." -msgstr "" - -#. @ref in macros.itexi -msgid "{\\TEXT\\,,\\DISPLAY\\,learning,Learning Manual}" -msgstr "" - -#. @c in macros.itexi -#. @c in common-macros.itexi -msgid "***** Macros specific to the web site *****" -msgstr "" - -#. @c in macros.itexi -msgid "LEGALESE" -msgstr "" - -#. @c in common-macros.itexi -#. @c in usage/running.itely -#. @c in usage/updating.itely -#. @c in usage/lilypond-book.itely -#. @c in usage/converters.itely -#. @c in usage/suggestions.itely -#. @c in fdl.itexi -msgid "-*- coding: utf-8; mode: texinfo; -*-" -msgstr "" - -#. @c in common-macros.itexi -msgid "Don't replace quotes with directed quotes." -msgstr "" - -#. @set in common-macros.itexi -msgid "txicodequoteundirected" -msgstr "" - -#. @set in common-macros.itexi -msgid "txicodequotebacktick" -msgstr "" - -#. @c in common-macros.itexi -msgid "We need this since @q{\\} doesn't work with makeinfo 4.11 --" -msgstr "" - -#. @c in common-macros.itexi -msgid "say @q{@bs{}} instead." -msgstr "" - -#. @c in common-macros.itexi -msgid "***** Displaying images not generated by lilypond-book *****" -msgstr "" - -#. @c in common-macros.itexi -msgid "Current installation setup of Info docs requires that all images are" -msgstr "" - -#. @c in common-macros.itexi -msgid "expected to be found in the `lilypond/' subdirectory. `lilypond-book'" -msgstr "" - -#. @c in common-macros.itexi -msgid "already generates proper @image commands for images of music; these" -msgstr "" - -#. @c in common-macros.itexi -msgid "macro definitions do the same for other images." -msgstr "" - -#. @image in common-macros.itexi -msgid "{pictures/\\FILENAME\\,\\WIDTH\\,\\HEIGHT\\,\\ALTTEXT\\}" -msgstr "" - -#. @image in common-macros.itexi -msgid "{lilypond/pictures/\\FILENAME\\,\\WIDTH\\,\\HEIGHT\\,\\ALTTEXT\\}" -msgstr "" - -#. @c in common-macros.itexi -msgid "***** Headers *****" -msgstr "" - -#. @c in common-macros.itexi -msgid "***** Indexing *****" -msgstr "" - -#. @c in common-macros.itexi -msgid "Don't remove the `@c' within the macro definition! See section 19.3," -msgstr "" - -#. @c in common-macros.itexi -msgid "`Macro Details and Caveats', in the texinfo info file for explanation." -msgstr "" - -#. @c in common-macros.itexi -msgid "***** Macros specific to translated docs *****" -msgstr "" - -#. @c in common-macros.itexi -msgid "ugh, cannot set/define global variable 'translationof' in any way :-(" -msgstr "" - -#. @c in common-macros.itexi -msgid "not strictly necessary, but it makes things easier for updating news" -msgstr "" - -#. @image in common-macros.itexi -msgid "{examples/\\IMAGE-FILE\\-small,,,\\IMAGE-FILE\\,png}" -msgstr "" - -#. @image in common-macros.itexi -msgid "{lilypond/examples/\\IMAGE-FILE\\,,,\\IMAGE-FILE\\,png}" -msgstr "" - -#. @image in common-macros.itexi -msgid "{pictures/\\IMAGE-FILE\\,,,\\IMAGE-FILE\\}" -msgstr "" - -#. @image in common-macros.itexi -msgid "{lilypond/pictures/\\IMAGE-FILE\\,,,\\IMAGE-FILE\\}" -msgstr "" - -#. @image in common-macros.itexi -msgid "{pictures/\\IMAGE-FILE\\,,,\\IMAGE-FILE\\,\\EXT\\}" -msgstr "" - -#. @image in common-macros.itexi -msgid "{lilypond/pictures/\\IMAGE-FILE\\,,,\\EXT\\}" -msgstr "" - -#. @image in common-macros.itexi -msgid "{pictures/\\IMAGE-FILE\\,,,\\ALT\\}" -msgstr "" - -#. @image in common-macros.itexi -msgid "{lilypond/pictures/\\IMAGE-FILE\\,,,\\ALT\\}" -msgstr "" - -#. @c in usage/running.itely -#. @c in usage/updating.itely -#. @c in usage/lilypond-book.itely -#. @c in usage/converters.itely -#. @c in usage/suggestions.itely -msgid "\\version " -msgstr "" - -#. @node in usage/running.itely -msgid "Running lilypond" -msgstr "" - -#. @node in usage/running.itely -msgid "Normal usage" -msgstr "" - -#. @node in usage/running.itely -msgid "Command-line usage" -msgstr "" - -#. @node in usage/running.itely -msgid "Invoking lilypond" -msgstr "" - -#. @c in usage/running.itely -msgid "ode{output-suffix} will be inserted between the basename and the" -msgstr "" - -#. @node in usage/running.itely -msgid "Command line options for lilypond" -msgstr "" - -#. @c in usage/running.itely -msgid "index Invoking @command{lilypond}" -msgstr "" - -#. @c in usage/running.itely -msgid "index command line options for @command{lilypond}" -msgstr "" - -#. @c in usage/running.itely -msgid "index options, command line" -msgstr "" - -#. @c in usage/running.itely -msgid "index switches" -msgstr "" - -#. @c in usage/running.itely -msgid "ode{svg}, @code{ps}, @code{pdf}, and @code{png}." -msgstr "" - -#. @c in usage/running.itely -msgid "index point and click, command line" -msgstr "" - -#. @c in usage/running.itely -msgid "index help, command line" -msgstr "" - -#. @c in usage/running.itely -msgid "index paper-size, command line" -msgstr "" - -#. @c in usage/running.itely -msgid "index safe, command line" -msgstr "" - -#. @c in usage/running.itely -msgid "ode{--safe} or the @code{--jail} option @b{MUST} be passed. The" -msgstr "" - -#. @c in usage/running.itely -msgid "ode{--safe} option will prevent inline Scheme code from wreaking" -msgstr "" - -#. @c in usage/running.itely -msgid "" -"ode{-dsafe} does @emph{not} detect resource overuse. It is still possible to" -msgstr "" - -#. @c in usage/running.itely -msgid "index output format, setting" -msgstr "" - -#. @c in usage/running.itely -msgid "index PostScript output" -msgstr "" - -#. @c in usage/running.itely -msgid "index Postscript, encapulated" -msgstr "" - -#. @c in usage/running.itely -msgid "index EPS (Encapsulated PostScript)" -msgstr "" - -#. @c in usage/running.itely -msgid "index SVG (Scalable Vector Graphics)" -msgstr "" - -#. @c in usage/running.itely -msgid "index Scheme dump" -msgstr "" - -#. @c in usage/running.itely -msgid "index preview, command line" -msgstr "" - -#. @c in usage/running.itely -msgid "index file searching" -msgstr "" - -#. @c in usage/running.itely -msgid "index search path" -msgstr "" - -#. @c in usage/running.itely -msgid "index Portable Network Graphics (PNG) output" -msgstr "" - -#. @c in usage/running.itely -msgid "ode{--ps}. The resolution in DPI of the image may be set with" -msgstr "" - -#. @c in usage/running.itely -msgid "index Portable Document Format (PDF) output" -msgstr "" - -#. @c in usage/running.itely -msgid "ode{--safe} when LilyPond formatting is available through a web" -msgstr "" - -#. @c in usage/running.itely -msgid "" -"ode{--jail} to work @command{lilypond} must be run as root, which is usually" -msgstr "" - -#. @c in usage/running.itely -msgid "ode{nosuid}. In this way, it is impossible to run executables or to" -msgstr "" - -#. @node in usage/running.itely -msgid "Environment variables" -msgstr "" - -#. @c in usage/running.itely -msgid "index LANG" -msgstr "" - -#. @c in usage/running.itely -msgid "index LILYPOND_DATADIR" -msgstr "" - -#. @c in usage/running.itely -msgid "ommand{lilypond} recognizes the following environment variables:" -msgstr "" - -#. @node in usage/running.itely -msgid "Error messages" -msgstr "" - -#. @c in usage/running.itely -msgid "index error messages" -msgstr "" - -#. @c in usage/running.itely -msgid "index warning" -msgstr "" - -#. @c in usage/running.itely -msgid "index error" -msgstr "" - -#. @c in usage/running.itely -msgid "index fatal error" -msgstr "" - -#. @c in usage/running.itely -msgid "index trace, Scheme" -msgstr "" - -#. @c in usage/running.itely -msgid "index call trace" -msgstr "" - -#. @c in usage/running.itely -msgid "index Scheme error" -msgstr "" - -#. @c in usage/running.itely -msgid "ode{--verbose}) then a call trace of the offending" -msgstr "" - -#. @c in usage/running.itely -msgid "index Programming error" -msgstr "" - -#. @c in usage/running.itely -msgid "index Aborted (core dumped)" -msgstr "" - -#. @c in usage/running.itely -msgid "index errors, message format" -msgstr "" - -#. @node in usage/running.itely -msgid "Common errors" -msgstr "" - -#. @node in usage/running.itely -msgid "Music runs off the page" -msgstr "" - -#. @node in usage/running.itely -msgid "An extra staff appears" -msgstr "" - -#. @c in usage/running.itely -msgid "ode{\\relative} blocks, which each implicitly create @code{Staff}" -msgstr "" - -#. @c in usage/running.itely -msgid "ode{\\relative} commands, like this:" -msgstr "" - -#. @node in usage/running.itely -msgid "Apparent error in ../ly/init.ly" -msgstr "" - -#. @c in usage/running.itely -msgid "ode{../ly/init.ly} if the input file is not correctly formed," -msgstr "" - -#. @c in usage/running.itely -msgid "ode{score} block is correctly terminated. The correct structure" -msgstr "" - -#. @node in usage/running.itely -msgid "Error message Unbound variable %" -msgstr "" - -#. @node in usage/running.itely -msgid "Error message FT_Get_Glyph_Name" -msgstr "" - -#. @node in usage/running.itely -msgid "Point and click" -msgstr "" - -#. @c in usage/running.itely -msgid "index point and click" -msgstr "" - -#. @c in usage/running.itely -#, python-format -msgid "ode{%(column)s}, @code{%(line)s} is replaced with the file, column" -msgstr "" - -#. @c in usage/running.itely -msgid "index file size, output" -msgstr "" - -#. @node in usage/running.itely -msgid "Text editor support" -msgstr "" - -#. @c in usage/running.itely -msgid "index editors" -msgstr "" - -#. @c in usage/running.itely -msgid "index vim" -msgstr "" - -#. @c in usage/running.itely -msgid "index emacs" -msgstr "" - -#. @c in usage/running.itely -msgid "index modes, editor" -msgstr "" - -#. @c in usage/running.itely -msgid "index syntax coloring" -msgstr "" - -#. @c in usage/running.itely -msgid "index coloring, syntax" -msgstr "" - -#. @node in usage/running.itely -msgid "Emacs mode" -msgstr "" - -#. @c in usage/running.itely -msgid "any reason we do not advise: (push " -msgstr "" - -#. @node in usage/running.itely -msgid "Vim mode" -msgstr "" - -#. @node in usage/running.itely -msgid "Other editors" -msgstr "" - -#. @node in usage/updating.itely -msgid "Updating files with convert-ly" -msgstr "" - -#. @c in usage/updating.itely -msgid "index Updating a LilyPond file" -msgstr "" - -#. @c in usage/updating.itely -msgid "index convert-ly" -msgstr "" - -#. @node in usage/updating.itely -msgid "Why does the syntax change?" -msgstr "" - -#. @c in usage/updating.itely -msgid "index updating old input files" -msgstr "" - -#. @c in usage/updating.itely -msgid "ode{printallheaders} property did not follow this convention." -msgstr "" - -#. @node in usage/updating.itely -msgid "Invoking convert-ly" -msgstr "" - -#. @c in usage/updating.itely -msgid "ommand{convert-ly} uses @code{\\version} statements in the input" -msgstr "" - -#. @c in usage/updating.itely -msgid "ode{myfile.ly} in-place and preserve the original file in" -msgstr "" - -#. @c in usage/updating.itely -msgid "ode{myfile.ly~}." -msgstr "" - -#. @c in usage/updating.itely -msgid "ommand{convert-ly} itself.}" -msgstr "" - -#. @c in usage/updating.itely -msgid "ode{Compile > Update syntax}." -msgstr "" - -#. @c in usage/updating.itely -msgid "ode{Start > Accessories > Command Prompt}." -msgstr "" - -#. @node in usage/updating.itely -msgid "Command line options for convert-ly" -msgstr "" - -#. @node in usage/updating.itely -msgid "Problems running convert-ly" -msgstr "" - -#. @node in usage/updating.itely -msgid "Manual conversions" -msgstr "" - -#. @c in usage/lilypond-book.itely -msgid "" -"Note: keep this node named so that `info lilypond-book' brings you here." -msgstr "" - -#. @node in usage/lilypond-book.itely -msgid "lilypond-book" -msgstr "" - -#. @c in usage/lilypond-book.itely -msgid "ommand{lilypond-book} provides a way to automate this process: This" -msgstr "" - -#. @c in usage/lilypond-book.itely -msgid "ommand{lilypond} on them, and outputs the document with pictures" -msgstr "" - -#. @c in usage/lilypond-book.itely -msgid "ode{lilypond-book}, see @rgeneral{MacOS X}." -msgstr "" - -#. @c in usage/lilypond-book.itely -msgid "index texinfo" -msgstr "" - -#. @c in usage/lilypond-book.itely -msgid "index latex" -msgstr "" - -#. @c in usage/lilypond-book.itely -msgid "index texi" -msgstr "" - -#. @c in usage/lilypond-book.itely -msgid "index html" -msgstr "" - -#. @c in usage/lilypond-book.itely -msgid "index docbook" -msgstr "" - -#. @c in usage/lilypond-book.itely -msgid "index documents, adding music to" -msgstr "" - -#. @c in usage/lilypond-book.itely -msgid "index HTML, music in" -msgstr "" - -#. @c in usage/lilypond-book.itely -msgid "index Texinfo, music in" -msgstr "" - -#. @c in usage/lilypond-book.itely -msgid "index DocBook, music in" -msgstr "" - -#. @c in usage/lilypond-book.itely -msgid "index @LaTeX{}, music in" -msgstr "" - -#. @node in usage/lilypond-book.itely -msgid "An example of a musicological document" -msgstr "" - -#. @c in usage/lilypond-book.itely -msgid "index musicology" -msgstr "" - -#. @subheading in usage/lilypond-book.itely -msgid "Input" -msgstr "" - -#. @subheading in usage/lilypond-book.itely -msgid "Processing" -msgstr "" - -#. @c in usage/lilypond-book.itely -msgid "keep space after @version{} so TeX doesn't choke" -msgstr "" - -#. @subheading in usage/lilypond-book.itely -msgid "Output" -msgstr "" - -#. @c in usage/lilypond-book.itely -msgid "ode{\\lilypondfile}." -msgstr "" - -#. @node in usage/lilypond-book.itely -msgid "Integrating music and text" -msgstr "" - -#. @node in usage/lilypond-book.itely -#. @subsection in usage/lilypond-book.itely -msgid "LaTeX" -msgstr "" - -#. @c in usage/lilypond-book.itely -msgid "ode{\\lilypond@{@}}, so this command is only useful with the" -msgstr "" - -#. @c in usage/lilypond-book.itely -msgid "ode{fragment} option." -msgstr "" - -#. @c in usage/lilypond-book.itely -msgid "ode{\\begin@{document@}}. The @command{lilypond-book} command sends" -msgstr "" - -#. @c in usage/lilypond-book.itely -msgid "index titling and lilypond-book" -msgstr "" - -#. @c in usage/lilypond-book.itely -msgid "index \\header in @LaTeX{} documents" -msgstr "" - -#. @c in usage/lilypond-book.itely -msgid "ode{lilypond-book} has split the snippet into several PostScript" -msgstr "" - -#. @c in usage/lilypond-book.itely -msgid "index Latex, feta symbols" -msgstr "" - -#. @c in usage/lilypond-book.itely -msgid "index fetachar" -msgstr "" - -#. @ref in usage/lilypond-book.itely -msgid "{Invoking lilypond-book}." -msgstr "" - -#. @node in usage/lilypond-book.itely -#. @subsubheading in usage/lilypond-book.itely -#. @subsection in usage/lilypond-book.itely -msgid "Texinfo" -msgstr "" - -#. @node in usage/lilypond-book.itely -msgid "HTML" -msgstr "" - -#. @c in usage/lilypond-book.itely -msgid "ommand{lilypond-book} then produces an HTML file with appropriate image" -msgstr "" - -#. @c in usage/lilypond-book.itely -msgid "index titling in HTML" -msgstr "" - -#. @c in usage/lilypond-book.itely -msgid "index preview image" -msgstr "" - -#. @c in usage/lilypond-book.itely -msgid "index thumbnail" -msgstr "" - -#. @node in usage/lilypond-book.itely -msgid "DocBook" -msgstr "" - -#. @subheading in usage/lilypond-book.itely -msgid "Common conventions" -msgstr "" - -#. @c in usage/lilypond-book.itely -msgid "ode{inlinemediaobject} element, so our snippets can be formatted" -msgstr "" - -#. @c in usage/lilypond-book.itely -msgid "ommand{lilypond-book} should have the extension @file{.lyxml}." -msgstr "" - -#. @subheading in usage/lilypond-book.itely -msgid "Including a LilyPond file" -msgstr "" - -#. @subheading in usage/lilypond-book.itely -msgid "Including LilyPond code" -msgstr "" - -#. @c in usage/lilypond-book.itely -msgid "ode{inlinemediaobject}, and there is a @code{textobject} containing" -msgstr "" - -#. @subheading in usage/lilypond-book.itely -msgid "Processing the DocBook document" -msgstr "" - -#. @node in usage/lilypond-book.itely -msgid "Music fragment options" -msgstr "" - -#. @c in usage/lilypond-book.itely -msgid "ode{ragged-right = ##t} is added to the LilyPond snippet. This is the" -msgstr "" - -#. @c in usage/lilypond-book.itely -msgid "ode{pt}. This option affects LilyPond output (this is, the staff" -msgstr "" - -#. @c in usage/lilypond-book.itely -msgid "ode{ragged-right} option." -msgstr "" - -#. @c in usage/lilypond-book.itely -msgid "ode{cm}, @code{mm}, @code{in}, or @code{pt}. This option affects" -msgstr "" - -#. @c in usage/lilypond-book.itely -msgid "ode{noindent} is redundant normally." -msgstr "" - -#. @c in usage/lilypond-book.itely -msgid "ode{relative} option only works when @code{fragment} option is set," -msgstr "" - -#. @c in usage/lilypond-book.itely -msgid "ode{intertext} option (not implemented yet); then the actual music is" -msgstr "" - -#. @c in usage/lilypond-book.itely -msgid "ode{LYDOC_LOCALEDIR} to a directory path; the directory should" -msgstr "" - -#. @c in usage/lilypond-book.itely -msgid "ode{@@documentlanguage @var{LANG}} and @file{foo@/.ly} header" -msgstr "" - -#. @c in usage/lilypond-book.itely -msgid "ode{verbatim} option) is put into a quotation block. This option is" -msgstr "" - -#. @c in usage/lilypond-book.itely -msgid "ode{texidoc} documentation block." -msgstr "" - -#. @c in usage/lilypond-book.itely -msgid "ode{texidoc} option: if @command{lilypond} is called with the" -msgstr "" - -#. @c in usage/lilypond-book.itely -msgid "ode{\\header}, it creates a file @file{foo@/.doctitle}. When" -msgstr "" - -#. @c in usage/lilypond-book.itely -msgid "ode{doctitle} option is used, the contents of @file{foo@/.doctitle}," -msgstr "" - -#. @c in usage/lilypond-book.itely -msgid "ode{@@lydoctitle} should be a macro defined in the Texinfo document." -msgstr "" - -#. @node in usage/lilypond-book.itely -msgid "Invoking lilypond-book" -msgstr "" - -#. @c in usage/lilypond-book.itely -msgid "ommand{lilypond-book} produces a file with one of the following" -msgstr "" - -#. @subheading in usage/lilypond-book.itely -msgid "Format-specific instructions" -msgstr "" - -#. @subsubheading in usage/lilypond-book.itely -msgid "@LaTeX{}" -msgstr "" - -#. @c in usage/lilypond-book.itely -msgid "ommand{dvips}. The first way is simpler and recommended@footnote{Note" -msgstr "" - -#. @c in usage/lilypond-book.itely -msgid "index outline fonts" -msgstr "" - -#. @c in usage/lilypond-book.itely -msgid "index type1 fonts" -msgstr "" - -#. @c in usage/lilypond-book.itely -msgid "index dvips" -msgstr "" - -#. @c in usage/lilypond-book.itely -msgid "index invoking dvips" -msgstr "" - -#. @c in usage/lilypond-book.itely -msgid "ommand{dvips} options." -msgstr "" - -#. @c in usage/lilypond-book.itely -msgid "ommand{texi2dvi} or @command{makeinfo}, depending on the output format" -msgstr "" - -#. @subheading in usage/lilypond-book.itely -msgid "Command line options" -msgstr "" - -#. @c in usage/lilypond-book.itely -msgid "ommand{lilypond-book} accepts the following command line options:" -msgstr "" - -#. @c in usage/lilypond-book.itely -msgid "ode{texi} (the default) or @code{docbook}. If this option is missing," -msgstr "" - -#. @c in usage/lilypond-book.itely -msgid "ommand{lilypond-book} tries to detect the format automatically, see" -msgstr "" - -#. @ref in usage/lilypond-book.itely -msgid "{Filename extensions}. Currently, @code{texi} is the same as" -msgstr "" - -#. @c in usage/lilypond-book.itely -msgid "ode{texi-html}." -msgstr "" - -#. @c in usage/lilypond-book.itely -msgid "This complicated detail is not implemented, comment it out -jm" -msgstr "" - -#. @c in usage/lilypond-book.itely -msgid "ommand{latex} with the same @code{-I @var{dir}} options." -msgstr "" - -#. @c in usage/lilypond-book.itely -msgid "ommand{lilypond-book} generates lots of small files that LilyPond will" -msgstr "" - -#. @c in usage/lilypond-book.itely -msgid "ode{lilypond}. @code{lilypond-book} will not @code{--filter} and" -msgstr "" - -#. @c in usage/lilypond-book.itely -msgid "ode{--process} at the same time." -msgstr "" - -#. @node in usage/lilypond-book.itely -msgid "Filename extensions" -msgstr "" - -#. @c in usage/lilypond-book.itely -msgid "ommand{lilypond-book} running, otherwise it will exit with an error" -msgstr "" - -#. @node in usage/lilypond-book.itely -msgid "lilypond-book templates" -msgstr "" - -#. @subsection in usage/lilypond-book.itely -msgid "xelatex" -msgstr "" - -#. @node in usage/lilypond-book.itely -msgid "Alternate methods of mixing text and music" -msgstr "" - -#. @node in usage/lilypond-book.itely -msgid "Many quotes from a large score" -msgstr "" - -#. @node in usage/lilypond-book.itely -msgid "Inserting LilyPond output into OpenOffice.org" -msgstr "" - -#. @c in usage/lilypond-book.itely -msgid "index OpenOffice.org" -msgstr "" - -#. @node in usage/lilypond-book.itely -msgid "Inserting LilyPond output into other programs" -msgstr "" - -#. @node in usage/converters.itely -msgid "Converting from other formats" -msgstr "" - -#. @node in usage/converters.itely -msgid "Invoking midi2ly" -msgstr "" - -#. @c in usage/converters.itely -msgid "index MIDI" -msgstr "" - -#. @c in usage/converters.itely -msgid "ommand{midi2ly} translates a Type@tie{}1 MIDI file to a LilyPond source" -msgstr "" - -#. @c in usage/converters.itely -msgid "ommand{midi2ly} converts tracks into @rinternals{Staff} and" -msgstr "" - -#. @c in usage/converters.itely -msgid "ommand{midi2ly} tries to compensate for these timing errors, but is not" -msgstr "" - -#. @c in usage/converters.itely -msgid "ode{:1}." -msgstr "" - -#. @node in usage/converters.itely -msgid "Invoking musicxml2ly" -msgstr "" - -#. @c in usage/converters.itely -msgid "index MusicXML" -msgstr "" - -#. @c in usage/converters.itely -msgid "ommand{musicxml2ly} extracts the notes, articulations, score structure," -msgstr "" - -#. @node in usage/converters.itely -msgid "Invoking abc2ly" -msgstr "" - -#. @c in usage/converters.itely -msgid "index ABC" -msgstr "" - -#. @c in usage/converters.itely -msgid "" -"ommand{abc2ly} translates from ABC to LilyPond. It is invoked as follows:" -msgstr "" - -#. @c in usage/converters.itely -msgid "ommand{abc2ly} does not." -msgstr "" - -#. @c in usage/converters.itely -msgid "ommand{abc2ly} ignores the ABC beaming." -msgstr "" - -#. @node in usage/converters.itely -msgid "Invoking etf2ly" -msgstr "" - -#. @c in usage/converters.itely -msgid "index ETF" -msgstr "" - -#. @c in usage/converters.itely -msgid "index enigma" -msgstr "" - -#. @c in usage/converters.itely -msgid "index Finale" -msgstr "" - -#. @c in usage/converters.itely -msgid "index Coda Technology" -msgstr "" - -#. @node in usage/converters.itely -msgid "Other formats" -msgstr "" - -#. @c in usage/converters.itely -msgid "index External programs, generating LilyPond files" -msgstr "" - -#. @node in usage/suggestions.itely -msgid "Suggestions for writing files" -msgstr "" - -#. @node in usage/suggestions.itely -msgid "General suggestions" -msgstr "" - -#. @node in usage/suggestions.itely -msgid "Typesetting existing music" -msgstr "" - -#. @c in usage/suggestions.itely -msgid "ode{showLastLength} or @code{showFirstLength} properties to speed up" -msgstr "" - -#. @node in usage/suggestions.itely -msgid "Large projects" -msgstr "" - -#. @c in usage/suggestions.itely -msgid "ode{\\score} section is the most likely thing to change;" -msgstr "" - -#. @node in usage/suggestions.itely -msgid "Troubleshooting" -msgstr "" - -#. @c in usage/suggestions.itely -msgid "ode{\\bass} in the @code{\\score} uncommented." -msgstr "" - -#. @c in usage/suggestions.itely -msgid "ode{bass} part until you find the problem line." -msgstr "" - -#. @node in usage/suggestions.itely -msgid "Make and Makefiles" -msgstr "" - -#. @c in usage/suggestions.itely -msgid "index makefiles" -msgstr "" - -#. @c in usage/suggestions.itely -msgid "index make" -msgstr "" - -#. @c in usage/suggestions.itely -msgid "ode{Makefile} that defines what files depend on what others and what" -msgstr "" - -#. @c in usage/suggestions.itely -msgid "ode{ballad.pdf} and @code{ballad.midi} from @code{ballad.ly} by" -msgstr "" - -#. @c in usage/suggestions.itely -msgid "ode{lilypond-book} projects). Makefiles vary greatly in" -msgstr "" - -#. @c in usage/suggestions.itely -msgid "ode{make}, as what follows here gives only a glimpse of what it" -msgstr "" - -#. @c in usage/suggestions.itely -msgid "ode{Parts} directories get their notes from @code{.ily}" -msgstr "" - -#. @c in usage/suggestions.itely -msgid "ode{Advanced}. Click @code{Environment Variables}, and then" -msgstr "" - -#. @c in usage/suggestions.itely -msgid "ode{edit}, and add the path to the GNU Make executable file, which" -msgstr "" - -#. @c in usage/suggestions.itely -msgid "ommand{latex} command be run twice to update links. Output files are" -msgstr "" - -#. @c in usage/suggestions.itely -msgid "ode{htmlout} directory for the html output." -msgstr "" - -#. @c in usage/suggestions.itely -msgid "@rprogram{Setup for MacOS X}," -msgstr "" - -#. @node in fdl.itexi -msgid "GNU Free Documentation License" -msgstr "" - -#. @c in fdl.itexi -msgid "index FDL, GNU Free Documentation License" -msgstr "" - -#. @c in fdl.itexi -msgid "enter Version 1.1, March 2000" -msgstr "" - -#. @subheading in fdl.itexi -msgid "ADDENDUM: How to use this License for your documents" -msgstr "" - -#. @c in fdl.itexi -msgid "Local Variables:" -msgstr "" - -#. @c in fdl.itexi -msgid "ispell-local-pdict: " -msgstr "" - -#. @c in fdl.itexi -msgid "End:" -msgstr "" - msgid "Up:" msgstr "" @@ -1665,16 +34,3 @@ msgstr "" msgid "Table of Contents" msgstr "" - -#. @c in usage/updating.itely -#. @c in usage/running.itely -msgid "keep " -msgstr "" - -#. @c in usage/running.itely -msgid "Match " -msgstr "" - -#. @set in common-macros.itexi -msgid "translationof \\TEXT\\\")" -msgstr "" diff --git a/python/langdefs.py b/python/langdefs.py index 3a6dd8cdf3..3351a4fa74 100644 --- a/python/langdefs.py +++ b/python/langdefs.py @@ -65,12 +65,13 @@ de = LanguageDef ('de', 'deutsch') nl = LanguageDef ('nl', 'nederlands') ja = LanguageDef ('ja', '日本語', enable_ly_identifier_l10n=False) hu = LanguageDef ('hu', 'magyar') +it = LanguageDef ('it', 'italiano') # Outdated or broken translations may be disabled # (please run 'make doc-clean' before doing that): #fr.enabled = False -LANGUAGES = (site, fr, es, de, nl, ja, hu) +LANGUAGES = (site, fr, es, de, nl, ja, hu, it) if __name__ == '__main__': print ' '.join ([l.code for l in LANGUAGES if l.enabled and l.code != 'en']) diff --git a/tex/txi-it.tex b/tex/txi-it.tex new file mode 100644 index 0000000000..06f4f1d6b4 --- /dev/null +++ b/tex/txi-it.tex @@ -0,0 +1,70 @@ +% $Id: txi-it.tex,v 1.7 2008/10/16 17:13:10 karl Exp $ +% txi-it.tex -- Italian translations for texinfo.tex +% +% Copyright 1999, 2007, 2008 Free Software Foundation. +% +% This program is free software; you can redistribute it and/or modify +% it under the terms of the GNU General Public License as published by +% the Free Software Foundation; either version 3 of the License, or +% (at your option) any later version. +% +% This program is distributed in the hope that it will be useful, +% but WITHOUT ANY WARRANTY; without even the implied warranty of +% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +% GNU General Public License for more details. +% +% You should have received a copy of the GNU General Public License +% along with this program. If not, see . + +\txisetlanguage{italian}{2}{2} + +\plainfrenchspacing + +\gdef\putwordAppendix{Appendice} +\gdef\putwordChapter{Capitolo} +\gdef\putwordfile{file} +\gdef\putwordin{in} +\gdef\putwordIndexIsEmpty{(L'indice \'e vuoto)} +\gdef\putwordIndexNonexistent{(L'indice non esiste)} +\gdef\putwordInfo{Info} +\gdef\putwordInstanceVariableof{Variabile di istanza di} +\gdef\putwordMethodon{Metodo di} +\gdef\putwordNoTitle{Nessun titolo} +\gdef\putwordof{di} +\gdef\putwordon{su} +\gdef\putwordpage{pagina} +\gdef\putwordsection{sezione} +\gdef\putwordSection{Sezione} +\gdef\putwordsee{vedi} +\gdef\putwordSee{Vedi} +\gdef\putwordShortTOC{Sommario abbreviato} +\gdef\putwordTOC{Sommario} +% +\gdef\putwordMJan{Gennaio} +\gdef\putwordMFeb{Febbraio} +\gdef\putwordMMar{Marzo} +\gdef\putwordMApr{Aprile} +\gdef\putwordMMay{Maggio} +\gdef\putwordMJun{Giugno} +\gdef\putwordMJul{Luglio} +\gdef\putwordMAug{Agosto} +\gdef\putwordMSep{Settembre} +\gdef\putwordMOct{Ottobre} +\gdef\putwordMNov{Novembre} +\gdef\putwordMDec{Dicembre} +% +\gdef\putwordDefmac{Macro} +\gdef\putwordDefspec{Forma speciale} +\gdef\putwordDefvar{Variabile} +\gdef\putwordDefopt{Opzione} +\gdef\putwordDeffunc{Funzione} + +% Produces Day Month Year style of output. +\def\today{% + \number\day\space + \ifcase\month + \or\putwordMJan\or\putwordMFeb\or\putwordMMar\or\putwordMApr + \or\putwordMMay\or\putwordMJun\or\putwordMJul\or\putwordMAug + \or\putwordMSep\or\putwordMOct\or\putwordMNov\or\putwordMDec + \fi + \space\number\year}

Torna all'indice della documentazione