[ < ] [ > ]   [ << ] [ Su ] [ >> ]         [Inizio] [Contenuti] [Indice] [ ? ]

5.4 Proprietà e concetti utili

@translationof Useful concepts and properties


[ < ] [ > ]   [ << ] [ Su ] [ >> ]         [Inizio] [Contenuti] [Indice] [ ? ]

5.4.1 Modalità di inserimento

@translationof Input modes

Il modo in cui la notazione contenuta in un file di input è interpretata è determinato dalla modalità di inserimento corrente. In generale, esistono due modi di specificare la modalità: una forma lunga, come \chordmode, e una breve, come \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.

Modalità accordo

Viene attivata col comando \chordmode e fa sì che l’input sia interpretato con la sintassi della notazione degli accordi, vedi Notazione per accordi. La musica in modalità accordo viene elaborata come accordi su un rigo se inserita in un contesto Staff, come nomi di accordo se inserita in un contesto ChordNames oppure come diagrammi della tastiera se inserita in un contesto FretBoards.

La modalità accordo viene attivata anche col comando \chords. 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 ChordNames e elabora l’input al suo interno come nomi di accordo, vedi Stampa dei nomi degli accordi.

Modalità percussioni

Viene attivata col comando \drummode e fa sì che l’input sia interpretato con la sintassi della notazione delle percussioni, vedi Notazione di base per percussioni. La musica in modalità percussioni è elaborata come note percussive se inserita in un contesto DrumStaff.

La modalità percussioni viene attivata anche col comando \drums. 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 DrumStaff e elabora l’input come note percussive, vedi Notazione di base per percussioni.

Modalità basso continuo

Viene attivata col comando \figuremode e fa sì che l’input che segue sia interpretato con la sintassi del basso continuo, vedi Inserimento del basso continuo. La musica in modalità basso continuo viene elaborata come basso continuo se inserita in un contesto FiguredBass o in un contesto Staff.

La modalità basso continuo viene attivata anche col comando \figures. 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 FiguredBass e elabora l’input al suo interno come basso figurato, vedi Introduzione al basso continuo.

Modalità tastiera e intavolatura

Non esistono speciali modalità di inserimento per i simboli della tastiera e dell’intavolatura (o tablatura).

Per creare diagrammi in intavolatura, inserire note o accordi nella modalità nota e visualizzarli in un contesto TabStaff, vedi Intavolature predefinite.

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 FretBoards, vedi Diagrammi dei tasti automatici. Altrimenti i diagrammi possono essere inseriti come testo (markup) sopra le note usando il comando \fret-diagram, vedi Diagrammi dei tasti.

Modalità testo vocale

Viene attivata col comando \lyricmode e fa sì che l’input sia interpretato come sillabe del testo vocale con durate opzionali e modificatori del testo associato, vedi Musica vocale. L’input in modalità testo vocale viene elaborato come sillabe del testo se inserite in un contesto Lyrics.

La modalità testo vocale viene attivata anche col comando \lyrics. Anche questo fa sì che l’input che segue sia interpretato come sillabe del testo ma in aggiunta crea implicitamente un nuovo contesto Lyrics e elabora l’input al suo interno come sillabe.

La modalità testo vocale viene attivata anche col comando \addlyrics. Anche questo crea implicitamente un nuovo contesto Lyrics e aggiunge anche un comando implicito \lyricsto che associa il testo vocale che segue con la musica che lo precede, vedi Durate automatiche delle sillabe..

Modalità testo (markup)

Viene attivata col comando \markup e fa sì che l’input sia interpretato con la sintassi di markup, vedi Comandi per markup.

Modalità nota

Questa è la modalità predefinita e può essere attivata esplicitamente col comando \notemode. L’input viene interpretato come altezze, durate, markup, etc. e rappresentato come notazione musicale su un rigo.

Normalmente non è necessario specificare la modalità nota esplicitamente, ma potrebbe essere utile farlo in alcune situazioni, per esempio se si è in modalità testo vocale o accordo o qualsiasi altra modalità e si vuole inserire qualcosa che può essere fatto solo con la sintassi della modalità nota.


[ < ] [ > ]   [ << ] [ Su ] [ >> ]         [Inizio] [Contenuti] [Indice] [ ? ]

5.4.2 Direzione e posizionamento

@translationof Direction and placement

Nella composizione tipografica musicale la direzione e il posizionamento di molti elementi è una questione di gusto. Per esempio, i gambi delle note possono essere rivolti in su o in giù; testi, dinamiche e altri segni espressivi possono essere posti sopra o sotto il rigo; il testo può essere allineato a sinistra, destra o al centro; etc. La maggior parte di queste scelte possono essere lasciate alla decisione di LilyPond, ma in alcuni casi si può voler forzare una direzione o un posizionamento particolari.


[ < ] [ > ]   [ << ] [ Su ] [ >> ]         [Inizio] [Contenuti] [Indice] [ ? ]

Indicatori di direzione delle articolazioni

@translationof Articulation direction indicators

Per impostazione predefinita alcune direzioni sono sempre in su o sempre in giù (es: le dinamiche o la corona), mentre altri elementi possono alternare tra su e giù in base alla direzione del gambo (come le legature di portamento o gli accenti).

L’azione predefinita può essere modificata anteponendo all’articolazione un indicatore di direzione. Sono disponbibili tre indicatori di direzione: ^ (ovvero “su”), _ (ovvero “giù”) e - (ovvero “usa la direzione predefinita”). L’indicatore di direzione solitamente può essere omesso, nel qual caso viene supposto -, ma un indicatore di direzione è sempre richiesto prima di

Gli indicatori di direzione hanno effetto soltanto sulla nota vicina:

 
\relative {
  c''2( c)
  c2_( c)
  c2( c)
  c2^( c)
}

[image of music]


[ < ] [ > ]   [ << ] [ Su ] [ >> ]         [Inizio] [Contenuti] [Indice] [ ? ]

La proprietà direction

@translationof The direction property

La posizione della direzione di molti oggetti della formattazione è regolata dalla proprietà direction.

Il valore della proprietà direction può essere impostata su 1, ovvero “su” o “sopra”, oppure su -1, ovvero “giù” o “sotto”. I simboli UP e DOWN possono essere usati al posto di 1 e -1. La direzione predefinita può essere specificata impostando direction su 0 o CENTER. Altrimenti, in molti casi esistono comandi predefiniti per specificare la direzione. Questo hanno la forma

 
\xxxUp, \xxxDown o \xxxNeutral

dove \xxxNeutral significa “usa la direzione predefinita”. Vedi (learning)Oggetti interni al rigo section ‘Oggetti interni al rigo’ in Manuale di Apprendimento.

In pochi casi, per esempio l’arpeggio, il valore della proprietà direction può specificare se l’oggetto debba essere posizionato a destra o a sinistra dell’oggetto genitore. In questo caso -1 o LEFT significano “a sinistra” e 1 o RIGHT significano “a destra”. 0 o CENTER significano “usa la direzione predefinita”.

Queste indicazioni hanno effetto su tutte le note finché non vengono annullate.

 
\relative {
  c''2( c)
  \slurDown
  c2( c)
  c2( c)
  \slurNeutral
  c2( c)
}

[image of music]

Nella musica polifonica, generalmente è meglio specificare una voce esplicita invece di cambiare la direzione di un oggetto. Maggiori informazioni in Più voci.

Vedi anche

Manuale di apprendimento: (learning)Oggetti interni al rigo section ‘Oggetti interni al rigo’ in Manuale di Apprendimento.

Guida alla notazione: Più voci.


[ < ] [ > ]   [ << ] [ Su ] [ >> ]         [Inizio] [Contenuti] [Indice] [ ? ]

5.4.3 Distanze e misurazioni

@translationof Distances and measurements

Le distanze in LilyPond sono di due tipi: assolute e proporzionali.

Le distanze assolute si usano per specificare i margini, le indentazioni e altri dettagli della formattazione di pagina; per impostazione predefinita sono specificate in millimetri. Le distanze possono essere specificate in altre unità di misura appendendo alla quantità \mm, \cm, \in (inch, ovvero pollici) o \pt (punti, 1/72.27 di un pollice). Le distanze della formattazione di pagina possono essere specificate anche in unità di misura proporzionali (vedi paragrafo seguente) appendendo \staff-space alla quantità. La formattazione di pagina è trattata dettagliatamente in Formattazione della pagina.

Le distanze proporzionali sono sempre specificate in unità di spazi rigo o, raramente, mezzo spazio rigo. Lo spazio rigo è la distanza tra due linee del rigo adiacenti. Il valore predfinito può essere modificato globalmente impostando la dimensione globale del rigo oppure può essere sovrascritto localmente cambiando la proprietà staff-space di StaffSymbol. Le distanze proporzionali vengono ridimensionate automaticamente insieme a qualsiasi cambiamento nella dimensione globale del rigo o nella proprietà staff-space di StaffSymbol, mentre i tipi di carattere vengono ridimensionati automaticamente soltanto con i cambiamenti alla dimensione globale del rigo. Questa permette quindi di variare facilmente la dimensione complessiva di una partitura. I metodi per impostare la dimensione globale del rigo sono descritti in Impostare la dimensione del rigo.

Se soltanto una sezione di una partitura deve essere elaborata su una scala diversa, per esempio una sezione ossia o una nota a piè di pagina, non si può cambiare la dimensione globale del rigo perché ciò avrebbe effetto sull’intera partitura. In questi casi bisogna modificare sia la proprietà staff-space di StaffSymbol sia la dimensione dei tipi di carattere. Esiste una funzione Scheme, magstep, che permette di convertire una modifica della dimensione del tipo di carattere nella modifica equivalente in staff-space. Questa funzione è spiegata e esemplificata in (learning)Lunghezza e spessore degli oggetti section ‘Lunghezza e spessore degli oggetti’ in Manuale di Apprendimento.

Vedi anche

Manuale di apprendimento: (learning)Lunghezza e spessore degli oggetti section ‘Lunghezza e spessore degli oggetti’ in Manuale di Apprendimento.

Guida alla notazione: Formattazione della pagina, Impostare la dimensione del rigo.


[ < ] [ > ]   [ << ] [ Su ] [ >> ]         [Inizio] [Contenuti] [Indice] [ ? ]

5.4.4 Dimensioni

@translationof Dimensions

Le dimensioni di un oggetto grafico specificano le posizioni delle estremità sinistra e destra e di quelle inferiore e superiore del riquadro in cui sono iscritti gli oggetti come distanze dal punto di riferimento degli oggetti in unità di spazi rigo. Queste posizioni sono solitamente scritte come due coppie Scheme. Per esempio, il comando di testo \with-dimensions prende tre argomenti: i primi due sono una coppia Scheme che indica le posizioni delle estremità sinistra e destra e un’altra coppia Scheme che indica le posizioni delle estremità inferiore e superiore:

 
\with-dimensions #'(-5 . 10) #'(-3 . 15) arg

Questo comando specifica un riquadro per arg il cui margine sinistro si trova a -5, il margine destro a 10, il margine inferiore a -3 e quello superiore a 15, tutti misurati a partire dal punto di riferimento degli oggetti in unità di spazi rigo.

Vedi anche

Guida alla notazione: Distanze e misurazioni.


[ < ] [ > ]   [ << ] [ Su ] [ >> ]         [Inizio] [Contenuti] [Indice] [ ? ]

5.4.5 Proprietà del simbolo del rigo

@translationof Staff symbol properties

La posizione verticale e il numero delle linee del rigo possono essere definiti contemporaneamente. Come mostra l’esempio seguente, le posizioni delle note non sono influenzate dalle posizioni delle linee del rigo.

Nota: La proprietà 'line-positions sovrascrive la proprietà 'line-count. Il numero di linee del rigo è definito implicitamente dal numero di elementi nella lista di valori per 'line-positions.

 
\new Staff \with {
  \override StaffSymbol.line-positions = #'(7 3 0 -4 -6 -7)
}
\relative { a4 e' f b | d1 }

[image of music]

La larghezza di un rigo può essere modificata. Le unità sono spazi rigo. La spaziatura degli oggetti dentro il rigo non è influenzata da questa impostazione.

 
\new Staff \with {
  \override StaffSymbol.width = #23
}
\relative { a4 e' f b | d1 }

[image of music]


[ < ] [ > ]   [ << ] [ Su ] [ >> ]         [Inizio] [Contenuti] [Indice] [ ? ]

5.4.6 Estensori

@translationof Spanners

Molti oggetti della notazione musicale si estendono per varie note o addirittura per molte battute. Ne sono un esempio le legature di portamento, le travature, le parentesi dei gruppi irregolari, quelle delle volte delle ripetizioni, i crescendi, i trilli e i glissandi. Tali oggetti in LilyPond si chiamano “spanner”, ovvero estensori, e hanno delle proprietà speciali per regolare il loro aspetto e comportamento. Alcune di queste proprietà sono comuni a tutti gli estensori; altre sono limitate a un sottoinsieme di estensori.

Tutti gli estensori supportano l’interfaccia spanner-interface. Ma pochi, essenzialmente quelli che disegnano una linea dritta tra due oggetti, supportano anche l’interfaccia line-spanner-interface.


[ < ] [ > ]   [ << ] [ Su ] [ >> ]         [Inizio] [Contenuti] [Indice] [ ? ]

Uso di spanner-interface

@translationof Using the spanner-interface

Questa interfaccia fornisce due proprietà che si applicano a vari estensori.

La proprietà minimum-length

La lunghezza minima dell’estensore è specificata dalla proprietà minimum-length. Aumentando questa si aumenta necessariamente anche la spaziatura delle note comprese tra le due estremità. Tuttavia questa modifica non ha effetto su molti estensori, perché la loro lunghezza è determinata da altre considerazioni. Di seguito vengono mostrati alcuni esempi in cui è in funzione.

 
a'~ a'
a'
% aumenta la lunghezza della legatura di valore
-\tweak minimum-length #5
~ a'

[image of music]

 
\relative \compressMMRests {
  a'1
  R1*23
  % aumenta la lunghezza della misura con pausa
  \once \override MultiMeasureRest.minimum-length = #20
  R1*23
  a1
}

[image of music]

 
\relative {
  a' \< a a a \!
  % aumenta la lunghezza della forcella
  \override Hairpin.minimum-length = #20
  a \< a a a \!
}

[image of music]

Questa modifica può essere usata anche per aumentare la lunghezza delle legature di portamento e di frase:

 
\relative {
  a'( g)
  a
  -\tweak minimum-length #5
  ( g)

  a\( g\)
  a
  -\tweak minimum-length #5
  \( g\)
}

[image of music]

Per alcuni oggetti della formattazione, la proprietà minimum-length diventa effettiva solo se viene richiamata esplicitamente la procedura set-spacing-rods. Per farlo, la proprietà springs-and-rods deve essere impostata su ly:spanner::set-spacing-rods. Per esempio, la lunghezza minima di un glissando cambia solo quando si imposta la proprietà springs-and-rods:

 
% default
e' \glissando c''

% non funziona da sola
\once \override Glissando.minimum-length = #20
e' \glissando c''

% funziona solo quando entrambe le modifiche sono presenti
\once \override Glissando.minimum-length = #20
\once \override Glissando.springs-and-rods = #ly:spanner::set-spacing-rods
e' \glissando c''

[image of music]

Lo stesso vale per l’oggetto Beam:

 
% non funziona da sola
\once \override Beam.minimum-length = #20
e'8 e' e' e'

% funziona solo quando entrambe le modifiche sono presenti
\once \override Beam.minimum-length = #20
\once \override Beam.springs-and-rods = #ly:spanner::set-spacing-rods
e'8 e' e' e'

[image of music]

La proprietà to-barline

La seconda proprietà utile di spanner-interface è to-barline. Il valore predefinito (vero) fa sì che le forcelle e gli altri estensori che terminano sulla prima nota di una misura si estendano invece fino alla stanghetta immediatamente precedente. Se impostata su falso, l’estensore andrà oltre la stanghetta e terminerà sulla nota stessa:

 
\relative {
  a' \< a a a a \! a a a \break
  \override Hairpin.to-barline = ##f
  a \< a a a a \! a a a
}

[image of music]

Questa proprietà non funziona con tutti gli estensori. Per esempio, impostandola su #t non si produce alcun effetto su legature di portamento o di frase, o su altri estensori per i quali terminare sulla stanghetta non avrebbe senso.


[ < ] [ > ]   [ << ] [ Su ] [ >> ]         [Inizio] [Contenuti] [Indice] [ ? ]

Uso di line-spanner-interface

@translationof Using the line-spanner-interface

Gli oggetti che supportano l’interfaccia line-spanner-interface comprendono:

La routine responsabile del disegno di questi estensori è ly:line-spanner::print. Essa determina la posizione esatta delle due estremità e disegna una linea tra di esse, nello stile richiesto. Le posizioni delle due estremità dell’estensore sono calcolate al volo, ma è possibile sovrascrivere le loro coordinate Y. Le proprietà da specificare sono annidate di due livelli nella gerarchia della proprietà, ma la sintassi del comando \override è piuttosto semplice:

 
e''2 \glissando b'
\once \override Glissando.bound-details.left.Y = #3
\once \override Glissando.bound-details.right.Y = #-2
e''2 \glissando b'

[image of music]

Le unità di misura della proprietà Y sono gli spazi rigo (staff-space), con la linea centrale del rigo che è il punto zero. Per il glissando, questo è il valore per Y alla coordinata X che corrisponde al punto centrale della testa di ogni nota, se si immagina che la linea si estenda fino a là.

Se Y non è impostato, il valore viene calcolato dalla posizione verticale del punto di attacco corrispondente dell’estensore.

In caso di un’interruzione di linea, i valori per le estremità sono specificati dalle sottoliste left-broken e right-broken di bound-details. Per esempio:

 
\override Glissando.breakable = ##t
\override Glissando.bound-details.right-broken.Y = #-3
c''1 \glissando \break
f''1

[image of music]

Altre proprietà delle sottoliste left e right della proprietà bound-details possono essere modificate nello stesso modo di Y:

Y

Questa imposta la coordinata Y dell’estremità, che si sposta di un certo numero di staff-space dalla linea centrale del rigo. Per impostazione predefinita, è il centro dell’oggetto a cui è associato, dunque un glissando punta al centro verticale della testa di nota.

Nel caso di estensori orizzontali, come quelli del testo e del trillo, il suo valore è fisso su 0.

attach-dir

Questa determina dove la linea inizia e termina nella direzione X, relativa all’oggetto a cui è associato. Quindi un valore di -1 (o LEFT) fa sì che la linea inizi/termini sul lato sinistro della testa della nota a cui è attaccata.

X

Questa è la coordinata X assoluta dell’estremità. Viene solitamente calcolata al volo e sovrascriverla produce solitamente un effetto poco utile.

stencil

Gli estensori della linea possono avere dei simboli all’inizio o alla fine, contenuti in questa sottoproprietà. Questa proprietà è per uso interno; si raccomanda di usare text al suo posto.

text

Questo è un testo markup che viene valutato per produrre lo stampo (stencil, in inglese). Viene usato per mettere cresc., tr e altro testo su estensori orizzontali.

 
\override TextSpanner.bound-details.left.text
   = \markup { \small \bold Rall. }
\relative { c''2\startTextSpan b c a\stopTextSpan }

[image of music]

stencil-align-dir-y
stencil-offset

Se non si imposta una di queste proprietà, lo stampo viene messo semplicemente all’estremità, centrato sulla linea, come definito nelle sottoproprietà X e Y. Impostando stencil-align-dir-y o stencil-offset il simbolo si sposterà verticalmente sul margine rispetto all’estremità della linea:

 
\override TextSpanner.bound-details.left.stencil-align-dir-y = #-2
\override TextSpanner.bound-details.right.stencil-align-dir-y = #UP

\override TextSpanner.bound-details.left.text = "ggg"
\override TextSpanner.bound-details.right.text = "hhh"

\relative { c'4^\startTextSpan c c c \stopTextSpan }

[image of music]

Nota bene che valori negativi spostano il testo in su, contrariamente a quanto si potrebbe pensare, perché un valore di -1 o DOWN fa sì che si allinei il margine inferiore del testo con la linea dell’estensore. Un valore di 1 o UP allinea il margine superiore del testo con la linea dell’estensore.

arrow

Impostando questa sottoproprietà su #t viene generata la punta di una freccia a un’estremità della linea.

padding

Questa sottoproprietà regola lo spazio tra l’estremità della linea specificata e la fine reale. Senza padding, un glissando inizia e termina nel centro della testa di ogni nota.

La funzione musicale \endSpanners termina prematuramente l’estensore che inizia nella nota immediatamente seguente. Viene terminato esattamente dopo una nota o alla stanghetta seguente se to-barline è impostato su vero e c’è una stanghetta prima della nota successiva.

 
\relative c'' {
  \endSpanners
  c2 \startTextSpan c2 c2
  \endSpanners
  c2 \< c2 c2
}

[image of music]

Quando si usa \endSpanners non è necessario chiudere \startTextSpan con \stopTextSpan, né è necessario chiudere le forcelle con \!.

Vedi anche

Guida al funzionamento interno: (internals)TextSpanner section ‘TextSpanner’ in Guida al Funzionamento Interno, (internals)Glissando section ‘Glissando’ in Guida al Funzionamento Interno, (internals)VoiceFollower section ‘VoiceFollower’ in Guida al Funzionamento Interno, (internals)TrillSpanner section ‘TrillSpanner’ in Guida al Funzionamento Interno, (internals)line-spanner-interface section ‘line-spanner-interface’ in Guida al Funzionamento Interno.


[ < ] [ > ]   [ << ] [ Su ] [ >> ]         [Inizio] [Contenuti] [Indice] [ ? ]

5.4.7 Visibilità degli oggetti

@translationof Visibility of objects

Esistono quattro modi principali per regolare la visibilità degli oggetti della formattazione: si può togliere il loro stampo, possono essere resi trasparenti, possono essere colorati di bianco o si può sovrascrivere la loro proprietà break-visibility. Le prime tre sono valide per tutti gli oggetti della formattazione; l’ultimo solo per alcuni, gli oggetti che possono essere interrotti, o spezzati, (break, in inglese). Il Manuale di apprendimento contiene un’introduzione a queste quattro tecniche in (learning)Visibilità e colore degli oggetti section ‘Visibilità e colore degli oggetti’ in Manuale di Apprendimento.

Esistono anche altre tecniche che sono specifiche di alcuni oggetti della formattazione. Queste sono trattate in Considerazioni speciali.


[ < ] [ > ]   [ << ] [ Su ] [ >> ]         [Inizio] [Contenuti] [Indice] [ ? ]

Soppressione dello stampo

@translationof Removing the stencil

Tutti gli oggetti della formattazione hanno una proprietà stencil (in italiano, stampo). Per impostazione predefinita questa è impostata sulla funzione specifica che disegna quell’oggetto. Se questa proprietà viene sovrascritta e impostata su #f, non verrà richiamata alcuna funzione e l’oggetto non verrà disegnato. L’azione predefinita può essere ripristinata con \revert.

 
a1 a
\override Score.BarLine.stencil = ##f
a a
\revert Score.BarLine.stencil
a a a

[image of music]

Questa operazione piuttosto comune ha una scorciatoia, \omit:

 
a1 a
\omit Score.BarLine
a a
\undo \omit Score.BarLine
a a a

[image of music]


[ < ] [ > ]   [ << ] [ Su ] [ >> ]         [Inizio] [Contenuti] [Indice] [ ? ]

Rendere gli oggetti trasparenti

@translationof Making objects transparent

Tutti gli oggetti della formattazione hanno una proprietà transparent la cui impostazione predefinita è #f (falso). Se impostata su #t (vero), l’oggetto occupa sempre lo spazio ma è reso invisibile.

 
a'4 a'
\once \override NoteHead.transparent = ##t
a' a'

[image of music]

Questa operazione piuttosto comune ha una scorciatoia, \hide:

 
a'4 a'
\once \hide NoteHead
a' a'

[image of music]


[ < ] [ > ]   [ << ] [ Su ] [ >> ]         [Inizio] [Contenuti] [Indice] [ ? ]

Dipingere gli oggetti di bianco

@translationof Painting objects white

Tutti gli oggetti della formattazione hanno una proprietà del colore il cui valore predefinito è black (nero). Se questa viene sovrascritta con white (bianco) l’oggetto non sarà più distinguibile dallo sfondo. Tuttavia se l’oggetto attraversa altri oggetti, il colore dei punti di contatto saranno determinati dall’ordine in cui sono disegnati, e ciò potrebbe lasciare un’immagine “spettrale” dell’oggetto bianco, come mostrato qui:

 
\override Staff.Clef.color = #white
a'1

[image of music]

Ciò può essere evitato cambiando l’ordine di stampa degli oggetti. Tutti gli oggetti della formattazione hanno una proprietà layer (strato) che deve essere impostata su un numero intero. Gli oggetti col valore più basso di layer sono disegnati per primi, poi vengono disegnati quelli con valori via via più alti, dunque gli oggetti con valori più alti stanno sopra gli oggetti con valori più bassi. Per impostazione predefinita alla maggior parte degli oggetti viene assegnato un valore di layer pari a 1, sebbene ad alcuni oggetti, tra cui StaffSymbol e BarLine, sia assegnato un valore di 0. L’ordine con cui vengono stampati oggetti con lo stesso valore di layer è indeterminato.

Nell’esempio precedente la chiave bianca, con un valore predefinito di layer di 1, viene disegnato dopo le linee del rigo (il cui valore predefinito di layer è 0), dunque sta sopra di esse. Per cambiare tale comportamento, all’oggetto Clef deve essere assegnato un valore di layer inferiore, per esempio -1, in modo che venga disegnato prima:

 
\override Staff.Clef.color = #white
\override Staff.Clef.layer = #-1
a'1

[image of music]


[ < ] [ > ]   [ << ] [ Su ] [ >> ]         [Inizio] [Contenuti] [Indice] [ ? ]

Uso di break-visibility

@translationof Using break-visibility

La maggior parte degli oggetti della formattazione sono stampati una volta sola, ma alcuni come le stanghette, le chiavi, le indicazioni di tempo e le armature di chiave possono dover essere stampate due volte quando si verifica un’interruzione di linea – una volta al termine della linea e di nuovo all’inizio della linea successiva. Tali oggetti, chiamati spezzabili, (dall’inglese breakable) hanno una proprietà, break-visibility, per regolare la loro visibilità nelle tre posizioni in cui potrebbero apparire: all’inizio di una linea, in mezzo a una linea se vengono modificati e al termine di una linea se un cambiamento ha luogo lì.

Per esempio, l’indicazione di tempo viene stampata all’inizio della prima linea, ma da nessuna altra parte a meno che non cambi e allora verrà stampata nel punto in cui il cambiamento ha luogo. Se tale cambiamento si verifica al termine di una linea, la nuova indicazione di tempo verrà stampata all’inizio della linea successiva e un’indicazione di tempo di precauzione verrà stampata anche al termine della linea precedente.

Tale comportamento è regolato dalla proprietà break-visibility, che è spiegata in (learning)Visibilità e colore degli oggetti section ‘Visibilità e colore degli oggetti’ in Manuale di Apprendimento. Questa proprietà prende un vettore di tre valori booleani che, in ordine, determinano se l’oggetto è stampato al termine, in mezzo o all’inizio di una linea. O, per essere più precisi, prima di un’interruzione di linea, dove non c’è un’interruzione di linea oppure dopo un’interruzione di linea.

Altrimenti, queste otto combinazoni possono essere specificate da funzioni predefinite, definite in ‘scm/output-lib.scm’, dove le ultime tre colonne indicano se gli oggetti della formattazione saranno visibili nelle posizioni mostrate nell’intestazione delle colonne:

FunzioneFormaPrima diSenzaDopo
vettorialeinterruzioneinterruzioneinterruzione
all-visible#(#t #t #t)sìsìsì
begin-of-line-visible#(#f #f #t)nonosì
center-visible#(#f #t #f)nosìno
end-of-line-visible#(#t #f #f)sìnono
begin-of-line-invisible#(#t #t #f)sìsìno
center-invisible#(#t #f #t)sìnosì
end-of-line-invisible#(#f #t #t)nosìsì
all-invisible#(#f #f #f)nonono

Le impostazioni predefinite di break-visibility dipendono dall’oggetto della formattazione. La tabella seguente mostra tutti gli oggetti rilevanti che sono influenzati da break-visibility e l’impostazione predefinita di questa proprietà:

Oggetto formattazioneContesto abitualeImpostazione predefinita
BarLineScorecalcolato
BarNumberScorebegin-of-line-visible
BreathingSignVoicebegin-of-line-invisible
ClefStaffbegin-of-line-visible
CustosStaffend-of-line-visible
DoublePercentRepeatVoicebegin-of-line-invisible
KeyCancellationStaffbegin-of-line-invisible
KeySignatureStaffbegin-of-line-visible
ClefModifierStaffbegin-of-line-visible
RehearsalMarkScoreend-of-line-invisible
TimeSignatureStaffall-visible

L’esempio successivo mostra l’uso della forma vettoriale per regolare la visibilità delle stanghette:

 
\relative {
  f'4 g a b
  f4 g a b
  % Toglie la stanghetta al termine della linea corrente
  \once \override Score.BarLine.break-visibility = ##(#f #t #t)
  \break
  f4 g a b
  f4 g a b
}

[image of music]

Sebbene tutti i componenti del vettore usati per sovrascrivere break-visibility debbano essere presenti, non tutti sono funzionanti con qualsiasi oggetto della formattazione, e alcune combinazioni potrebbero perfino dare errore. Esistono le seguenti limitazioni:


[ < ] [ > ]   [ << ] [ Su ] [ >> ]         [Inizio] [Contenuti] [Indice] [ ? ]

Considerazioni speciali

@translationof Special considerations

Visibilità dopo un cambio esplicito

La proprietà break-visibility controlla la visibilità delle armature di chiave e dei cambi di chiave solo all’inizio delle linee, ovvero dopo un’interruzione di linea. Non ha effetto sulla visibilità dell’armatura di chiave o della chiave che seguono un cambio esplicito dell’armatura o della chiave all’interno o alla fine di una linea. Nell’esempio seguente l’armatura di chiave che segue il cambio esplicito a Si bemolle maggiore è ancora visibile, anche se all-invisible è impostata.

 
\relative {
  \key g \major
  f'4 g a b
  % Tentativo di eliminazione di tutte le armature di chiave
  \override Staff.KeySignature.break-visibility = #all-invisible
  \key bes \major
  f4 g a b
  \break
  f4 g a b
  f4 g a b
}

[image of music]

La visibilità di questi cambi espliciti di armatura e di chiave è controllata dalle proprietà explicitKeySignatureVisibility e explicitClefVisibility. Sono equivalenti alla proprietà break-visibility e prendono entrambe come argomento un vettore di tre booleani o le funzioni predefinite elencate prima, proprio come break-visibility. Entrambe le proprietà appartengono al contesto Staff, non agli oggetti della formattazione stessi, dunque si impostano col comando \set. La loro impostazione predefinita è all-visible. Queste proprietà regolano solo la visibilità di armature di chiave e chiavi risultanti da cambi espliciti e non quelli all’inizio delle linee; per eliminare questi ultimi bisogna sempre sovrascrivere break-visibility nell’oggetto appropriato.

 
\relative {
  \key g \major
  f'4 g a b
  \set Staff.explicitKeySignatureVisibility = #all-invisible
  \override Staff.KeySignature.break-visibility = #all-invisible
  \key bes \major
  f4 g a b \break
  f4 g a b
  f4 g a b
}

[image of music]

Visibilità dei bequadri

Per eliminare i bequadri stampati su un cambio di chiave esplicito, impostare la proprietà del contesto Staff printKeyCancellation su #f:

 
\relative {
  \key g \major
  f'4 g a b
  \set Staff.explicitKeySignatureVisibility = #all-invisible
  \set Staff.printKeyCancellation = ##f
  \override Staff.KeySignature.break-visibility = #all-invisible
  \key bes \major
  f4 g a b \break
  f4 g a b
  f4 g a b
}

[image of music]

Con queste modifiche restano solo le alterazioni accanto alle note per indicare il cambio di armatura.

Nota bene che quando si cambia l’armatura su Do maggiore o La minore i bequadri sono l’unica indicazione del cambio di chiave. In questo caso impostando printKeyCancellation su #f non si ottiene alcun effetto:

 
\relative {
  \key g \major
  f'4 g a b
  \set Staff.explicitKeySignatureVisibility = #all-invisible
  \set Staff.printKeyCancellation = ##f
  \key c \major
  f4 g a b \break
  f4 g a b
  f4 g a b
}

[image of music]

Per sopprimere i bequadri anche quando la tonalità passa a Do maggiore o La minore, sovrascrivere la visibilità del grob KeyCancellation:

 
\relative {
  \key g \major
  f'4 g a b
  \set Staff.explicitKeySignatureVisibility = #all-invisible
  \override Staff.KeyCancellation.break-visibility = #all-invisible
  \key c \major
  f4 g a b \break
  f4 g a b
  f4 g a b
}

[image of music]

Battute automatiche

In un caso particolare, la stampa delle stanghette può essere disattivata impostando la proprietà automaticBars nel contesto Score. Se impostata su #f, le stanghette non verranno stampate automaticamente; devono invece essere create esplicitamente con un comando \bar. Diversamente dal comando predefinito \cadenzaOn, le misure vengono comunque contate. La generazione delle battute riprenderà in base a quel conteggio se questa proprietà viene poi impostata su #t. Se impostata su #f, le interruzioni di linea possono trovarsi solo su comandi \bar espliciti.

Chiavi trasposte

Il piccolo simbolo di trasposizione sulle chiavi trasposte è prodotto dall’oggetto di formattazione ClefModifier. La sua visibilità è ereditata automaticamente dall’oggetto Clef, dunque non è necessario applicare una modifica di break-visibility agli oggetti ClefModifier per sopprimere i simboli di trasposizione per le chiavi invisibili.

Per cambi di chiave espliciti, la proprietà explicitClefVisibility regola sia il simbolo della chiave che qualsiasi simbolo di trasposizione ad esso associato.

Vedi anche

Manuale di apprendimento: (learning)Visibilità e colore degli oggetti section ‘Visibilità e colore degli oggetti’ in Manuale di Apprendimento.


[ < ] [ > ]   [ << ] [ Su ] [ >> ]         [Inizio] [Contenuti] [Indice] [ ? ]

5.4.8 Stili della linea

@translationof Line styles

Alcune indicazioni esecutive, come rallentando, accelerando e trilli sono scritte in forma testuale e sono estese per varie misure tramite delle linee, talvolta puntate o ondulate.

Queste usano tutte le stesse routine del glissando per disegnare i testi e le linee, dunque il loro comportamento viene modificato nello stesso modo. Viene fatto con un estensore, e la routine responsabile del disegno degli estensori è ly:line-spanner::print. Questa routine determina la posizione esatta dei due punti di estensione e disegna una linea tra loro, nello stile richiesto.

Ecco un esempio che mostra i vari stili di linea disponibili, e come impostarli..

 
\relative {
  d''2 \glissando d'2
  \once \override Glissando.style = #'dashed-line
  d,2 \glissando d'2
  \override Glissando.style = #'dotted-line
  d,2 \glissando d'2
  \override Glissando.style = #'zigzag
  d,2 \glissando d'2
  \override Glissando.style = #'trill
  d,2 \glissando d'2
}

[image of music]

I punti delle estremità dell’estensore sono calcolati al volo per ogni oggetto grafico, ma è possibile sovrascriverli:

 
\relative {
  e''2 \glissando f
  \once \override Glissando.bound-details.right.Y = #-2
  e2 \glissando f
}

[image of music]

Il valore di Y è impostato su -2 per l’estremità destra. Quella sinistra può essere aggiustata ugualmente specificando left invece di right.

Se Y non è impostata, il valore è calcolato a partire dalla posizione verticale dei punti di attacco sinistro e destro dell’estensore.

Sono possibili altre modifiche degli estensori; maggiori dettagli in Estensori.


[ < ] [ > ]   [ << ] [ Su ] [ >> ]         [Inizio] [Contenuti] [Indice] [ ? ]

5.4.9 Rotazione degli oggetti

@translationof Rotating objects

Sia gli oggetti della formattazione che il testo compreso in un blocco markup possono essere ruotati di qualsiasi angolo in quasi qualsiasi punto, ma il metodo per farlo cambia.


[ < ] [ > ]   [ << ] [ Su ] [ >> ]         [Inizio] [Contenuti] [Indice] [ ? ]

Rotazione degli oggetti della formattazione

@translationof Rotating layout objects

Tutti gli oggetti della formattazione che supportano l’interfaccia grob-interface possono essere ruotati impostando la loro proprietà rotation. Questa prende come argomento una lista di tre elementi: l’angolo di rotazione in senso antiorario, e le coordinate x e y del punto relativo al punto di riferimento dell’oggetto intorno al quale si deve eseguire la rotazione. L’angolo di rotazione è specificato in gradi e le coordinate in spazi rigo.

L’angolo di rotazione e le coordinate del punto di rotazione devono essere determinate per prova e errore.

Esistono solo poche situazioni in cui la rotazione degli oggetti della formattazione è utile; l’esempio seguente ne mostra uno:

 
g4\< e' d'' f''\!
\override Hairpin.rotation = #'(15 -1 0)
g4\< e' d'' f''\!

[image of music]


[ < ] [ > ]   [ << ] [ Su ] [ >> ]         [Inizio] [Contenuti] [Indice] [ ? ]

Rotazione del testo

@translationof Rotating markup

Tutto il testo in un blocco \markup può essere ruotato di qualsiasi angolo facendolo precedere dal comando \rotate. Il comando prende due argomenti: l’angolo di rotazione in gradi in senso antiorario e il testo da ruotare. Le estensioni del testo non sono ruotate: prendono il loro valore dagli estremi delle coordinate x e y del testo ruotato. Nell’esempio seguente la proprietà outside-staff-priority del testo è impostata su #f per disabilitare l’elusione automatica delle collisioni, che spingerebbe parte del testo troppo in alto.

 
\override TextScript.outside-staff-priority = ##f
g4^\markup { \rotate #30 "un Sol" }
b^\markup { \rotate #30 "un Si" }
des'^\markup { \rotate #30 "un Re bemolle" }
fis'^\markup { \rotate #30 "un Fa diesis" }

[image of music]


[ < ] [ > ]   [ << ] [ Su ] [ >> ]

This document was generated by gub on Luglio 13, 2020 using texi2html 1.82.

Altre lingue: English, català, deutsch, español, français, 日本語.
A proposito della selezione automatica della lingua.