@c -*- coding: utf-8; mode: texinfo; documentlanguage: it -*-
@ignore
- Translation of GIT committish: 7fdce4f39834cc8c83f176480cc1d20900eb09f8
+ Translation of GIT committish: 28add695953862ef4a87f9fbeadd1d02dc299244
When revising a translation, copy the HEAD committish of the
version that you are working on. For details, see the Contributors'
Guide, node Updating translation committishes..
@end ignore
-@c \version "2.19.2"
+@c \version "2.19.22"
@node Modifica dell'output
@chapter Modifica dell'output
oggetti che hanno una forma estesa in questo modo vengono chiamati «Estensori»
(in inglese @emph{Spanner}).
+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},
+@code{VerticalAxisGroup}, @code{NonMusicalPaperColumn} e simili. Vedremo
+in seguito come si usano alcuni di questi.
+
Resta da spiegare cosa sono le «Interfacce». Molti oggetti, pur essendo
piuttosto diversi, condividono delle caratteristiche comuni che devono
essere elaborate nello stesso modo. Ad esempio, tutti i @emph{grob} hanno un
* Il prefisso once::
* Il comando overrideProperty::
* Il comando tweak::
+* Il prefisso single::
@end menu
@node Il comando override
@cindex colore, proprietà del
@cindex NoteHead, esempio di sovrascrittura
-@lilypond[quote,fragment,ragged-right,verbatim,relative=1]
-c4 d
-\override NoteHead.color = #red
-e4 f |
-\override NoteHead.color = #green
-g4 a b c |
+@lilypond[quote,ragged-right,verbatim]
+\relative {
+ c'4 d
+ \override NoteHead.color = #red
+ e4 f |
+ \override NoteHead.color = #green
+ g4 a b c |
+}
@end lilypond
@node Il comando revert
@cindex colore, proprietà del
@cindex NoteHead, esempio di sovrascrittura
-@lilypond[quote,fragment,ragged-right,verbatim,relative=1]
-c4 d
-\override NoteHead.color = #red
-e4 f |
-\override NoteHead.color = #green
-g4 a
-\revert NoteHead.color
-b4 c |
+@lilypond[quote,ragged-right,verbatim]
+\relative {
+ c'4 d
+ \override NoteHead.color = #red
+ e4 f |
+ \override NoteHead.color = #green
+ g4 a
+ \revert NoteHead.color
+ b4 c |
+}
@end lilypond
@node Il prefisso once
@funindex \once
@funindex once
-Sia il comando @code{\override} che il comando @code{\set} possono essere
-preceduti da @code{\once}. Questo fa sì che il successivo comando @code{\override}
-o @code{\set} sia effettivo solo in relazione a quel determinato momento musicale,
-prima che la proprietà sia ripristinata al suo valore precedente (che può essere diverso da quello predefinito se un altro @code{\override} è
-ancora attivo). Usando lo stesso esempio, possiamo cambiare il colore di
-una singola nota in questo modo:
+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
+solo in quel determinato momento musicale, prima che la proprietà sia
+ripristinata al suo valore precedente (che può essere diverso da quello
+predefinito se un altro @code{\override} è ancora attivo). Usando lo stesso
+esempio, possiamo cambiare il colore di una singola nota in questo modo:
@cindex proprietà del colore, esempio
@cindex colore, proprietà del
@cindex NoteHead, esempio di sovrascrittura
-@lilypond[quote,verbatim,relative=1]
-c4 d
-\override NoteHead.color = #red
-e4 f |
-\once \override NoteHead.color = #green
-g4 a
-\revert NoteHead.color
-b c |
+@lilypond[quote,verbatim]
+\relative {
+ c'4 d
+ \override NoteHead.color = #red
+ e4 f |
+ \once \override NoteHead.color = #green
+ g4 a
+ \revert NoteHead.color
+ b c |
+}
@end lilypond
Il prefisso @code{\once} può essere usato anche di fronte a molti
comandi predefiniti per limitare il loro effetto a un momento musicale:
-@lilypond[quote,verbatim,relative=1]
-c4 d
-\once \stemDown
-e4 f |
-g4 a
-\once \hideNotes
-b c |
+@lilypond[quote,verbatim]
+\relative {
+ c'4( d)
+ \once \slurDashed
+ e4( f) |
+ g4( a)
+ \once \hideNotes
+ b( c) |
+}
@end lilypond
-Tuttavia, i comandi predefiniti che hanno la forma @code{\@dots{}Neutral},
-@code{\@dots{}Off} e @code{\un@dots{}} usano internamente @code{\revert} invece
-di @code{\override} dunque inserire @code{\once} prima di questi comandi
-non produce alcun effetto.
-
@node Il comando overrideProperty
@unnumberedsubsubsec Il comando @code{@bs{}overrideProperty}
@cindex font-size, esempio
@cindex NoteHead, esempio di sovrascrittura
-@lilypond[quote,fragment,ragged-right,verbatim,relative=1]
-<c e g>4
-\once \override NoteHead.font-size = #-3
-<c e g>4
-<c e g>4
+@lilypond[quote,ragged-right,verbatim]
+\relative {
+ <c' e g>4
+ \once \override NoteHead.font-size = #-3
+ <c e g>4
+ <c e g>4
+}
@end lilypond
Come si vede, la sovrascrittura riguarda @emph{tutte} le teste di nota
@cindex font-size, esempio
@cindex @code{\tweak}, esempio
-@lilypond[quote,fragment,ragged-right,verbatim,relative=1]
-<c e g>4
-<c \tweak font-size #-3 e g>4
+@lilypond[quote,ragged-right,verbatim]
+\relative {
+ <c' e g>4
+ <c \tweak font-size #-3 e g>4
+}
@end lilypond
Si noti che la sintassi di @code{\tweak} è diversa da quella di
@cindex colore, proprietà del
@cindex @code{\tweak}, esempio
-@lilypond[quote,fragment,ragged-right,verbatim,relative=2]
-a4^"Black"
+@lilypond[quote,fragment,ragged-right,verbatim]
+a'4^"Black"
-\tweak color #red ^"Red"
-\tweak color #green _"Green"
@end lilypond
esplicitamente l'oggetto di formattazione, purché LilyPond riesca a
seguire la sua origine fino all'evento originale:
-@lilypond[quote,fragment,ragged-right,verbatim,relative=2]
-<\tweak Accidental.color #red cis4
- \tweak Accidental.color #green es
- g>
+@lilypond[quote,fragment,ragged-right,verbatim]
+<\tweak Accidental.color #red cis''4
+ \tweak Accidental.color #green es''
+ g''>
@end lilypond
Questa forma estesa del comando @code{\tweak} può essere descritta così
@example
-\tweak @var{oggetto-formattazione}.@var{proprietà-formattazione} @var{valore}
+\tweak @var{OggettoFormattazione}.@var{proprietà-formattazione} #@var{valore}
@end example
@cindex gruppi irregolari, annidati
@cindex proprietà del colore, esempio
@cindex colore, esempio
-@lilypond[quote,ragged-right,verbatim,fragment,relative=2]
-\tweak direction #up
-\tuplet 3/4 {
- \tweak color #red
- \tuplet 3/2 { c8[ c c] }
- \tuplet 3/2 { c8[ c c] }
- \tuplet 3/2 { c8[ c c] }
+@lilypond[quote,ragged-right,verbatim]
+\relative c'' {
+ \tweak direction #up
+ \tuplet 3/4 {
+ \tweak color #red
+ \tuplet 3/2 { c8[ c c] }
+ \tuplet 3/2 { c8[ c c] }
+ \tuplet 3/2 { c8[ c c] }
+ }
}
@end lilypond
@c NOTE Tuplet brackets collide if notes are high on staff
@c See issue 509
-@lilypond[quote,ragged-right,verbatim,fragment,relative=1]
-\tuplet 3/2 { c8[ c c] }
-\once \override TupletNumber.text = #tuplet-number::calc-fraction-text
-\tuplet 3/2 {
- c8[ c]
- c8[ c]
- \once \override TupletNumber.transparent = ##t
- \tuplet 3/2 { c8[ c c] }
- \tuplet 3/2 { c8[ c c] }
+@lilypond[quote,ragged-right,verbatim]
+\relative {
+ \tuplet 3/2 { c'8[ c c] }
+ \once \override TupletNumber.text = #tuplet-number::calc-fraction-text
+ \tuplet 3/2 {
+ c8[ c]
+ c8[ c]
+ \once \override TupletNumber.transparent = ##t
+ \tuplet 3/2 { c8[ c c] }
+ \tuplet 3/2 { c8[ c c] }
+ }
}
@end lilypond
-
@seealso
+@c need to comment this until the node conflict is fixed - fb
Guida alla Notazione:
-@ruser{The tweak command}.
+@ruser{The tweak command,,The tweak command}.
+
+
+@node Il prefisso single
+@unnumberedsubsubsec Il prefisso @code{@bs{}single}
+@translationof The single prefix
+
+@funindex \single
+@cindex tweak, generato da override
+
+Immaginiamo di voler enfatizzare alcune teste di nota in particolare
+colorandole di rosso e aumentandone la dimensione; e immaginiamo anche
+che per comodità abbiamo definito una funzione per fare ciò:
+
+@lilypond[quote,verbatim]
+emphNoteHead = {
+ \override NoteHead.color = #red
+ \override NoteHead.font-size = 2
+}
+\relative {
+ c''4 a \once \emphNoteHead f d |
+}
+@end lilypond
+
+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}.
+Ma non è possibile usare @code{\tweak} in una funzione; è in questo caso che
+torna utile il comando @code{\single}:
+
+@lilypond[quote,verbatim]
+emphNoteHead = {
+ \override NoteHead.color = #red
+ \override NoteHead.font-size = 2
+}
+\relative {
+ <c'' a \single \emphNoteHead f d>4
+}
+@end lilypond
+
+In sintesi, @code{\single} converte le modifiche introdotte dal comando
+@code{\override} in modifiche eseguite dal comando @code{\tweak}.
+Ciò significa che quando ci sono vari oggetti che si trovano nello stesso
+momento musicale (come le teste di nota in un accordo), @code{\single} avrà
+effetto su uno solo, quello generato dall'espressione musicale immediatamente
+seguente; a differenza di @code{\once}, che ha effetto su tutti questi oggetti.
+
+Usando @code{\single} in questo modo qualsiasi funzione usata come
+scorciatoia che contiene soltanto @code{\override} può essere applicata
+a note individuali in un accordo. Tuttavia, @code{\single} non converte
+@code{\revert}, @code{\set} e @code{\unset} in modifiche che hanno le
+proprietà di @code{\tweak}.
+
+@seealso
+Manuale di apprendimento:
+@ref{The tweak command},
+@ref{Using variables for layout adjustments}.
@node Manuale del Funzionamento interno
@c Mozart, Die Zauberflöte Nr.7 Duett
-@lilypond[quote,verbatim,relative=2]
+@lilypond[quote,verbatim]
{
\key es \major
\time 6/8
- {
- r4 bes8 bes[( g]) g |
+ \relative {
+ r4 bes'8 bes[( g]) g |
g8[( es]) es d[( f]) as |
as8 g
}
@cindex proprietà thickness, esempio
@cindex thickness (spessore), esempio
-@lilypond[quote,verbatim,relative=2]
+@lilypond[quote,verbatim]
{
\key es \major
\time 6/8
- {
+ \relative {
% Increase thickness of all following slurs from 1.2 to 5.0
\override Slur.thickness = #5.0
- r4 bes8 bes[( g]) g |
+ r4 bes'8 bes[( g]) g |
g8[( es]) es d[( f]) as |
as8 g
}
@cindex proprietà thickness, esempio
@cindex thickness (spessore), esempio
-@lilypond[quote,verbatim,relative=2]
+@lilypond[quote,verbatim]
{
\key es \major
\time 6/8
- {
- r4 bes8
+ \relative {
+ r4 bes'8
% Aumenta lo spessore solo della legatura che segue
\once \override Slur.thickness = #5.0
bes8[( g]) g |
@cindex proprietà thickness, esempio
@cindex thickness (spessore), esempio
-@lilypond[quote,verbatim,relative=2]
+@lilypond[quote,verbatim]
{
\key es \major
\time 6/8
- {
- r4 bes8
+ \relative {
+ r4 bes'8
% Aumenta lo spessore solo della legatura che segue
\once \override Slur.thickness = #5.0
bes[( g]) g |
@cindex proprietà thickness, esempio
@cindex thickness (spessore), esempio
-@lilypond[quote,verbatim,relative=2]
+@lilypond[quote,verbatim]
{
\key es \major
\time 6/8
- {
- r4 bes8
+ \relative {
+ r4 bes'8
% Aumenta lo spessore di tutte le legature di portamento che seguono da 1.2 a 5.0
\override Slur.thickness = #5.0
bes[( g]) g |
@cindex LyricText, esempio di sovrascrittura
@cindex @code{\addlyrics}, esempio
-@lilypond[quote,fragment,ragged-right,verbatim,relative=2]
+@lilypond[quote,ragged-right,verbatim]
{
\key es \major
\time 6/8
- {
- r4 bes8 bes[( g]) g |
+ \relative {
+ r4 bes'8 bes[( g]) g |
g8[( es]) es d[( f]) as |
as8 g
}
@cindex proprietà stencil, esempio
@cindex stencil, esempio
-@lilypond[quote,fragment,ragged-right,verbatim,relative=2]
-{
+@lilypond[quote,ragged-right,verbatim]
+\relative {
\time 12/16
\override BarLine.stencil = ##f
- c4 b8 c d16 c d8 |
+ c''4 b8 c d16 c d8 |
g,8 a16 b8 c d4 e16 |
e8
}
@cindex proprietà stencil, esempio
@cindex stencil, esempio
-@lilypond[quote,fragment,ragged-right,verbatim,relative=2]
-{
+@lilypond[quote,ragged-right,verbatim]
+\relative {
\time 12/16
\override Staff.BarLine.stencil = ##f
- c4 b8 c d16 c d8 |
+ c''4 b8 c d16 c d8 |
g,8 a16 b8 c d4 e16 |
e8
}
scorciatoia, @code{\omit}:
@funindex \omit
-@lilypond[quote,fragment,ragged-right,verbatim,relative=2]
-{
+@lilypond[quote,ragged-right,verbatim]
+\relative {
\time 12/16
\omit Staff.BarLine
- c4 b8 c d16 c d8 |
+ c''4 b8 c d16 c d8 |
g,8 a16 b8 c d4 e16 |
e8
}
@code{point-stencil}, che trasforma lo stencil in un oggetto a dimensione
zero:
-@lilypond[quote,verbatim,relative=2]
-{
- c4 c
+@lilypond[quote,verbatim]
+\relative {
+ c''4 c
\once \override NoteHead.stencil = #point-stencil
c4 c
}
@cindex proprietà break-visibility, esempio
@cindex break-visibility, esempio
-@lilypond[quote,fragment,ragged-right,verbatim,relative=2]
-{
+@lilypond[quote,ragged-right,verbatim]
+\relative {
\time 12/16
\override Staff.BarLine.break-visibility = ##(#f #f #f)
- c4 b8 c d16 c d8 |
+ c''4 b8 c d16 c d8 |
g,8 a16 b8 c d4 e16 |
e8
}
@cindex proprietà transparent, esempio
@cindex transparent, esempio
-@lilypond[quote,fragment,ragged-right,verbatim,relative=2]
-{
+@lilypond[quote,ragged-right,verbatim]
+\relative {
\time 12/16
\override Staff.TimeSignature.transparent = ##t
- c4 b8 c d16 c d8 |
+ c''4 b8 c d16 c d8 |
g,8 a16 b8 c d4 e16 |
e8
}
frequente, perciò è stata creata la scorciatoia @code{\hide}:
@funindex \hide
-@lilypond[quote,fragment,ragged-right,verbatim,relative=2]
-{
+@lilypond[quote,ragged-right,verbatim]
+\relative {
\time 12/16
\hide Staff.TimeSignature
- c4 b8 c d16 c d8 |
+ c''4 b8 c d16 c d8 |
g,8 a16 b8 c d4 e16 |
e8
}
@cindex proprietà stencil, esempio
@cindex stencil, esempio
-@lilypond[quote,fragment,ragged-right,verbatim,relative=2]
-{
+@lilypond[quote,ragged-right,verbatim]
+\relative {
\time 12/16
\omit Staff.TimeSignature
- c4 b8 c d16 c d8 |
+ c''4 b8 c d16 c d8 |
g,8 a16 b8 c d4 e16 |
e8
}
@cindex proprietà color
@cindex color, proprietà
-@lilypond[quote,fragment,ragged-right,verbatim,relative=2]
-{
+@lilypond[quote,ragged-right,verbatim]
+\relative {
\time 12/16
\override Staff.BarLine.color = #white
- c4 b8 c d16 c d8 |
+ c''4 b8 c d16 c d8 |
g,8 a16 b8 c d4 e16 |
e8
}
@cindex proprietà color, esempio
@cindex color, esempio
-@lilypond[quote,fragment,ragged-right,verbatim,relative=2]
-{
+@lilypond[quote,ragged-right,verbatim]
+\relative {
\time 12/16
\override Staff.BarLine.color = #(x11-color 'white)
- c4 b8 c d16 c d8 |
+ c''4 b8 c d16 c d8 |
g,8 a16 b8 c d4 e16 |
e8
}
@cindex proprietà color, esempio
@cindex color, esempio
-@lilypond[quote,fragment,ragged-right,verbatim,relative=2]
-{
+@lilypond[quote,ragged-right,verbatim]
+\relative {
\time 12/16
\override Staff.BarLine.color = #(rgb-color 1 1 1)
- c4 b8 c d16 c d8 |
+ c''4 b8 c d16 c d8 |
g,8 a16 b8 c d4 e16 |
e8
}
@cindex color, esempio
@cindex x11-color, esempio di utilizzo
-@lilypond[quote,fragment,ragged-right,verbatim,relative=2]
-{
+@lilypond[quote,ragged-right,verbatim]
+\relative {
\time 12/16
\override Staff.StaffSymbol.color = #(x11-color 'grey30)
\override Staff.TimeSignature.color = #(x11-color 'grey60)
\override Voice.NoteHead.color = #(x11-color 'grey85)
\override Voice.Stem.color = #(x11-color 'grey85)
\override Staff.BarLine.color = #(x11-color 'grey10)
- c4 b8 c d16 c d8 |
+ c''4 b8 c d16 c d8 |
g,8 a16 b8 c d4 e16 |
e8
}
@cindex proprietà alignAboveContext, esempio
@cindex @code{\with}, esempio
-@lilypond[quote,fragment,ragged-right,verbatim,relative=2]
+@lilypond[quote,ragged-right,verbatim]
\new Staff ="main" {
- \relative g' {
- r4 g8 g c4 c8 d |
+ \relative {
+ r4 g'8 g c4 c8 d |
e4 r8
<<
{ f8 c c }
@cindex Clef, esempio di sovrascrittura
@cindex TimeSignature, esempio di sovrascrittura
-@lilypond[quote,fragment,ragged-right,verbatim,relative=2]
+@lilypond[quote,ragged-right,verbatim]
\new Staff ="main" {
- \relative g' {
- r4 g8 g c4 c8 d |
+ \relative {
+ r4 g'8 g c4 c8 d |
e4 r8
<<
{ f8 c c }
@cindex Clef, esempio di sovrascrittura
@cindex TimeSignature, esempio di sovrascrittura
-@lilypond[quote,fragment,ragged-right,verbatim,relative=2]
+@lilypond[quote,ragged-right,verbatim]
\new Staff ="main" {
- \relative g' {
- r4 g8 g c4 c8 d |
+ \relative {
+ r4 g'8 g c4 c8 d |
e4 r8
<<
{ f8 c c }
Si possono usare anche le scorciatoie @code{\hide} e @code{\omit} per
impostare la proprietà @code{transparent} e togliere lo @code{stencil}
-@lilypond[quote,fragment,ragged-right,verbatim,relative=2]
+@lilypond[quote,ragged-right,verbatim]
\new Staff ="main" {
- \relative g' {
- r4 g8 g c4 c8 d |
+ \relative {
+ r4 g'8 g c4 c8 d |
e4 r8
<<
{ f8 c c }
@cindex proprietà fontSize, esempio
@cindex fontSize, esempio
-@lilypond[quote,fragment,ragged-right,verbatim,relative=2]
+@lilypond[quote,ragged-right,verbatim]
\new Staff ="main" {
- \relative g' {
- r4 g8 g c4 c8 d |
+ \relative {
+ r4 g'8 g c4 c8 d |
e4 r8
<<
{ f8 c c }
@cindex proprietà stencil, esempio
@cindex stencil, esempio
-@lilypond[quote,fragment,ragged-right,verbatim,relative=2]
+@lilypond[quote,ragged-right,verbatim]
\new Staff ="main" {
- \relative g' {
- r4 g8 g c4 c8 d |
+ \relative {
+ r4 g'8 g c4 c8 d |
e4 r8
<<
{ f8 c c }
@cindex markup, esempio
-@lilypond[quote,fragment,ragged-right,verbatim,relative=2]
-c2^"Testo1"
-c2^"Testo2" |
-c2^"Testo3"
-c2^"Testo4" |
+@lilypond[quote,fragment,ragged-right,verbatim]
+c''2^"Testo1"
+c''2^"Testo2" |
+c''2^"Testo3"
+c''2^"Testo4" |
@end lilypond
Di norma, anche i righi sono collocati quanto più possibile ravvicinati
@lilypond[quote,ragged-right,verbatim]
<<
\new Staff {
- \relative c' { c4 a, }
+ \relative { c'4 a, }
}
\new Staff {
- \relative c'''' { c4 a, }
+ \relative { c''''4 a, }
}
>>
@end lilypond
@cindex neutral
@cindex direzione, neutrale
-L'esempio seguente mostra nella prima battuta il comportamento predefinito
-dei gambi, per cui i gambi delle note superiori puntano in basso e quelli delle
-note inferiori in alto; poi seguono quattro note con tutti i gambi
-forzati verso il basso, quattro con i gambi forzati verso l'alto e, infine, quattro
-con i gambi nuovamente disposti secondo il comportamento predefinito.
+L'esempio seguente mostra il posizionamento predefinito delle legature di
+portamento nella prima battuta, con legature che iniziano sulle note
+alte poste sopra le note e quelle che iniziano sulle note basse posizionate
+sotto, seguita da una battuta con entrambe le legature forzate verso il
+basso, un'altra battuta con entrambe le legatura forzate verso l'alto e infine
+una battuta con entrambe le legature ripristinate al comportamento predefinito.
-@cindex Stem, esempio di sovrascrittura
+@cindex Slur, esempio di sovrascrittura
+@cindex legatura di portamento, esempio di sovrascrittura
@cindex proprietà direction, esempio
@cindex direction, esempio
-@lilypond[quote,fragment,ragged-right,verbatim,relative=2]
-a4 g c a |
-\override Stem.direction = #DOWN
-a4 g c a |
-\override Stem.direction = #UP
-a4 g c a |
-\revert Stem.direction
-a4 g c a |
+@lilypond[quote,fragment,verbatim]
+a'4( g') c''( a') |
+\override Slur.direction = #DOWN
+a'4( g') c''( a') |
+\override Slur.direction = #UP
+a'4( g') c''( a') |
+\revert Slur.direction
+a'4( g') c''( a') |
@end lilypond
Abbiamo usato le costanti @code{DOWN} (giù) e @code{UP} (su).
Queste hanno rispettivamente i valori @w{@code{-1}} e @code{+1}, ed
è possibile usare tali valori numerici al loro posto. In alcuni casi
-si può usare anche il valore @code{0}, che significa @code{UP} per i
-gambi, ma per alcuni oggetti significa @q{center} (centro).
+si può usare anche il valore @code{0}, che significa @code{UP} per le
+legature di portamento, ma per alcuni oggetti significa @q{center} (centro).
Esiste una costante, @code{CENTER} che ha valore @code{0}.
Tuttavia queste sovrascritture esplicite solitamente non vengono usate, perché
@end multitable
-Le varianti neutral/normal di questi comandi usano @code{\revert} e quindi
+Le varianti neutral/normal di questi comandi usano @code{\revert} e queste
@strong{non} possono essere precedute da @code{\once}. Se desideri limitare
l'effetto degli altri comandi (che usano @code{\override}) a un singolo
momento temporale, devi farli precedere da @code{\once} come faresti con
delle sovrascritture esplicite.
+Oppure, se solo un oggetto della formattazione deve essere forzato verso
+l'alto o verso il basso, si possono usare gli indicatori di
+direzione, @code{^} o @code{_}:
+
+@lilypond[quote,fragment,verbatim]
+a'4( g') c''( a') |
+a'4^( g') c''_( a') |
+@end lilypond
+
@node Diteggiatura
@unnumberedsubsubsec Diteggiatura
@cindex proprietà direction, esempio
@cindex direction, esempio
-@lilypond[quote,verbatim,relative=2]
-c4-5 a-3 f-1 c'-5 |
-\override Fingering.direction = #DOWN
-c4-5 a-3 f-1 c'-5 |
-\override Fingering.direction = #UP
-c4-5 a-3 f-1 c'-5 |
+@lilypond[quote,verbatim]
+\relative {
+ c''4-5 a-3 f-1 c'-5 |
+ \override Fingering.direction = #DOWN
+ c4-5 a-3 f-1 c'-5 |
+ \override Fingering.direction = #UP
+ c4-5 a-3 f-1 c'-5 |
+}
@end lilypond
Tuttavia sovrascrivere la proprietà @code{direction} non è il modo
@cindex fingering, esempio
-@lilypond[quote,verbatim,relative=2]
-c4-5 a-3 f-1 c'-5 |
-c4_5 a_3 f_1 c'_5 |
-c4^5 a^3 f^1 c'^5 |
+@lilypond[quote,verbatim]
+\relative {
+ c''4-5 a-3 f-1 c'-5 |
+ c4_5 a_3 f_1 c'_5 |
+ c4^5 a^3 f^1 c'^5 |
+}
@end lilypond
La proprietà @code{direction} viene ignorata negli accordi, ma i
@cindex fingering, esempio
-@lilypond[quote,verbatim,relative=2]
-<c-5 g-3>4
-<c-5 g-3 e-2>4
-<c-5 g-3 e-2 c-1>4
+@lilypond[quote,verbatim]
+\relative {
+ <c''-5 g-3>4
+ <c-5 g-3 e-2>4
+ <c-5 g-3 e-2 c-1>4
+}
@end lilypond
@noindent
@cindex fingering, esempio
-@lilypond[quote,verbatim,relative=2]
-<c-5 g-3 e-2 c-1>4
-<c^5 g_3 e_2 c_1>4
-<c^5 g^3 e^2 c_1>4
+@lilypond[quote,verbatim]
+\relative {
+ <c''-5 g-3 e-2 c-1>4
+ <c^5 g_3 e_2 c_1>4
+ <c^5 g^3 e^2 c_1>4
+}
@end lilypond
È possibile avere un controllo ancora maggiore sulla disposizione della
@cindex @code{\set}, esempio di utilizzo
@cindex proprietà fingeringOrientations, esempio
-@lilypond[quote,fragment,ragged-right,verbatim,relative=1]
-\set fingeringOrientations = #'(left)
-<f-2>4
-<c-1 e-2 g-3 b-5>4
-\set fingeringOrientations = #'(left)
-<f-2>4
-<c-1 e-2 g-3 b-5>4 |
-\set fingeringOrientations = #'(up left down)
-<f-2>4
-<c-1 e-2 g-3 b-5>4
-\set fingeringOrientations = #'(up left)
-<f-2>4
-<c-1 e-2 g-3 b-5>4 |
-\set fingeringOrientations = #'(right)
-<f-2>4
-<c-1 e-2 g-3 b-5>4
+@lilypond[quote,ragged-right,verbatim]
+\relative {
+ \set fingeringOrientations = #'(left)
+ <f'-2>4
+ <c-1 e-2 g-3 b-5>4
+ \set fingeringOrientations = #'(left)
+ <f-2>4
+ <c-1 e-2 g-3 b-5>4 |
+ \set fingeringOrientations = #'(up left down)
+ <f-2>4
+ <c-1 e-2 g-3 b-5>4
+ \set fingeringOrientations = #'(up left)
+ <f-2>4
+ <c-1 e-2 g-3 b-5>4 |
+ \set fingeringOrientations = #'(right)
+ <f-2>4
+ <c-1 e-2 g-3 b-5>4
+}
@end lilypond
@noindent
valore predefinito di tale proprietà è @w{@code{-5}}, dunque proviamo
con @w{@code{-7}}:
-@lilypond[quote,fragment,ragged-right,verbatim,relative=1]
-\override Fingering.font-size = #-7
-\set fingeringOrientations = #'(left)
-<f-2>4
-<c-1 e-2 g-3 b-5>4
-\set fingeringOrientations = #'(left)
-<f-2>4
-<c-1 e-2 g-3 b-5>4 |
-\set fingeringOrientations = #'(up left down)
-<f-2>4
-<c-1 e-2 g-3 b-5>4
-\set fingeringOrientations = #'(up left)
-<f-2>4
-<c-1 e-2 g-3 b-5>4 |
-\set fingeringOrientations = #'(right)
-<f-2>4
-<c-1 e-2 g-3 b-5>4
+@lilypond[quote,ragged-right,verbatim]
+\relative {
+ \override Fingering.font-size = #-7
+ \set fingeringOrientations = #'(left)
+ <f'-2>4
+ <c-1 e-2 g-3 b-5>4
+ \set fingeringOrientations = #'(left)
+ <f-2>4
+ <c-1 e-2 g-3 b-5>4 |
+ \set fingeringOrientations = #'(up left down)
+ <f-2>4
+ <c-1 e-2 g-3 b-5>4
+ \set fingeringOrientations = #'(up left)
+ <f-2>4
+ <c-1 e-2 g-3 b-5>4 |
+ \set fingeringOrientations = #'(right)
+ <f-2>4
+ <c-1 e-2 g-3 b-5>4
+}
@end lilypond
@node Oggetti esterni al rigo
@cindex proprietà bound-details, esempio
@cindex bound-details, esempio
-@lilypond[quote,fragment,ragged-right,verbatim,relative=1]
+@lilypond[quote,fragment,ragged-right,verbatim]
% Set details for later Text Spanner
\override TextSpanner.bound-details.left.text
= \markup { \small \bold Slower }
\dynamicUp
% Start Ottava Bracket
\ottava #1
-c'4 \startTextSpan
+c''4 \startTextSpan
% Add Dynamic Text and hairpin
-c4\pp\<
-c4
+c''4\pp\<
+c''4
% Add Text Script
-c4^Text |
-c4 c
+c''4^Text |
+c''4 c''
% Add Dynamic Text and terminate hairpin
-c4\ff c \stopTextSpan |
+c''4\ff c'' \stopTextSpan |
% Stop Ottava Bracket
\ottava #0
-c,4 c c c |
+c'4 c' c' c' |
@end lilypond
Questo esempio mostra anche come creare gli estensori (spanner) del testo,
@cindex proprietà bound-details, esempio
@cindex bound-details, esempio
-@lilypond[quote,fragment,ragged-right,verbatim,relative=1]
-% Imposta i dettagli per l'estensione del testo vocale seguente
+@lilypond[quote,fragment,ragged-right,verbatim]
+% Set details for later Text Spanner
\override TextSpanner.bound-details.left.text
= \markup { \small \bold Slower }
-% Posiziona le indicazione dinamiche sopra il rigo
+% Place dynamics above staff
\dynamicUp
-% Posiziona l'estensione del segno d'ottava sotto il testo vocale
-\once \override Staff.OttavaBracket.outside-staff-priority = #340
-% Inizia l'estensione del segno d'ottava
+% Start Ottava Bracket
\ottava #1
-c'4 \startTextSpan
-% Aggiunge l'indicazione dinamica
-c4\pp
-% Aggiunge la forcella della dinamica
-c4\<
-% Aggiunge l'oggetto di testo
-c4^Text |
-c4 c
-% Aggiunge l'indicazione dinamica
-c4\ff c \stopTextSpan |
-% Termina l'estensione de segno d'ottava
+c''4 \startTextSpan
+% Add Dynamic Text and hairpin
+c''4\pp\<
+c''4
+% Add Text Script
+c''4^Text |
+c''4 c''
+% Add Dynamic Text and terminate hairpin
+c''4\ff c'' \stopTextSpan |
+% Stop Ottava Bracket
\ottava #0
-c,4 c c c |
+c'4 c' c' c' |
@end lilypond
Si noti che alcuni di questi oggetti, in particolare i numeri di
insieme ad altri oggetti esterni al rigo in base a quel valore. Ecco un
esempio che mostra l'effetto dei due metodi:
-@lilypond[quote,verbatim,relative=2]
-c4( c^\markup { \tiny \sharp } d4.) c8 |
-c4(
-\once \override TextScript.avoid-slur = #'inside
-\once \override TextScript.outside-staff-priority = ##f
-c4^\markup { \tiny \sharp } d4.) c8 |
-\once \override Slur.outside-staff-priority = #500
-c4( c^\markup { \tiny \sharp } d4.) c8 |
+@lilypond[quote,verbatim]
+\relative c'' {
+ c4( c^\markup { \tiny \sharp } d4.) c8 |
+ c4(
+ \once \override TextScript.avoid-slur = #'inside
+ \once \override TextScript.outside-staff-priority = ##f
+ c4^\markup { \tiny \sharp } d4.) c8 |
+ \once \override Slur.outside-staff-priority = #500
+ c4( c^\markup { \tiny \sharp } d4.) c8 |
+}
@end lilypond
Attraverso la proprietà @code{outside-staff-priority} si può
@cindex proprietà outside-staff-priority, esempio
@cindex outside-staff-priority, esempio
-@lilypond[quote,fragment,ragged-right,verbatim,relative=2]
-c2^"Testo1"
-c2^"Testo2" |
+@lilypond[quote,fragment,ragged-right,verbatim]
+c''2^"Testo1"
+c''2^"Testo2" |
\once \override TextScript.outside-staff-priority = #500
-c2^"Testo3"
-c2^"Testo4" |
+c''2^"Testo3"
+c''2^"Testo4" |
@end lilypond
Questo ovviamente pone @qq{Testo3} sopra @qq{Testo4}, ma anche
Il comando @code{\textLengthOn} inverte questo comportamento e fa sì che
le note si distanzino quanto basti per introdurre il testo:
-@lilypond[quote,fragment,ragged-right,verbatim,relative=2]
+@lilypond[quote,fragment,ragged-right,verbatim]
\textLengthOn % Fa sì che le note si distanzino per introdurre il testo
-c2^"Text1"
-c2^"Text2" |
-c2^"Text3"
-c2^"Text4" |
+c''2^"Text1"
+c''2^"Text2" |
+c''2^"Text3"
+c''2^"Text4" |
@end lilypond
Il comando che ripristina il comportamento predefinito è
@cindex proprietà outside-staff-priority, esempio
@cindex outside-staff-priority, esempio
-@lilypond[quote,fragment,ragged-right,verbatim,relative=2]
-% Questo testo è abbastanza corto per starci senza creare collisioni
-c2^"Tes" c'' |
-R1 |
-
-% Questo è troppo lungo per starci, quindi è spostato più in alto
-c,,2^"Testo" c'' |
-R1 |
-
-% Disattiva l'elusione delle collisioni
-\once \override TextScript.outside-staff-priority = ##f
-c,,2^"Testo Lungo " c'' |
-R1 |
-
-% Disattiva l'elusione delle collisioni
-\once \override TextScript.outside-staff-priority = ##f
-\textLengthOn % e attiva textLengthOn
-c,,2^"Testo Lungo " % Gli spazi finali vengono rispettati
-c''2 |
+@lilypond[quote,fragment,ragged-right,verbatim]
+\relative {
+ % Questo testo è abbastanza corto per starci senza creare collisioni
+ c2^"Tes" c'' |
+ R1 |
+
+ % Questo è troppo lungo per starci, quindi è spostato più in alto
+ c,,2^"Testo" c'' |
+ R1 |
+
+ % Disattiva l'elusione delle collisioni
+ \once \override TextScript.outside-staff-priority = ##f
+ c,,2^"Testo Lungo " c'' |
+ R1 |
+
+ % Disattiva l'elusione delle collisioni
+ \once \override TextScript.outside-staff-priority = ##f
+ \textLengthOn % e attiva textLengthOn
+ c,,2^"Testo Lungo " % Gli spazi finali vengono rispettati
+ c''2 |
+}
@end lilypond
Si ottengono risultati abbastanza accettabili, come dimostra
questo esempio:
-@lilypond[quote,fragment,ragged-right,verbatim,relative=1]
-\clef "bass"
-\key aes \major
-\time 9/8
-\dynamicUp
-bes4.~\f\< \( bes4 bes8 des4\ff\> c16 bes\! |
-ees,2.~\)\mf ees4 r8 |
+@lilypond[quote,ragged-right,verbatim]
+\relative {
+ \clef "bass"
+ \key aes \major
+ \time 9/8
+ \dynamicUp
+ bes4.~\f\< \( bes4 bes8 des4\ff\> c16 bes\! |
+ ees,2.~\)\mf ees4 r8 |
+}
@end lilypond
Tuttavia, se le note e le loro dinamiche sono molto vicine,
potrebbe non essere però il posizionamento migliore, come mostra
questo esempio piuttosto improbabile:
-@lilypond[quote,fragment,ragged-right,verbatim,relative=2]
+@lilypond[quote,ragged-right,verbatim,fragment]
\dynamicUp
-a4\f b\mf a\mp b\p
+\relative { a'4\f b\mf a\mp b\p }
@end lilypond
@noindent
@cindex proprietà extra-spacing-width, esempio
@cindex extra-spacing-width, esempio
-@lilypond[quote,fragment,ragged-right,verbatim,relative=2]
+@lilypond[quote,fragment,ragged-right,verbatim]
\dynamicUp
% Aumenta la larghezza di 1 spazio rigo
\override DynamicText.extra-spacing-width = #'(-0.5 . 0.5)
-a4\f b\mf a\mp b\p
+\relative { a'4\f b\mf a\mp b\p }
@end lilypond
@noindent
@cindex proprietà padding, esempio
@cindex padding, esempio
-@lilypond[quote,fragment,relative=1,verbatim]
-c2\fermata
+@lilypond[quote,fragment,verbatim]
+c'2\fermata
\override Script.padding = #3
b2\fermata
@end lilypond
@cindex proprietà padding, esempio
@cindex padding, esempio
-@lilypond[quote,fragment,relative=1,verbatim]
+@lilypond[quote,fragment,verbatim]
% Questo non funziona, vedi sotto
\override MetronomeMark.padding = #3
\tempo 4 = 120
-c1 |
+c'1 |
% Questo funziona
\override Score.MetronomeMark.padding = #3
\tempo 4 = 80
-d1 |
+d'1 |
@end lilypond
Nota nel secondo esempio come è importante sapere quale contesto
@lilypond[quote,ragged-right,verbatim]
sesquisharp = \markup { \sesquisharp }
-\relative c'' {
- c4
+\relative {
+ c''4
% Mostra un triesis (alterazione ascendente di tre quarti di tono) ma lo spazio è troppo stretto
\once \override Accidental.stencil = #ly:text-interface::print
\once \override Accidental.text = #sesquisharp
@cindex proprietà staff-padding, esempio
@cindex staff-padding, esempio
-@lilypond[quote,fragment,ragged-right,verbatim,relative=2]
+@lilypond[quote,fragment,ragged-right,verbatim]
\override DynamicLineSpanner.staff-padding = #3
-a4\f b\mf a\p b\mp
+\relative { a'4\f b\mf a\p b\mp }
@end lilypond
@cindex proprietà self-alignment-X, esempio
@cindex self-alignment-X, esempio
-@lilypond[quote,fragment,ragged-right,verbatim,relative=3]
+@lilypond[quote,fragment,ragged-right,verbatim]
\voiceOne
-<a\2>
+<a''\2>
\once \override StringNumber.self-alignment-X = #RIGHT
-<a\2>
+<a''\2>
@end lilypond
le note e le pause simultanee. Ecco un esempio
di collisione di questo tipo:
-@lilypond[quote,verbatim,fragment,ragged-right, relative=1]
-<< { c4 c c c } \\ { R1 } >>
+@lilypond[quote,verbatim,ragged-right]
+<< \relative { c'4 c c c } \\ { R1 } >>
@end lilypond
In questo caso la soluzione migliore è spostare in basso la pausa d'intero, poiché
@cindex proprietà staff-position, esempio
@cindex staff-position, esempio
-@lilypond[quote,verbatim,fragment,ragged-right, relative=1]
+@lilypond[quote,verbatim,ragged-right]
<<
- { c4 c c c }
+ \relative { c'4 c c c }
\\
\override MultiMeasureRest.staff-position = #-8
{ R1 }
delle travature. Ecco un esempio in cui una legatura di frase
e una legatura di portamento collidono:
-@lilypond[quote,verbatim,fragment,ragged-right,relative=2]
-a8 \( ( a'16 ) a \)
+@lilypond[quote,verbatim,ragged-right]
+\relative { a'8 \( ( a'16 ) a \) }
@end lilypond
@cindex PhrasingSlur, esempio di sovrascrittura
sceglierà la legatura di frase tra quelle candidate che hanno le
estremità più vicine a queste:
-@lilypond[quote,verbatim,fragment,ragged-right,relative=2]
+@lilypond[quote,verbatim,fragment,ragged-right]
\once \override PhrasingSlur.positions = #'(2.5 . 4.5)
-a8 \( ( a'16 ) a \)
+a'8 \( ( a''16 ) a'' \)
@end lilypond
È migliorato, ma perché non abbassare un po' l'estremità destra
@end lilypond
@noindent
-Come vedi, la sovrascrittura si applica anche alla prima voce della seconda
-misura di otto note, ma a nessuna delle travature nella seconda voce.
+Come vedi, la sovrascrittura si applica anche alla seconda voce della seconda
+misura di otto note, ma a nessuna delle travature nella prima voce, nemmeno
+in quelle della seconda misura. Appena la sovrascrittura non è più attiva,
+deve essere ripristinato, come si vede.
@node La proprietà force-hshift
@unnumberedsubsubsec La proprietà @code{force-hshift}
lasciato così:
@lilypond[quote,verbatim,fragment,ragged-right]
-\new Staff \relative c'' {
+\new Staff \relative {
\key aes \major
<<
- { c2 aes4. bes8 }
+ { c''2 aes4. bes8 }
\\
{ <ees, c>2 des }
\\
@noindent
La nota interna del primo accordo (ovvero il La bemolle della quarta
voce) non deve essere allontanata dalla colonna della nota più
-alta. Potremmo pensare di correggerlo con @code{\shiftOff}, ma ciò
-causerebbe degli avvertimenti relativi alla collisione di note. Impostiamo
-invece @code{force-hshift}, una proprietà di @code{NoteColumn}, su zero.
+alta, quindi usiamo @code{\shiftOff}.
Nel secondo accordo preferiamo che il Fa sia allineato al La bemolle e che
la nota più grave sia posizionata leggermente più a destra, in modo da
@cindex force-hshift, esempio
@lilypond[quote,verbatim,fragment,ragged-right]
-\new Staff \relative c'' {
+\new Staff \relative {
\key aes \major
<<
- { c2 aes4. bes8 }
+ { c''2 aes4. bes8 }
\\
- { <ees, c>2 \once \override NoteColumn.force-hshift =
- 0.5 des }
+ { <ees, c>2 \once \override NoteColumn.force-hshift = 0.5 des }
\\
\\
- { \once \override NoteColumn.force-hshift = 0 aes'2
- \once \override NoteColumn.force-hshift = 0 f4 fes }
+ { \once \shiftOff aes'2 \once \shiftOff f4 fes }
>> |
<c ees aes c>1 |
}
@c This example should not be indexed
@c line-width ensures no break
@lilypond[quote,ragged-right,line-width=6\in]
-rhMusic = \relative c'' {
+rhMusic = \relative {
\new Voice {
- r2 c4.\( g8 |
+ r2 c''4.\( g8 |
\once \override Tie.staff-position = #3.5
bes1~ |
\bar "||"
\time 6/4
\mergeDifferentlyHeadedOn
\mergeDifferentlyDottedOn
- bes2.^\markup { \bold "Moderato" } r8
+ bes2.\tempo "Moderato" r8
<<
{ c,8 d fis bes a }
\new Voice {
}
}
-lhMusic = \relative c' {
- r2 <c g ees>2( |
+lhMusic = \relative {
+ r2 <c' g ees>2( |
<d g, d>1)\arpeggio |
r2. d,,4 r4 r |
r4
@c line-width ensures no break
@lilypond[quote,verbatim,ragged-right,line-width=6\in]
-rhMusic = \relative c'' {
+rhMusic = \relative {
\new Voice {
- r2 c4. g8 |
+ r2 c''4. g8 |
bes1~ |
\time 6/4
bes2. r8
}
}
-lhMusic = \relative c' {
- r2 <c g ees>2 |
+lhMusic = \relative {
+ r2 <c' g ees>2 |
<d g, d>1 |
r2. d,,4 r4 r |
r4
@c line-width ensures no break
@lilypond[quote,verbatim,ragged-right,line-width=6\in]
-rhMusic = \relative c'' {
+rhMusic = \relative {
\new Voice {
- r2 c4.\( g8 |
+ r2 c''4.\( g8 |
bes1~ |
\time 6/4
bes2. r8
}
}
-lhMusic = \relative c' {
- r2 <c g ees>2( |
+lhMusic = \relative {
+ r2 <c' g ees>2( |
<d g, d>1) |
r2. d,,4 r4 r |
r4
@c line-width ensures no break
@lilypond[quote,verbatim,ragged-right,line-width=6\in]
-rhMusic = \relative c'' {
+rhMusic = \relative {
\new Voice {
- r2 c4.\( g8 |
+ r2 c''4.\( g8 |
\once \override Tie.staff-position = #3.5
bes1~ |
\bar "||"
}
}
-lhMusic = \relative c' {
- r2 <c g ees>2( |
+lhMusic = \relative {
+ r2 <c' g ees>2( |
<d g, d>1)\arpeggio |
r2. d,,4 r4 r |
r4
@end lilypond
Proseguiamo con la terza battuta e l'inizio della sezione del Moderato. Nel
-tutorial abbiamo visto come aggiungere del testo in grassetto tramite il
-comando @code{\markup}, quindi aggiungere @qq{Moderato} in grassetto è
-facile. Ma come facciamo 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} (@emph{merge}) nell'indice della
-guida ci porta rapidamente al paragrafo @ruser{Collision resolution}, dove
+tutorial abbiamo visto come aggiungere un'indicazione di tempo col comando
+@code{\tempo}, quindi aggiungere @qq{Moderato} è facile. Ma come facciamo
+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
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
@c line-width ensures no break
@lilypond[quote,ragged-right,line-width=6\in]
-rhMusic = \relative c'' {
+rhMusic = \relative {
\new Voice {
- r2 c4.\( g8 |
+ r2 c''4.\( g8 |
\once \override Tie.staff-position = #3.5
bes1~ |
\bar "||"
\time 6/4
- bes2.^\markup { \bold "Moderato" } r8
+ bes2.\tempo "Moderato" r8
\mergeDifferentlyHeadedOn
\mergeDifferentlyDottedOn
% Inizia la sezione polifonica a quattro voci
}
}
-lhMusic = \relative c' {
- r2 <c g ees>2( |
+lhMusic = \relative {
+ r2 <c' g ees>2( |
<d g, d>1)\arpeggio |
r2. d,,4 r4 r |
r4
@c line-width ensures no break
@lilypond[quote,verbatim,ragged-right,line-width=6\in]
-rhMusic = \relative c'' {
+rhMusic = \relative {
\new Voice {
- r2 c4.\( g8 |
+ r2 c''4.\( g8 |
\once \override Tie.staff-position = #3.5
bes1~ |
\bar "||"
\time 6/4
- bes2.^\markup { \bold "Moderato" } r8
+ bes2.\tempo "Moderato" r8
\mergeDifferentlyHeadedOn
\mergeDifferentlyDottedOn
% Inizia la sezione polifonica a quattro voci
}
}
-lhMusic = \relative c' {
- r2 <c g ees>2( |
+lhMusic = \relative {
+ r2 <c' g ees>2( |
<d g, d>1)\arpeggio |
r2. d,,4 r4 r |
r4
@c line-width ensures no break
@lilypond[quote,verbatim,ragged-right,line-width=6\in]
-rhMusic = \relative c'' {
+rhMusic = \relative {
\new Voice {
- r2 c4.\( g8 |
+ r2 c''4.\( g8 |
\once \override Tie.staff-position = #3.5
bes1~ |
\bar "||"
}
}
-lhMusic = \relative c' {
- r2 <c g ees>2( |
+lhMusic = \relative {
+ r2 <c' g ees>2( |
<d g, d>1)\arpeggio |
r2. d,,4 r4 r |
r4
* Simulare una corona nel MIDI::
@end menu
-
-@cindex proprietà transparent, uso della
-@cindex oggetti, renderli invisibili
-@cindex togliere gli oggetti
-@cindex oggetti, toglierli
-@cindex nascondere gli oggetti
-@cindex oggetti, nascondere
-@cindex oggetti invisibili
-@cindex legature di valore tra note di voci diverse
+@cindex rimuovere gli oggetti
+@cindex oggetti, rimuoverli
@node Legature di valore tra note di voci diverse
@unnumberedsubsubsec Legature di valore tra note di voci diverse
@translationof Tying notes across voices
+@cindex legature di valore tra note di voci diverse
+
L'esempio seguente mostra come unire con legature di valore
note appartenenti a voci diverse. Di norma, solo le note nella
stessa voce possono essere unite da una legatura di valore.
Se si usano due voci con le note legate in una voce
-@lilypond[quote,fragment,relative=2]
-<< { b8~ 8\noBeam } \\ { b8[ g] } >>
+@lilypond[quote]
+<< { b'8~ 8\noBeam } \\ { b'8[ g'] } >>
@end lilypond
@noindent
-e si cancella il primo gambo di quella voce, la legatura sembra
+e si toglie il primo gambo di quella voce e la sua coda, la legatura sembra
attraversare le voci:
-@cindex Stem, esempio di sovrascrittura
-@cindex proprietà transparent, esempio
-@cindex transparent, esempio
-
-@lilypond[quote,fragment,relative=2,verbatim]
-<<
- {
- \tweak Stem.transparent ##t
- b8~ 8\noBeam
- }
-\\
- { b8[ g] }
->>
-@end lilypond
-
-Per far sì che il gambo cancellato non schiacci troppo la legatura,
-possiamo allungarlo impostando la proprietà
-@code{length} su @code{8},
+@cindex Stem, esempio di rimozione
+@cindex Flag, esempio di rimozione
+@cindex @code{\omit}, esempio
-@lilypond[quote,fragment,relative=2,verbatim]
-<<
- {
- \tweak Stem.transparent ##t
- \tweak Stem.length #8
- b8~ 8\noBeam
- }
-\\
- { b8[ g] }
->>
-@end lilypond
-
-@funindex \single
-@cindex tweak, generato da un override
-
-Per @emph{sovrascrivere} (con @code{\override}) la trasparenza di un oggetto
-grafico, avremmo potuto usare la scorciatoia @code{\hide}, come spiegato
-in precedenza. Ma la modifica manuale con @emph{\tweak} è un'operazione
-diversa, che riguarda solo le proprietà generate da una singola espressione
-musicale. Tuttavia è possibile convertire le sovrascritture in @emph{tweak}
-usando @code{\single}. Questo ci permette di riscrivere l'esempio precedente
-in questo modo
-
-@lilypond[quote,fragment,relative=2,verbatim]
+@lilypond[quote,verbatim]
<<
{
- \single \hide Stem
- \single \hide Flag
- \tweak Stem.length #8
- b8~ 8\noBeam
+ \once \omit Stem
+ \once \omit Flag
+ b'8~ 8\noBeam
}
\\
- { b8[ g] }
+ { b'8[ g'] }
>>
@end lilypond
-In questo caso particolare, la differenza rispetto a @code{\once \hide} non
-è evidente. La differenza è evidente quando ci sono vari oggetti che
-si trovano nello stesso punto del tempo musicale (come le teste delle note
-in un accordo). In quel caso, @code{\once} avrà effetto su tutti quegli
-oggetti mentre @code{\single} solo su uno, ovvero quello generato
-dall'espressione musicale immediatamente seguente.
+@seealso
+Manuale di apprendimento:
+@ref{The once prefix,,Il prefisso @code{@bs{}once}},
+@ref{The stencil property}.
@node Simulare una corona nel MIDI
@lilypond[quote,verbatim,ragged-right]
\score {
- \relative c'' {
+ \relative {
% Indicazione di tempo visibile
\tempo 4=120
- a4 a a
+ a'4 a a
\once \hide Score.MetronomeMark
% Indicazione di tempo invisibile per allungare la fermata nel MIDI
\tempo 4=80
@lilypond[quote,verbatim,ragged-right]
\score {
- \relative c'' {
+ \relative {
% Indicazione di tempo visibile
\tempo 4=120
- a4 a a
+ a'4 a a
\once \omit Score.MetronomeMark
% Indicazione di tempo invisibile per allungare la fermata nel MIDI
\tempo 4=80
global = { \key c \major \time 4/4 \partial 4 }
-SopranoMusic = \relative c' { c4 | e4. e8 g4 g | a4 a g }
-AltoMusic = \relative c' { c4 | c4. c8 e4 e | f4 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 }
+SopranoMusic = \relative { c'4 | e4. e8 g4 g | a4 a g }
+AltoMusic = \relative { c'4 | c4. c8 e4 e | f4 f e }
+TenorMusic = \relative { e4 | g4. g8 c4. b8 | a8 b c d e4 }
+BassMusic = \relative { c4 | c4. c8 c4 c | f8 g a b c4 }
VerseOne = \lyrics {
E -- | ter -- nal \emphasize Fa -- ther, | \normal strong to save,
inst =
#(define-music-function
- (parser location string)
+ (string)
(string?)
#{ <>^\markup \bold \box #string #})
-\relative c'' {
+\relative {
\tempo 4=50
- a4.\mpdolce d8 cis4--\glissando a |
+ a'4.\mpdolce d8 cis4--\glissando a |
b4 bes a2 |
\inst "Clarinet"
cis4.\< d8 e4 fis |
inst =
#(define-music-function
- (parser location string)
+ (string)
(string?)
#@{ <>^\markup \bold \box #string #@})
@end example
@example
\include "definitions.ily"
-\relative c'' @{
+\relative @{
\tempo 4=50
- a4.\mpdolce d8 cis4--\glissando a |
+ a'4.\mpdolce d8 cis4--\glissando a |
b4 bes a2 |
\inst "Clarinet"
cis4.\< d8 e4 fis |
inst =
#(define-music-function
- (parser location string)
+ (string)
(string?)
#{ <>^\markup \bold \box #string #})
-\relative c'' {
+\relative {
\tempo 4=50
- a4.\mpdolce d8 cis4--\glissando a |
+ a'4.\mpdolce d8 cis4--\glissando a |
b4 bes a2 |
\inst "Clarinet"
cis4.\< d8 e4 fis |
inst =
#(define-music-function
- (parser location string)
+ (string)
(string?)
#@{ <>^\markup \bold \box #string #@})
inst =
#(define-music-function
- (parser location string)
+ (string)
(string?)
#{ <>^\markup \bold \box #string #})
}
}
-\relative c'' {
+\relative {
\tempo 4=50
- a4.\mpdolce d8 cis4--\glissando a |
+ a'4.\mpdolce d8 cis4--\glissando a |
b4 bes a2 |
\inst "Clarinet"
cis4.\< d8 e4 fis |
inst =
#(define-music-function
- (parser location string)
+ (string)
(string?)
#@{ <>^\markup \bold \box #string #@})
inst =
#(define-music-function
- (parser location string)
+ (string)
(string?)
#{ <>^\markup \bold \box #string #})
}
}
-\relative c'' {
+\relative {
\tempo 4=50
- a4.\mpdolce d8 cis4--\glissando a |
+ a'4.\mpdolce d8 cis4--\glissando a |
b4 bes a2 |
\inst "Clarinet"
cis4.\< d8 e4 fis |
Apri @file{ly/property-init.ly} in un editor di testo. Quello
che usi normalmente per i file @code{.ly} va bene. Questo file
contiene le definizioni di tutti i comandi predefiniti standard
-di LilyPond, come @code{\stemUp} e @code{\slurDotted}. Vedrai
+di LilyPond, come @code{\tieUp} e @code{\slurDotted}. Vedrai
che questi non sono altro che definizioni di variabili che
contengono uno o più comandi @code{\override}. Ad esempio,
-@code{/tieDotted} è definito così:
+@code{\tieDotted} è definito così:
@example
tieDotted = @{
((0) (x11-color 'violet )) ; for B
)))
-\relative c' {
+\relative {
% Fa sì che il colore sia preso dalla procedura color-notehead
\override NoteHead.color = #color-notehead
a2 b | c2 d | e2 f | g2 a |