X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=Documentation%2Fit%2Fnotation%2Fchanging-defaults.itely;h=102a25a8f12005db9a0d6e9f8515973e5f6b548f;hb=3fa0828c1fdeaa7ee27624d0fb57a937efb33931;hp=17169b24559b48951194d26381b7ca8952ac993b;hpb=7237292ee655894a49e13090787aa392a583a6c9;p=lilypond.git diff --git a/Documentation/it/notation/changing-defaults.itely b/Documentation/it/notation/changing-defaults.itely index 17169b2455..102a25a8f1 100644 --- a/Documentation/it/notation/changing-defaults.itely +++ b/Documentation/it/notation/changing-defaults.itely @@ -1,7 +1,7 @@ @c -*- coding: utf-8; mode: texinfo; documentlanguage: it -*- @ignore - Translation of GIT committish: 8c1840ca28a05b3dad8d595e04d03779ba0a286a + Translation of GIT committish: 18d03fa6a724b0102ccc47d194209802cea02f2e When revising a translation, copy the HEAD committish of the version that you are working on. For details, see the Contributors' @@ -1004,10 +1004,28 @@ comando @code{\new} @var{tipo-contesto}: @} @end example -Dato che questa @q{modifca di contesto} è specificata all'interno della -musica, avrà effetto su @emph{tutti} gli output (quello grafico @emph{e} il -Midi), diversamente da quanto avviene per le modifiche inserite in una -definizione di output. +Altrimenti, se la musica viene inserita usando la forma breve dei comandi +che specificano la modalità di inserimento, per esempio @code{\chords} invece di +@code{\chordmode}, il comando @code{\with} deve essere posto subito dopo il +comando che specifica la modalità: + +@example +\chords \with @{ [impostazioni di contesto per questo contesto (implicito) soltanto] @} +@{ + @dots{} +@} +@end example + +@noindent +perché è il contesto implicito creato da queste forme brevi che deve essere +modificato. Vale la stessa considerazione per le altre forme brevi che +indicano la modalità di inserimento (@code{\drums}, @code{\figures}), vedi +@ref{Input modes}. + +Le @q{modifiche di contesto}, essendo specificate in blocchi @code{\with} che +si trovano all'interno della musica, avranno effetto su @emph{tutti} gli +output (quello grafico @emph{e} il Midi), diversamente da quanto avviene per +le modifiche inserite in una definizione di output. Si possono specificare i seguenti tipi di impostazioni: @@ -1082,6 +1100,11 @@ Un comando predefinito come @code{\dynamicUp} @end itemize +@seealso +Guida alla notazione: +@ref{Modalità di inserimento} + + @node Ordine di precedenza @unnumberedsubsubsec Ordine di precedenza @translationof Order of precedence @@ -1764,6 +1787,7 @@ di LilyPond? * Il comando override:: * Il comando tweak:: * set vs override:: +* Il comando offset:: * Modifica delle liste associative:: @end menu @@ -2259,6 +2283,317 @@ evento musicale (@code{\tweak}) o, nel caso di @code{\overrideProperty}, per una sovrascrittura specifica. +@node Il comando offset +@subsection Il comando @code{\offset} +@translationof The offset command + +@funindex \offset +@cindex offset +@cindex predefinito, offset +@cindex spostamento relativo (offset) + +Sebbene sia possibile impostare le proprietà dei grob su nuovi valori coi +comandi @code{\override}, @code{\tweak} e @code{\overrideProperty}, è spesso +più opportuno modificare tali proprietà in modo relativo a un valore +predefinito. A questo fine è stato creato il comando @code{\offset}. + +La sintassi di @code{\offset} è + +@example +[-]\offset @var{proprietà} @var{offset} @var{elemento} +@end example + +Il comando funziona aggiungendo i contenuti di @var{offset} all'impostazione +predefinita della proprietà @var{proprietà} del grob indicato da +@var{elemento}. + +A seconda di come è formulato il comando, @code{\offset} può comportarsi +come un @code{\tweak} o come un @code{\override}. Le variazioni d'uso +sono trattate dopo aver considerato le proprietà del grob che possono +essere usate con @code{\offset}. + +@subsubsubheading{Proprietà che possono essere spostate con offset} + +Molte, ma non tutte, le proprietà dei grob possono essere spostate con +offset. Se la @var{proprietà} non può essere spostata con offset, l'oggetto +resterà invariato e apparirà un avviso. In questi casi bisogna usare +@code{\override} o @code{\tweak} per modificare l'oggetto. + +Si potrebbe procedere per prova e errore e basarsi sugli avvisi per capire +cosa può essere spostato con offset e cosa no. Tuttavia si può usare un +approccio più sistematico. + +I seguenti criteri determinano se una proprietà possa essere modificata con +@code{\offset}: + +@itemize + +@item +La proprietà ha un'@q{impostazione predefinita} nella descrizione del grob. +Queste proprietà sono elencate, per ogni grob, in @rinternals{All layout objects} +(si trovano anche in @file{scm/define-grobs.scm}). + +@item +La proprietà accetta un valore numerico. I valori numerici comprendono +@code{number}, una lista di @code{number}, @code{number-pair} e +@code{number-pair-list}. Le pagine in @rinternals{All layout objects} +elencano il tipo di dati tipici di ciascuna proprietà. È irrilevante +che l'impostazione predefinita sia una funzione. + +@item +La proprietà non può essere una @q{sottoproprietà}, ovvero una proprietà che +risiede all'interno di un'altra proprietà. + +@item +Le proprietà impostate su valori infiniti non possono essere spostate con +offset, perché non esiste un modo sensato per spostare un infinito positivo +o negativo. +@end itemize + +Gli esempi seguenti prendono in considerazione varie proprietà grob in relazione +ai criteri appena delineati. + +@itemize + +@item Proprietà che possono essere spostate con offset + +@table @asis + +@item @code{Hairpin.height} + +Questa proprietà non è una sottoproprietà e è elencata in +@rinternals{Hairpin}. Come valore prende @q{dimensione, in spazi +rigo} impostata su @code{0.6666}, ovviamente non un numero infinito. + +@item @code{Arpeggio.positions} + +La pagina @rinternals{Arpeggio} elenca una proprietà @code{positions} che +accetta una @q{coppia di numeri}. Il suo valore predefinito è +@code{ly:arpeggio::positions}, una funzione di callback che verrà elaborata +durante la fase di formattazione tipografica per emettere una coppia di numeri +per ogni oggetto @code{Arpeggio}. + +@end table + +@item Proprietà che non possono essere spostate con offset + +@table @asis + +@item @code{Hairpin.color} + +@code{color} non è presente in @rinternals{Hairpin}. + +@item @code{Hairpin.circled-tip} + +L'elenco per @code{Hairpin.circled-tip} in @rinternals{Hairpin} mostra +che prende un valore @code{booleano}. I booleani sono non numerici. + +@item @code{Stem.details.lengths} + +Benché sia elencato in @rinternals{Stem} e il suo valore predefinito sia +un elenco di @code{number}, si tratta di una @q{sottoproprietà}. Attualmente +non sono supportate le @q{proprietà annidate}. + +@end table + +@end itemize + +@subsubsubheading{@bs{}offset come override} + +Se @var{elemento} è un nome di grob come @code{Arpeggio} o +@code{Staff.OttavaBracket}, il risultato è un @code{\override} del tipo +di grob specificato. + +@example +\offset @var{proprietà} @var{offset} [@var{contesto}.]@var{NomeGrob} +@end example + +Notare che il trattino iniziale non è @emph{mai} usato nella forma @q{override}, +proprio come non è mai usato col comando @code{\override} stesso. + +L'esempio seguente usa la forma @q{override} per allungare gli arpeggi +predefiniti mostrati nella prima misura in modo che coprano del tutto +l'esensione degli accordi. Gli arpeggi sono allungati di mezzo spazio +rigo verso l'alto e verso il basso. Viene mostrata anche la stessa +operazione fatta sul primo accordo con un normale override della proprietà +@code{positions}. Questo metodo non rispecchia affatto il compito di +@q{allungare di mezzo spazio rigo}, perché le estremità devono essere +specificate con coordinate assolute invece che relative. Inoltre, sarebbero +necessari override individuali per ciascuno degli altri accordi, dato che +variano in dimensione e posizione. + +@lilypond[quote,verbatim] +arpeggioMusic = { + \arpeggio \arpeggio + \arpeggio \arpeggio +} + +{ + \arpeggioMusic + \bar "||" + \offset positions #'(-0.5 . 0.5) Arpeggio + \arpeggioMusic + \bar "||" + \once \override Arpeggio.positions = #'(-3.5 . -0.5) + 1\arpeggio + \bar "||" +} +@end lilypond + +Nel suo uso come @q{override}, @code{\offset} può essere preceduto da +@code{\once} o @code{\temporary} e annullato con @code{\revert} e la +@var{proprietà}. Ciò deriva dal fatto che @code{\offset} in realtà crea +un @code{\override} della @var{proprietà}. + +@lilypond[quote,verbatim] +music = { c'8\< d' e' f'\! } + +{ + \music + \offset height 1 Hairpin + \music + \music + \revert Hairpin.height + \music + \bar "||" + \once \offset height 1 Hairpin + \music \music + \bar "||" + \override Hairpin.height = 0.2 + \music + \temporary \offset height 2 Hairpin + \music + \music + \revert Hairpin.height + \music + \bar "||" +} +@end lilypond + +Proprio come @code{\override}, la forma @q{override} di @code{\offset} può +essere usata con @code{\undo} e @code{\single}. + +@lilypond[quote,verbatim] +longStem = \offset length 6 Stem + +{ + \longStem c'4 c''' c' c'' + \bar "||" + \undo \longStem c'4 c''' c' c'' + \bar "||" + \single \longStem c'4 c''' c' c'' + \bar "||" +} +@end lilypond + +@subsubsubheading{@bs{}offset come tweak} + +Se @var{elemento} è un'espressione musicale come @code{(} o +@code{\arpeggio}, il risultato è la stessa espressione musicale +con una modifica di tipo tweak applicata. + +@example +[-]\offset [@var{NomeGrob}.]@var{proprietà} @var{offset} @var{espressione-musicale} +@end example + +La sintassi di @code{\offset} nella sua forma @q{tweak} è analoga a quella +dello stesso comando @code{\tweak}, sia nell'ordine sia in presenza o assenza +del trattino iniziale. + +L'esempio seguente usa la forma @q{tweak} per regolare la posizione verticale +dell'oggetto @code{BreathingSign}. Si confronti questo col normale comando +@code{\tweak} che lo segue. La sintassi è equivalente, ma l'output di +@code{\tweak} è meno intuitivo, perché @code{BreathingSign.Y-offset} è +calcolato dalla linea centrale del pentagramma. Al contratio, non è necessatio +conoscere come è calcolato @code{Y-offset} quando si usa @code{\offset}. + +@lilypond[quote,verbatim] +{ + c''4 + \breathe + c''4 + \offset Y-offset 2 \breathe + c''2 + \tweak Y-offset 3 \breathe +} +@end lilypond + +Nell'esempio precedente, gli oggetti modificati sono stati creati direttamente +dall'input dell'utente: il comando @code{\breathe} è un'istruzione esplicita +che restituisce un oggetto @code{BreathingSign}. Dato che l'ambito del comando +era non ambiguo, non è stato necessario specificare il nome dell'oggetto. +Ma quando un oggetto viene creato @emph{indirettamente}, bisogna includere il +nome del grob. Ciò è valido anche per il comando @code{\tweak}. + +Nell'esempio seguente, l'oggetto @code{Beam} viene abbassato di due spazi +rigo applicando @code{\offset} alla proprietà @code{positions}. + +Il primo impiego di @code{\offset} richiede la presenza del nome del grob, +perché nessun elemento dell'input crea esplicitamente la travatura. Nel +secondo impiego la travatura viene creata manualmente con l'espressione +musicale @code{[}; dunque il nome del grob non è necessario. L'esempio +mostra anche una scorciatoia: un singolo @code{numero} viene applicato +a entrambi i membri di una coppia di numeri.) + +@lilypond[quote,verbatim] +{ + c''8 g'' e'' d'' + \offset Beam.positions #'(-2 . -2) + c''8 g'' e'' d'' + c''8 g'' e'' d'' + c''8-\offset positions #-2 [ g'' e'' d''] +} +@end lilypond + +@subsubsubheading{@bs{}offset con estensori spezzati} + +È anche possibile modificare in modo indipendente i segmenti di un estensore +che va oltre una o più interruzioni di linea. In questo caso, @var{offset} +prende una lista di valori del tipo di dati richiesto dalla proprietà. + +Il comando @code{\offset} usato in questo modo è simile al comando +@code{\alterBroken}, vedi @ref{Modifica degli estensori spezzati}. +Tuttavia, diversamente da @code{\alterBroken}, i valori assegnati a +@code{\offset} non sono assoluti, ma relativi. + +L'esempio seguente sposta l'oggetto @q{spezzato} @code{OttavaBracket} +attraverso la sua proprietà @code{staff-padding}. Dato che la proprietà +prende un @code{numero}, a @var{offset} viene fornita una lista di +@code{numeri} per rendere conto dei due segmenti creati dall'interruzione +di linea. +Il pezzo di parentesi dell'ottava sulla prima linea non viene modificato +perché viene aggiunto @code{0} al suo valore predefinito. Il segmento sulla +seconda linea viene alzato di tre spazi rigo dalla sua altezza predefinita. +L'altezza predefinita è @code{2}, anche se non è necessario saperlo. + +@lilypond[quote,verbatim] +{ + \offset staff-padding #'(0 3) Staff.OttavaBracket + \ottava #1 + c'''2 c''' + \break + c'''2 c''' +} +@end lilypond + +L'esempio seguente imita l'effetto del comando @code{\shape} spostando la +proprietà @code{control-points} dell'oggetto @code{Slur}. +Qui @var{offset} è una lista di @code{number-pair-list}, una per ciascun +segmento della legatura di portamento. Questo esempio realizza un risultato +identico a quello corrispondente in @ref{Modifica delle forme}. + +@lilypond[quote,verbatim] +{ + c'4-\offset control-points #'( + ((0 . 0) (0 . 0) (0 . 0) (0 . 1)) + ((0.5 . 1.5) (1 . 0) (0 . 0) (0 . -1.5)) + ) ( f'4 g' c'' + \break + d'4 c'' f' c') +} +@end lilypond + + @node Modifica delle liste associative @subsection Modifica delle liste associative @translationof Modifying alists @@ -2401,43 +2736,55 @@ come liste associative.} @translationof Input modes Il modo in cui la notazione contenuta in un file di input è interpretata è -determinato dalla modalità di inserimento corrente. +determinato dalla modalità di inserimento corrente. In generale, esistono +due modi di specificare la modalità: una forma lunga, come @code{\chordmode}, +e una breve, come @code{\chords}. La forma lunga viene usata tipicamente +quando si passa l'input a una variabile o quando si inserisce l'input +direttamente in un contesto creato esplicitamente. La forma breve crea +implicitamente un contesto del tipo corretto per quell'input e passa l'input +a questo direttamente. È utile in casi semplici in cui non è necessario +creare esplicitamente il contesto. @subsubsubheading Modalità accordo Viene attivata col comando @code{\chordmode} e fa sì che l'input sia interpretato con la sintassi della notazione degli accordi, vedi -@ref{Chord notation}. Gli accordi sono visualizzati come note su -un rigo. +@ref{Chord notation}. La musica in modalità accordo viene elaborata +come accordi su un rigo se inserita in un contesto @code{Staff}, come +nomi di accordo se inserita in un contesto @code{ChordNames} oppure come +diagrammi della tastiera se inserita in un contesto @code{FretBoards}. La modalità accordo viene attivata anche col comando @code{\chords}. -Questo crea anche un nuovo contesto @code{ChordNames} e fa sì che -l'input che segue sia interpretato con la sintassi della notazione -degli accordi e visualizzato come nomi di accordo nel contesto -@code{ChordNames}, vedi @ref{Printing chord names}. +Anche questo fa sì che l'input che segue sia interpretato con la sintassi +della notazione degli accordi, ma in aggiunta crea implicitamente un nuovo +contesto @code{ChordNames} e elabora l'input al suo interno come nomi di +accordo, vedi @ref{Printing chord names}. @subsubsubheading Modalità percussioni Viene attivata col comando @code{\drummode} e fa sì che l'input sia interpretato con la sintassi della notazione delle percussioni, -vedi @ref{Basic percussion notation}. +vedi @ref{Basic percussion notation}. La musica in modalità percussioni +è elaborata come note percussive se inserita in un contesto @code{DrumStaff}. La modalità percussioni viene attivata anche col comando @code{\drums}. -Questo crea anche un nuovo contesto @code{DrumStaff} e fa sì che -l'input che segue sia interpretato con la sintassi della notazione -delle percussioni e visualizzato come simboli di percussione su un -rigo ritmico, vedi @ref{Basic percussion notation}. +Anche questo fa sì che l'input che segue sia interpretato con la sintassi +della notazione delle percussioni, ma in aggiunta crea implicitamente un +nuovo contesto @code{DrumStaff} e elabora l'input come note percussive, +vedi @ref{Basic percussion notation}. @subsubsubheading Modalità basso continuo Viene attivata col comando @code{\figuremode} e fa sì che l'input che segue sia interpretato con la sintassi del basso -continuo, vedi @ref{Entering figured bass}. +continuo, vedi @ref{Entering figured bass}. La musica in modalità +basso continuo viene elaborata come basso continuo se inserita in un +contesto @code{FiguredBass} o in un contesto @code{Staff}. La modalità basso continuo viene attivata anche col comando @code{\figures}. -Questo crea anche un nuovo contesto @code{FiguredBass} e fa sì che -l'input che segue sia interpretato con la sintassi del basso continuo -e visualizzato come numeri di basso nel contesto @code{FiguredBass}, +Anche questo fa sì che l'input che segue sia interpretato con la sintassi +del basso continuo, ma in aggiunta crea implicitamente un nuovo contesto +@code{FiguredBass} e elabora l'input al suo interno come basso figurato, vedi @ref{Introduction to figured bass}. @subsubsubheading Modalità tastiera e intavolatura @@ -2449,22 +2796,29 @@ Per creare diagrammi in intavolatura, inserire note o accordi nella modalità nota e visualizzarli in un contesto @code{TabStaff}, vedi @ref{Default tablatures}. -Per creare diagrammi della tastiera sopra un rigo, ci sono due opzioni. -Si può usare il contesto @code{FretBoards} (vedi -@ref{Automatic fret diagrams}) oppure inserirli come testo (markup) -sopra le note usando il comando @code{\fret-diagram} (vedi -@ref{Fret diagram markups}). +Per creare diagrammi della tastiera sopra un rigo, inserire le note o gli +accordi in modalità nota o in modalità accordo e elaborarli in un contesto +@code{FretBoards}, vedi @ref{Automatic fret diagrams}. Altrimenti i diagrammi +possono essere inseriti come testo (markup) sopra le note usando il comando +@code{\fret-diagram}, vedi @ref{Fret diagram markups}. @subsubsubheading Modalità testo vocale Viene attivata col comando @code{\lyricmode} e fa sì che l'input sia interpretato come sillabe del testo vocale con durate opzionali -e modificatori del testo associato, vedi @ref{Vocal music}. +e modificatori del testo associato, vedi @ref{Vocal music}. L'input in +modalità testo vocale viene elaborato come sillabe del testo se inserite +in un contesto @code{Lyrics}. + +La modalità testo vocale viene attivata anche col comando @code{\lyrics}. +Anche questo fa sì che l'input che segue sia interpretato come sillabe del +testo ma in aggiunta crea implicitamente un nuovo contesto @code{Lyrics} e +elabora l'input al suo interno come sillabe. La modalità testo vocale viene attivata anche col comando @code{\addlyrics}. -Questo crea anche un nuovo contesto @code{Lyrics} e un comando implicito -@code{\lyricsto} che associa il testo vocale che segue con la musica che -lo precede. +Anche questo crea implicitamente un nuovo contesto @code{Lyrics} e aggiunge +anche un comando implicito @code{\lyricsto} che associa il testo vocale che +segue con la musica che lo precede, vedi @ref{Durate automatiche delle sillabe}.. @subsubsubheading Modalità testo (markup) @@ -3988,8 +4342,8 @@ XinO = { } @end lilypond -Qualsiasi glifo del tipo di carattere Feta può essere passato al comando -markup @code{\musicglyph} -- vedi @ref{The Emmentaler font}. +Qualsiasi glifo @emph{Feta} usato nel font Emmentaler può essere passato al +comando markup @code{\musicglyph} -- vedi @ref{Il font Emmentaler}. I file @file{EPS} e i comandi Postscript possono essere inseriti entrambi nel @c traduzione libera di "inline" @@ -4000,9 +4354,9 @@ vedi @ref{Graphic}. @seealso Guida alla notazione: @ref{Graphic notation inside markup}, -@ref{Formatting text}, +@ref{Formattazione del testo}, @ref{Text markup commands}, -@ref{The Emmentaler font}, +@ref{Il font Emmentaler}, @ref{Graphic}.