@c -*- coding: utf-8; mode: texinfo; documentlanguage: it -*-
@ignore
- Translation of GIT committish: 28add695953862ef4a87f9fbeadd1d02dc299244
+ Translation of GIT committish: db92af51a444062c8edaef3afa36f57375b8feeb
When revising a translation, copy the HEAD committish of the
version that you are working on. For details, see the Contributors'
le proprie modifiche personali.
Prima di iniziare questo capitolo si consiglia di rileggere la sezione
-@ref{Contexts and engravers}, perché i contesti, gli incisori e le proprietà
+@ref{Contesti e incisori}, perché i contesti, gli incisori e le proprietà
contenute al loro interno sono fondamentali per comprendere e
costruire le modifiche.
oggetti che hanno una forma estesa in questo modo vengono chiamati «Estensori»
(in inglese @emph{Spanner}).
+Gli estensori non possono essere modificati dopo la loro creazione. Tra questi
+sia @code{StaffSymbol} che @code{LedgerLineSpanner}, che continuano nel corso
+della partitura, a meno che non siano terminati dal comando @code{\stopStaff} e
+poi ricreati col comando @code{\startStaff}.
+
Esistono anche dei grob @q{astratti} che non stampano niente da soli, bensì
raccolgono, posizionano e gestiscono altri grob. Esempi comuni sono
@code{DynamicLineSpanner}, @code{BreakAlignment}, @code{NoteColumn},
@cindex oggetti, convenzioni per i nomi di
@cindex proprietà, convenzioni per i nomi di
-Abbiamo già visto, in @ref{Contexts and engravers}, le convenzioni per i
+Abbiamo già visto, in @ref{Contesti e incisori}, le convenzioni per i
nomi di oggetti. Ecco una lista dei più comuni tipi di oggetti e
proprietà insieme alle convenzioni usate per nominarli e alcuni
esempi di nomi reali. Abbiamo usato @q{A} per indicare un
per modificare le sue proprietà, dunque è utile poter riconoscere i tipi
di oggetti e proprietà dai loro nomi.
+@seealso
+Guida alla notazione:
+@ruser{Modifica delle proprietà}.
+
@node Metodi di modifica
@subsection Metodi di modifica
* Il comando revert::
* Il prefisso once::
* Il comando overrideProperty::
-* Il comando tweak::
+* Il comando di ritocco tweak::
* Il prefisso single::
@end menu
@cindex override, sintassi
@funindex \override
-@funindex override
Abbiamo già incontrato i comandi @code{\set} e @code{\with}, che servono
a modificare le proprietà dei @strong{contesti} e a togliere o aggiungere
-gli @strong{incisori}, nei paragrafi @ref{Modifying context properties} e
-@ref{Adding and removing engravers}. Ora dobbiamo introdurre alcuni
+gli @strong{incisori}, nei paragrafi @ref{Modificare le proprietà di contesto} e
+@ref{Aggiungere e togliere gli incisori}. Ora dobbiamo introdurre alcuni
comandi più importanti.
Il comando che cambia le proprietà degli @strong{oggetti di formattazione} è
poi quando deve essere specificato.
Le sezioni successive tratteranno in modo dettagliato le proprietà e
-i loro valori, si veda @ref{Types of properties}; in questa sezione, invece,
+i loro valori, si veda @ref{Tipi di proprietà}; in questa sezione, invece,
useremo soltanto alcune proprietà e valori di facile comprensione,
in modo da spiegare il formato e l'uso di questo comando.
@cindex ripristino, comando \revert
@funindex \revert
-@funindex revert
Quando viene sovrascritta, la proprietà mantiene il suo nuovo valore finché
non viene sovrascritta di nuovo o non si incontra un comando @code{\revert}.
@translationof The once prefix
@funindex \once
-@funindex once
I comandi @code{\override}, @code{revert}, @code{\set} e @code{\unset} possono
essere preceduti da @code{\once}. Questo fa sì che tale comando sia operativo
@cindex overrideProperty, comando
@funindex \overrideProperty
-@funindex overrideProperty
Esiste un'altra forma di comando di sovrascrittura,
@code{\overrideProperty}, che si rende necessario raramente.
si veda @rextend{Difficult tweaks}.
@c Maybe explain in a later iteration -td
-@node Il comando tweak
-@unnumberedsubsubsec Il comando @code{@bs{}tweak}
+@c http://lists.gnu.org/archive/html/bug-lilypond/2014-12/msg00041.html
+@c Duplicate node names across LM and NR causes problems to translated manuals (see issue 2266).
+@c As a workaround, I'll slightly change the node name.
+@node Il comando di ritocco tweak
+@unnumberedsubsubsec Il comando di ritocco @code{@bs{}tweak}
@translationof The tweak command
@cindex tweak, comando
@funindex \tweak
-@funindex tweak
L'ultimo comando di modifica a disposizione è @code{\tweak}. Si usa
quando vari oggetti compaiono nello stesso momento musicale,
@end lilypond
@seealso
-@c need to comment this until the node conflict is fixed - fb
Guida alla Notazione:
-@ruser{The tweak command,,The tweak command}.
+@ruser{Il comando tweak}.
@node Il prefisso single
Il prefisso @code{\once} funziona bene se si desidera enfatizzare note
singole o interi accordi, ma non permette di enfatizzare una singola
nota @emph{dentro} un accordo. Prima abbiamo visto come si possa usare
-@code{\tweak} per fare ciò, vedi @ref{The tweak command}.
+@code{\tweak} per fare ciò, vedi @ref{Il comando di ritocco tweak}.
Ma non è possibile usare @code{\tweak} in una funzione; è in questo caso che
torna utile il comando @code{\single}:
@seealso
Manuale di apprendimento:
-@ref{The tweak command},
-@ref{Using variables for layout adjustments}.
+@ref{Il comando di ritocco tweak},
+@ref{Uso delle variabili per modificare la formattazione}.
@node Manuale del Funzionamento interno
delle legature di portamento; dovresti trovare
@example
-@code{thickness} (number)
- @code{1.2}
- Line thickness, generally measured in @code{line-thickness}
+thickness (number)
+ 1.2
+ Line thickness, generally measured in line-thickness
@end example
Sembra che sia quel che stiamo cercando. Ci dice che il valore
@cindex \once \override
@funindex \once
-@funindex once
Come puoi vedere, @emph{tutte} le legature di portamento sono più spesse nell'ultimo
esempio. E se volessimo rendere più spessa solo la prima legatura di portamento?
@cindex proprietà predefinite, ripristinare le
@funindex \revert
-@funindex revert
E se volessimo che soltanto le prime due legature di portamento fossero
più spesse? Potremmo usare due comandi, ciascuno preceduto da
automaticamente: come lo possiamo impedire?
Prima di iniziare, occorre ricordare che le proprietà degli oggetti sono
-raggruppate nelle cosiddette @emph{interfacce} -- si veda @ref{Properties
-found in interfaces}. Queste servono semplicemente a raggruppare quelle
-proprietà che possono essere usate insieme per modificare un oggetto
+raggruppate nelle cosiddette @emph{interfacce} -- si veda
+@ref{Proprietà presenti nelle interfacce}. Queste servono semplicemente a raggruppare
+quelle proprietà che possono essere usate insieme per modificare un oggetto
grafico -- se una di queste è ammessa per un oggetto, lo sono anche le
altre. Alcuni oggetti usano le proprietà di alcune interfacce, altri
quelle di altre interfacce. Le interfacce che contengono le proprietà
Funzionamento interno in fondo alla pagina che descrive il grob; queste
proprietà possono essere individuate consultando quelle interfacce.
-In @ref{Properties of layout objects} abbiamo spiegato come trovare le
+In @ref{Proprietà degli oggetti di formattazione} abbiamo spiegato come trovare le
informazioni sui grob. Usando lo stesso approccio, andiamo nella guida
al Funzionamento interno per trovare l'oggetto grafico relativo alla
stanghetta (@emph{bar line}). Passando da @emph{Backend} e @emph{All layout objects}
stanghetta bianca può imbiancare o meno le linee del rigo che
incrocia. Puoi vedere in alcuni degli esempi successivi che questo
accade in modo imprevedibile. I motivi per cui questo accade e il
-modo in cui è possibile controllarlo sono esposti in @ruser{Painting objects white}.
+modo in cui è possibile controllarlo sono esposti in @ruser{Dipingere gli oggetti di bianco}.
Ma per il momento stiamo imparando la proprietà color, quindi accettiamo questa limitazione.)
L'interfaccia @code{grob-interface} stabilisce che il valore della
in unità interne, ma per evitare di dover imparare quali siano queste
unità vengono forniti vari modi di specificare un colore. Il primo
modo consiste nell'usare uno dei colori @q{normali} elencati nella
-prima tabella in @ruser{List of colors}. Per rendere bianche le
+prima tabella in @ruser{Elenco dei colori}. Per rendere bianche le
stanghette scriviamo:
@cindex BarLine, esempio di sovrascrittura
@funindex x11-color
Il secondo modo per cambiare il colore è attraverso la lista
-di nomi di colori X11 che si trova in @ruser{List of colors}.
+di nomi di colori X11 che si trova in @ruser{Elenco dei colori}.
Questi colori vengono trasformati in valori reali dalla funzione
@code{x11-color}, che converte i simboli di colore X11 nella lista
di valori interni:
@cindex oggetti, modificare la dimensione degli
Iniziamo rivedendo l'esempio precedente (vedi
-@ref{Nesting music expressions}) che mostrava come
+@ref{Annidare le espressioni musicali}) che mostrava come
inserire un nuovo rigo temporaneo, come in un @rglos{ossia}.
@cindex proprietà alignAboveContext, esempio
portamento, etc.). Se si deve aggiustare lo spessore di un
particolare oggetto di formattazione, è meglio sovrascrivere la sua
proprietà @code{thickness}. Un esempio di come modificare lo spessore
-delle legature di portamento è stato mostrato prima in @ref{Properties of layout objects}.
+delle legature di portamento è stato mostrato prima in @ref{Proprietà degli oggetti di formattazione}.
Lo spessore di tutti gli oggetti disegnati (ovvero quelli non prodotti
da un tipo di carattere) può essere cambiato nello stesso modo.
Abbiamo già visto come i comandi @code{\voiceXXX} influenzino
la direzione di legature di portamento e di valore, delle diteggiature e
di qualsiasi altro elemento che dipenda dalla direzione dei gambi (vedi
-@ref{Explicitly instantiating voices}).
+@ref{Definire esplicitamente le voci}).
Questi comandi sono fondamentali quando si scrive musica polifonica,
perché permettono di distinguere le linee melodiche che si intrecciano.
Talvolta, però, capita di voler modificare questo comportamento
@code{\set fingeringOrientations}. Il formato di questo comando è:
@example
-@code{\set fingeringOrientations = #'([up] [left/right] [down])}
+\set fingeringOrientations = #'([up] [left/right] [down])
@end example
@noindent
all'inizio dell'estensore, che potrebbe includere più forcelle e indicazioni dinamiche
tra loro collegate.
-@multitable @columnfractions .3 .3 .3
+@multitable @columnfractions .3 .15 .45
@headitem Oggetto di formattazione
@tab Priorità
@tab Controlla la posizione di:
@item @code{MetronomeMark}
@tab @code{1000}
@tab Indicazioni metronomiche
+@item @code{SostenutoPedalLineSpanner}
+ @tab @code{1000}
+ @tab Indicazione del pedale
+@item @code{SustainPedalLineSpanner}
+ @tab @code{1000}
+ @tab
+@item @code{UnaCordaPedalLineSpanner}
+ @tab @code{1000}
+ @tab
+@item @code{MeasureCounter}
+ @tab @code{750}
+ @tab Numero della misura
@item @code{VoltaBracketSpanner}
@tab @code{600}
@tab Delimitatori dei finali alternativi delle ripetizioni
+@item @code{InstrumentSwitch}
+ @tab @code{500}
+ @tab Testo per il cambio di strumento
@item @code{TextScript}
@tab @code{450}
@tab Oggetti di testo
@item @code{MultiMeasureRestText}
@tab @code{450}
- @tab Testi sopra pause di più misure
+ @tab Testi sopra pause multiple
+@item @code{CombineTextScript}
+ @tab @code{450}
+ @tab Testo per il combinatore delle parti
@item @code{OttavaBracket}
@tab @code{400}
@tab Estensioni del segno d'ottava
@tab @code{250}
@tab Tutte le indicazioni dinamiche
@item @code{BarNumber}
- @tab @code{ 100}
+ @tab @code{100}
@tab Numeri di battuta
@item @code{TrillSpanner}
@tab @code{50}
@tab Linee ondulate del trillo
+@item @code{AccidentalSuggestion}
+ @tab @code{0}
+ @tab Alterazioni con nota
@end multitable
Ecco un esempio che mostra il posizionamento predefinito di alcuni di
@cindex segno del cambio d'ottava
@funindex \startTextSpan
-@funindex startTextSpan
@funindex \stopTextSpan
-@funindex stopTextSpan
@cindex TextSpanner, esempio di sovrascrittura
@cindex proprietà bound-details, esempio
ovvero testo con delle linee che si estendono sopra una sezione musicale.
L'estensore si allunga dal comando @code{\startTextSpan} fino al comando
@code{\stopTextSpan} e il formato del testo è definito dal comando
-@code{\override TextSpanner}. Per maggiori dettagli si veda @ruser{Text spanners}.
+@code{\override TextSpanner}. Per maggiori dettagli si veda @ruser{Estensori del testo}.
Mostra anche come si creano le estensioni del segno d'ottava.
qualsiasi oggetto. Immaginiamo di voler posizionare l'estensione del segno d'ottava
sotto l'estensore del testo nell'esempio precedente. Basta controllare la
priorità dell'oggetto @code{OttavaBracket} nella guida al Funzionamento interno
-o nelle tabelle precedenti e ridurla a un valore inferiore di quello di un
+o nella tabella precedente e ridurla a un valore inferiore di quello di un
oggetto @code{TextSpanner}, ricordando che @code{OttavaBracket} è creato
nel contesto @code{Staff}:
regolare anche la disposizone verticale di singoli oggetti;
i risultati potrebbero tuttavia risultare non sempre ottimali. Supponiamo
di voler posizionare @qq{Testo3} sopra @qq{Testo4} nell'esempio
-precedente (si veda @ref{Automatic behavior}).
+precedente (si veda @ref{Comportamento automatico}).
Basta andare a cercare la priorità di @code{TextScript} nella
guida al Funzionamento interno o nelle tabelle precedenti e
aumentare la priorità di @qq{Testo3} assegnando un valore più alto:
@cindex note, distanziarle insieme al testo
@funindex \textLengthOn
-@funindex textLengthOn
@funindex \textLengthOff
-@funindex textLengthOff
Per impostazione predefinita, finché si tratta di formattare la musica il
testo prodotto dal comando @code{\markup} non occupa uno spazio orizzontale.
allineati alla stessa linea di base invece di spostarsi su e giù seguendo
la posizione delle note. La proprietà che permette di ottenere tale
risultato è @code{staff-padding} ed è trattata nella sezione relativa
-alle collisioni (vedi @ref{Collisions of objects}).
+alle collisioni (vedi @ref{Collisioni tra oggetti}).
@node Spaziatura verticale
minor spazio tra i righi del pianoforte. Iniziamo dal testo.
Il testo vocale si trova all'interno di un sistema, dunque i comandi per
-modificarne la spaziatura sono descritti in @ruser{Flexible vertical spacing within systems}.
+modificarne la spaziatura sono descritti in @ruser{Spaziatura verticale flessibile all'interno dei sistemi}.
Quel paragrafo ci dice che il testo è costituito da linee che non appartengono
al rigo (@code{non-staff lines}), quindi il comando per cambiarne la spaziatura
sarà riferito alla proprietà @code{nonstaff}. Per allontanarlo dal rigo a cui
variabili spaziali di @code{StaffGrouper}. La spaziatura relativa ai righi
non raggruppati (come @code{Lyrics} e @code{Staff}) è regolata dalle variabili
del @code{VerticalAxisGroup}. Ulteriori dettagli in
-@ruser{Flexible vertical spacing paper variables} e
-@ruser{Flexible vertical spacing within systems}.
+@ruser{Variabili paper della spaziatura verticale flessibile} e
+@ruser{Spaziatura verticale flessibile all'interno dei sistemi}.
@node Collisioni tra oggetti
@item
Si può cambiare la @strong{direzione} di uno degli oggetti che si
sovrappongono usando i comandi predefiniti elencati prima, in riferimento agli
-oggetti interni al rigo (vedi @ref{Within-staff objects}).
+oggetti interni al rigo (vedi @ref{Oggetti interni al rigo}).
In questo modo si possono riposizionare facilmente gambi, legature di
portamento e di valore, travature, segni di dinamica, testo e gruppi
irregolari. La limitazione è che si tratta di una scelta circoscritta a due sole
@code{direction}
Questa è già stata trattata in dettaglio (vedi
-@ref{Within-staff objects}).
+@ref{Oggetti interni al rigo}).
@item
@code{padding}, @code{right-padding}, @code{staff-padding}
@cindex note, collisioni
@cindex shift, comandi
@funindex \shiftOff
-@funindex shiftOff
@funindex \shiftOn
-@funindex shiftOn
@funindex \shiftOnn
-@funindex shiftOnn
@funindex \shiftOnnn
-@funindex shiftOnnn
All'interno di una voce, tutte le note che si trovano nello stesso momento
musicale sono raggruppate in una colonna di note, e viene creato un oggetto
@code{NoteColumn} per controllare il posizionamento orizzontale di quel
-gruppo di note (vedi @qq{Colonne di note} in @ref{Explicitly instantiating voices}). Se
+gruppo di note (vedi @qq{Colonne di note} in @ref{Definire esplicitamente le voci}). Se
@emph{e solo se} due o più colonne di note in un solo contesto Staff, entrambe
con i gambi nella stessa direzione, si trovano sullo stesso momento musicale,
i valori delle loro proprietà @code{horizontal-shift} sono usati per attribuire
Viene specificata in unità appropriate per una colonna di note, ovvero la
larghezza della testa della nota nella prima voce. Si usa
in situazioni complesse in cui i normali comandi @code{\shiftOn} (vedi
-@ref{Explicitly instantiating voices}) non risolvono adeguatamente le collisioni tra le
+@ref{Definire esplicitamente le voci}) non risolvono adeguatamente le collisioni tra le
note. Per questo scopo, è preferibile alla proprietà @code{extra-offset}
perché non c'è bisogno di trovare la giusta distanza in spazi di rigo e
lo spostamento delle note dentro o fuori da una @code{NoteColumn}
gestisce un certo oggetto. Dato che l'oggetto @code{MetronomeMark}
è regolato dal contesto @code{Score}, le modifiche della proprietà
nel contesto @code{Voice} non vengono prese in considerazione. Per
-approfondire l'argomento si veda @ruser{Modifying properties}.
+approfondire l'argomento si veda @ruser{Modifica delle proprietà}.
Se la proprietà @code{padding} di un oggetto viene aumentata quando
quell'oggetto si trova insieme ad altri oggetti disposti secondo la
in questo caso la proprietà @code{positions} non può produrre
effetti. Tuttavia, legature di valore, di portamento e di frase
@emph{possono} essere posizionate e disegnate in modo molto preciso
-se necessario. Per sapere come fare si veda @ruser{Modifying ties and slurs}.
+se necessario. Per sapere come fare si veda @ruser{Modifica di legature di valore e di portamento}.
Ecco un altro esempio. Vediamo che le travature collidono
con le legature di valore:
@translationof The force-hshift property
Possiamo vedere ora come applicare le correzioni finali all'esempio di Chopin
-introdotto alla fine del paragrafo @ref{I'm hearing Voices}, che avevamo
+introdotto alla fine del paragrafo @ref{Sento le Voci}, che avevamo
lasciato così:
@lilypond[quote,verbatim,fragment,ragged-right]
alla croma della stessa altezza. Tutto il resto è su una
voce singola, quindi il sistema più semplice è introdurre queste
ulteriori voci temporaneamente, quando sono richieste. Se ti
-sei dimenticato come fare, rileggi i paragrafi @ref{I'm hearing Voices} e
-@ref{Explicitly instantiating voices}. In questo caso scegliamo di
+sei dimenticato come fare, rileggi i paragrafi @ref{Sento le Voci} e
+@ref{Definire esplicitamente le voci}. In questo caso scegliamo di
usare per il passaggio polifonico le voci definite esplicitamente, dato
che LilyPond riesce a evitare meglio le collisioni se tutte le voci
sono definite esplicitamente in questo modo.
doppia si ottiene col comando @code{\bar "||"}. Questo è stato facile. Ora
dobbiamo correggere la collisione della legatura di valore con l'indicazione di tempo.
Il modo migliore è spostare la legatura verso l'alto. Lo spostamento degli oggetti
-è stato trattato prima in @ref{Moving objects}, dove si dice che gli oggetti
+è stato trattato prima in @ref{Spostare gli oggetti}, dove si dice che gli oggetti
posizionati relativamente al rigo possono essere spostati verticalmente
sovrascrivendo la proprietà @code{staff-position}, specificata in metà spazi-rigo
rispetto alla linea centrale del rigo. Dunque la seguente sovrascrittura
ad accorpare le note appartenenti a voci diverse? Ancora una volta
dobbiamo rivolgerci alla guida alla Notazione per un aiuto. Una ricerca
del termine @qq{accorpare} (in inglese @emph{merge}) nell'indice della guida
-ci porta rapidamente al paragrafo @ruser{Collision resolution}, dove
+ci porta rapidamente al paragrafo @ruser{Risoluzione delle collisioni}, dove
troviamo i comandi per allineare le note con teste e punti diversi. Nel
nostro esempio abbiamo bisogno di accorpare entrambi i tipi di note per la
durata della sezione polifonica della terza battuta. Dunque, usando le
@seealso
Manuale di apprendimento:
-@ref{The once prefix,,Il prefisso @code{@bs{}once}},
-@ref{The stencil property}.
+@ref{Il prefisso once,,Il prefisso @code{@bs{}once}},
+@ref{La proprietà stencil}.
@node Simulare una corona nel MIDI
alternativa possiamo usare i comandi @code{\override} e @code{\revert}?
@example
-@code{\override Lyrics.LyricText.font-shape = #'italic}
-@code{\override Lyrics.LyricText.font-series = #'bold}
+\override Lyrics.LyricText.font-shape = #'italic
+\override Lyrics.LyricText.font-series = #'bold
-@code{\revert Lyrics.LyricText.font-shape}
-@code{\revert Lyrics.LyricText.font-series}
+\revert Lyrics.LyricText.font-shape
+\revert Lyrics.LyricText.font-series
@end example
Anche questi sarebbero molto noiosi da inserire se ci fossero
@translationof Style sheets
L'output prodotto da LilyPond può essere ampiamente modificato, come
-abbiamo visto nel capitolo @ref{Tweaking output}. Ma se avessi molti
+abbiamo visto nel capitolo @ref{Modifica dell'output}. Ma se avessi molti
file di input a cui voler applicare delle modifiche? O se volessi
semplicemente separare le modifiche dalla musica vera e propria?
È molto semplice.
Prendiamo un esempio. Non ti preoccupare se non capisci le
parti che hanno @code{#()}; verranno spiegate nel capitolo
-@ref{Advanced tweaks with Scheme}.
+@ref{Modifiche avanzate con Scheme}.
@lilypond[quote,verbatim,ragged-right]
mpdolce =