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

3.3 Contesti e incisori

@translationof Contexts and engravers

I contesti e gli incisori sono stati menzionati in modo informale nelle sezioni precedenti; ora dobbiamo approfondire questi concetti, perché sono importanti nell’ottimizzazione dell’output di LilyPond.


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

3.3.1 I contesti

@translationof Contexts explained

Quando la musica viene elaborata, molti elementi notazionali che non compaiono esplicitamente nel file di input devono essere aggiunti nell’output. Ad esempio, si confrontino l’input e l’output del seguente esempio:

 
\relative { cis''4 cis2. | a4 a2. | }

[image of music]

L’input è alquanto essenziale, ma nell’output sono stati aggiunti stanghette, alterazioni, l’armatura di chiave e il tempo. Quando LilyPond interpreta l’input l’informazione musicale viene analizzata da sinistra a destra, proprio come un musicista legge uno spartito. Mentre legge l’input, il programma ricorda dove si trovano i confini della misura, e quali altezze richiedono espliciti accidenti. Questa informazione deve essere conservata a diversi livelli. Ad esempio, un accidente influisce solo su un singolo rigo, mentre una stanghetta deve essere sincronizzata lungo l’intera partitura.

All’interno di LilyPond, queste regole e pezzi di informazione sono raggruppati nei Contesti. Abbiamo già presentato il contesto Voice. Altri contesti sono Staff e Score. I contesti sono strutturati gerarchicamente per riflettere la natura gerarchica di una partitura musicale. Ad esempio: un contesto Staff può contenere molti contesti Voice, e un contesto Score può contenere molti contesti Staff.

pictures/context-example

Ogni contesto è responsabile di far rispettare alcune regole di notazione, creare alcuni oggetti della notazione e conservare le proprietà associate. Ad esempio, il contesto Voice può introdurre un’alterazione e poi il contesto Staff mantiene la regola per mostrare o sopprimere l’alterazione per il resto della misura.

Un altro esempio: la sincronizzazione delle stanghette è gestita, per impostazione predefinita, nel contesto Score. Tuttavia, in alcune forme musicali potremmo non volere che le stanghette siano sincronizzate – si consideri una partitura polimetrica in 4/4 e 3/4. In questi casi, dobbiamo modificare le impostazioni predefinite dei contesti Score e Staff.

Per spartiti molto semplici, i contesti vengono creati implicitamente, e non è necessario occuparsene. Ma per brani più ampi, come qualsiasi cosa abbia più di un rigo, devono essere creati esplicitamente per essere sicuri di avere tutti i righi necessari, e che questi siano nel giusto ordine. Per scrivere brani che utilizzano una notazione speciale, di solito si modificano i contesti esistenti, o addirittura se ne creano di completamente nuovi.

Oltre ai contesti Score, Staff e Voice ci sono contesti che stanno tra i livelli della partitura (score) e del rigo (staff) per controllare i gruppi di pentagrammi, come i contesti PianoStaff e ChoirStaff. Ci sono anche contesti alternativi per il rigo e la voce, e contesti per il testo, le percussioni, la tastiera, il basso continuo, etc.

I nomi di tutti i tipi di contesto sono formati da una o più parole, e ogni parola viene unita immediatamente alla parola precedente senza trattini o underscore bensì con la prima lettera maiuscola: ad esempio, GregorianTranscriptionStaff.

Vedi anche

Guida alla notazione: (notation)Tutto sui contesti section ‘Tutto sui contesti’ in Guida alla Notazione.


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

3.3.2 Creare i contesti

@translationof Creating contexts

In un file di input, un blocco della partitura (introdotto dal comando \score) contiene un’espressione musicale singola; ma può contenere anche definizioni di output associate (un blocco \layout, un blocco \midi o entrambi). Di solito si lascia che il contesto Score sia creato automaticamente quando inizia l’interpretazione di quell’espressione musicale.

Per le partiture che hanno una sola voce e un solo rigo, si può lasciare che i contesti Voice e Staff siano creati automaticamente, ma per le partiture più complesse è necessario crearli manualmente. Il comando più semplice per farlo è \new. Viene posto prima di un’espressione musicale, ad esempio

 
\new tipo espressione-musicale

dove tipo è il nome di un contesto (come Staff o Voice). Questo comando crea un nuovo contesto, e inizia a interpretare espressione-musicale all’interno di quel contesto.

(Si noti che normalmente non è necessario il comando \new Score, perché il fondamentale contesto di livello superiore Score viene creato automaticamente quando l’espressione musicale all’interno del blocco \score viene interpretata. L’unica ragione per creare un contesto Score esplicitamente con \new Score è di inserire un blocco \with dove si possono specificare uno o più valori delle proprietà di contesto, predefiniti per tutto lo spartito.. Le informazioni su come usare i blocchi \with si trovano sotto il titolo “Impostare le proprietà di contesto con \with” in Modificare le proprietà di contesto.)

Nota: \new Score non dovrebbe essere usato perché il fondamentale contesto di livello superiore Score viene creato automaticamente quando l’espressione musicale all’interno del blocco \score viene interpretata. I valori predefiniti delle proprietà di contesto validi per tutta la partitura possono essere modificati nel blocco \layout. Vedi Modificare le proprietà di contesto

Nelle sezioni precedenti hai già visto molti esempi pratici della creazione di nuovi contesti Staff e Voice, ma per ricordarti come questi comandi vengano usati in pratica, ecco un esempio di musica vera e propria:

 
\score {  % inizio di una singola espressione musicale composta
  <<  % inizio di una sezione di righi simultanei
    \time 2/4
    \new Staff {  % crea rigo della mano destra (MD)
      \clef "treble"
      \key g \minor
      \new Voice {  % crea la voce per le note della MD
        \relative {  % inizio delle note della MD
          d''4 ees16 c8. |
          d4 ees16 c8. |
        }  % fine delle note della MD
      }  % fine della voce MD
    }  % fine del rigo MD
    \new Staff <<  % crea il rigo della mano sinistra (MS); servono due voci simultanee
      \clef "bass"
      \key g \minor
      \new Voice {  % crea la prima voce di MS
        \voiceOne
        \relative {  % inizio delle note della prima voce di MS
          g8 <bes d> ees, <g c> |
          g8 <bes d> ees, <g c> |
        }  % fine delle note della prima voce di MS
      }  % fine della prima voce di MS
      \new Voice {  % crea la seconda voce di MS
        \voiceTwo
        \relative {  % inizio delle note della seconda voce di MS
          g4 ees |
          g4 ees |
        }  % fine delle note della seconda voce di MS
      }  % fine della seconda voce di MS
    >>  % fine del rigo di MS
  >>  % fine della sezione dei righi simultanei
}  % fine della singola espressione musicale composta

[image of music]

(Si noti che tutte le asserzioni che aprono un blocco o con delle parentesi graffe, {, o con delle parentesi angolari doppie, <<, sono indentate di due spazi, e la parentesi di chiusura corrispondente è indentata esattamente dello stesso spazio. Pur non essendo un requisito indispensabile, seguire questa pratica ridurrà enormemente il numero di errori da ‘parentesi spaiate’, ed è quindi fortemente consigliato. Permette di vedere a colpo d’occhio la struttura della musica, e qualsiasi parentesi spaiata sarà facilmente riconoscibile. Si noti anche come il rigo LH faccia uso di parentesi angolari doppie perché richiede due voci, mentre il rigo RH è costituito da una singola espressione musicale compresa tra parentesi graffe perché richiede una sola voce.)

Il comando \new può anche dare un nome identificativo al contesto per distinguerlo da altri contesti dello stesso tipo,

 
\new tipo = id espressione-musicale

Si noti la distinzione tra il nome del tipo di contesto, Staff, Voice, etc, e il nome identificativo di un particolare esempio di quel tipo, che può essere qualsiasi sequenza di lettere inventata dall’utente. Nel nome identificativo si possono usare anche numeri e spazi, ma in questo caso deve essere compreso tra virgolette, ovvero \new Staff = "MioPentagramma 1" espressione-musicale. Il nome identificativo viene utilizzato per riportare a quel particolare esempio di un contesto. Abbiamo visto questo utilizzo nella sezione sul testo, si veda Voci e musica vocale.

Vedi anche

Guida alla notazione: (notation)Creazione e citazione di un contesto section ‘Creazione e citazione di un contesto’ in Guida alla Notazione.


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

3.3.3 Gli incisori

@translationof Engravers explained

Ogni segno presente nell’output di una partitura realizzata con LilyPond è prodotto da un Engraver (incisore). Dunque c’è un incisore per creare i righi, uno per le teste delle note, uno per i gambi, uno per le travature, etc, etc. In totale ci sono più di 120 incisori! Fortunatamente, per gran parte delle partiture è necessario conoscerne pochi soltanto, e per partiture semplici non occorre conoscerne alcuno.

Gli incisori vivono ed operano all’interno dei Contesti. Incisori come il Metronome_mark_engraver, la cui azione e il cui output si applicano alla partitura nel suo complesso, operano nel contesto di livello più superiore – il contesto Score.

Gli incisori Clef_engraver e Key_engraver devono invece trovarsi in ogni contesto Staff, poiché righi diversi potrebbero richiedere diverse chiavi e tonalità.

Gli incisori Note_heads_engraver e Stem_engraver abitano ogni contesto Voice, il contesto che si trova al livello più basso di tutti.

Ogni incisore elabora gli oggetti specifici associati alla sua funzione, e gestisce le proprietà che a quella funzione si riferiscono. Queste proprietà, come le proprietà associate ai contesti, possono essere modificate per cambiare il funzionamento dell’incisore o l’aspetto di quegli elementi nella partitura.

Gli incisori hanno tutti dei nomi composti formati da parole che descrivono la loro funzione. Solo la prima parola inizia con una maiuscola, e il resto è collegato insieme con dei trattini bassi. Quindi l’incisore Staff_symbol_engraver ha il compito di creare le linee del pentagramma, il Clef_engraver determina e definisce il punto di riferimento dell’altezza sul rigo disegnando il simbolo di una chiave.

Ecco alcuni degli incisori più utilizzati insieme alla loro funzione. Vedrai che di solito è facile indovinare la funzione a partire dal nome, o viceversa.

IncisoreFunzione
Accidental_engraverCrea le alterazioni, le alterazioni di precauzione e di cortesia
Beam_engraverIncide le travature
Clef_engraverIncide le chiavi
Completion_heads_engraverSepara le note che attraversano le stanghette
Dynamic_engraverCrea le forcelle e i testi relativi alla dinamica
Forbid_line_break_engraverImpedisce l’a capo se un elemento musicale è ancora attivo
Key_engraverCrea l’armatura di chiave
Metronome_mark_engraverIncide il tempo metronomico
Note_heads_engraverIncide le teste delle note
Rest_engraverIncide le pause
Staff_symbol_engraverIncide le cinque linee (predefinite) del pentagramma
Stem_engraverCrea i gambi e i tremoli su singoli gambi
Time_signature_engraverCrea l’indicazione di tempo

Vedremo in seguito come cambiare l’output di LilyPond modificando il comportamento degli incisori.

Vedi anche

Guida al funzionamento interno: (internals)Engravers and Performers section ‘Engravers and Performers’ in Guida al Funzionamento Interno.


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

3.3.4 Modificare le proprietà di contesto

@translationof Modifying context properties

I contesti si occupano di tenere i valori di un certo numero di proprietà del contesto. Molte di queste possono essere cambiate per influenzare l’interpretazione dell’input e quindi modificare l’aspetto dell’output. Per cambiarle si usa il comando \set. Questo assume la seguente forma

 
\set NomeContesto.nomeProprietà = #valore

Dove il NomeContesto è di solito Score, Staff o Voice. Può essere omesso, e in questo caso viene considerato il contesto attuale (solitamente Voice).

I nomi delle proprietà di contesto consistono in parole unite insieme e senza lineette o trattini bassi, e tutte le parole tranne la prima iniziano con una lettera maiuscola. Ecco alcuni esempi di quelle più usate comunemente. Ma ne esistono molte altre.

nomeProprietàTipoFunzioneValore di esempio
extraNaturalBooleanoSe è vero, mette i segni di bequadro prima degli accidenti#t, #f
currentBarNumberInteroImposta il numero della battuta corrente50
doubleSlursBooleanoSe è vero, stampa le legature di portamento sia sopra che sotto le note#t, #f
instrumentNameTestoImposta il nome da inserire all’inizio del rigo"Cello I"
fontSizeRealeAumenta o riduce la dimensione del carattere2.4
stanzaTestoImposta il testo da stampare prima dell’inizio di una strofa"2"

mentre un Booleano è o Vero (#t) o Falso (#f), un Intero è un numero intero positivo, un Reale è un numero decimale positivo o negativo, e il testo è racchiuso tra virgolette. Si noti la presenza del segno cancelletto, (#), in due punti diversi – come parte del valore Booleano prima di t o f, e prima del valore nell’affermazione \set. Dunque quando si inserisce un valore Booleano bisogna scrivere due cancelletti, ad esempio ##t.

Prima di poter impostare una qualsiasi di queste proprietà dobbiamo sapere in quale contesto esse operino. Talvolta questo è ovvio, ma talvolta può risultare complicato. Se viene specificato il contesto sbagliato, non viene generato alcun messaggio di errore, ma l’azione desiderata non avrà luogo. Ad esempio, la proprietà clefGlyph risiede ovviamente nel contesto Staff, poiché è il glifo della chiave a dover essere cambiato. Nell’esempio seguente viene stampata correttamente la prima chiave del pentagramma, ma non la seconda (che appare come la chiave predefinita di violino, invece della chiave di basso o Fa che ci aspetteremmo) perché abbiamo omesso il nome del contesto.

 
<<
  \new Staff \relative {
    \set Staff.clefGlyph = "clefs.C"
    c''2 c
 }
  \new Staff \relative {
    \set clefGlyph = "clefs.F"  % Sbagliato!
    d'2 d
 }
>>

[image of music]

Ricorda che il nome di contesto predefinito è Voice, dunque il secondo comando \set imposta la proprietà clefGlyph nel contesto Voice col valore “clefs.F”, ma dato che LilyPond non trova tale proprietà nel contesto Voice, non ha avuto luogo alcuna altra azione. Questo non è un errore, e nessun messaggio di errore viene riportato nel file di log.

Analogamente, se il nome della proprietà è stato scritto male, non viene generato alcun messaggio di errore, e ovviamente l’azione desiderata non può essere eseguita. Infatti, col comando \set puoi impostare qualsiasi ‘proprietà’ (anche inventata) usando qualsiasi nome che ti piaccia in qualsiasi contesto esistente. Ma se LilyPond non conosce il nome, allora non verrà intrapresa alcuna azione. Alcuni editor di testo che hanno uno speciale supporto per i file di input di LilyPond presentano i nomi delle proprietà con una lista scorrevole al passaggio del mouse, come JEdit col plugin LilyPondTool, oppure evidenziano in modo diverso i nomi delle proprietà non conosciuti, come fa ConTEXT. Se non usi un editor con queste funzionalità, è consigliabile controllare il nome delle proprietà nella Guida al funzionamento interno: si veda (internals)Tunable context properties section ‘Tunable context properties’ in Guida al Funzionamento Interno, o (internals)Contexts section ‘Contexts’ in Guida al Funzionamento Interno.

La proprietà clefGlyph funzionerà soltanto se inserita nel contesto Staff, ma alcune proprietà possono essere collocate in più di un contesto. Ad esempio, la proprietà extraNatural è impostata di default sul valore ##t (vero) su tutti i righi. Se viene impostata su ##f (falso) in uno specifico contesto Staff si applica solo alle alterazioni presenti su quel rigo. Se impostata su falso nel contesto Score si applica a tutti i righi.

Quindi in questo modo si disattiva il bequadro su un rigo:

 
<<
  \new Staff \relative {
    aeses'2 aes
 }
  \new Staff \relative {
    \set Staff.extraNatural = ##f
    aeses'2 aes
 }
>>

[image of music]

e in questo modo si disattiva in tutti i righi:

 
<<
  \new Staff \relative {
    aeses'2 aes
 }
  \new Staff \relative {
    \set Score.extraNatural = ##f
    aeses'2 aes
 }
>>

[image of music]

Un altro esempio: se la proprietà clefTransposition viene posta nel contesto Score, cambia immediatamente il valore della trasposizione in tutti i righi presenti e imposta un nuovo valore predefinito che sarà applicato a tutti i righi.

Il comando opposto, \unset, di fatto rimuove la proprietà dal contesto, e questo fa sì che molte proprietà tornino al valore predefinito. Solitamente \unset non è necessario dal momento che un nuovo comando \set permetterà di ottenere quanto si desidera.

I comandi \set e \unset possono trovarsi in qualsiasi punto del file di input e avranno effetto dal momento in cui si incontrano fino alla fine della partitura o finché la proprietà non viene attivata (\set) o disattivata (\unset) di nuovo. Proviamo a cambiare varie volte la dimensione del font, che influisce (tra le altre cose) sulla dimensione delle teste delle note. La modifica è relativa al valore predefinito, non all’ultimo valore impostato.

 
\relative {
  c'4 d
  % rimpicciolisce le teste di nota
  \set fontSize = #-4
  e4 f |
  % ingrandisce le teste di nota
  \set fontSize = #2.5
  g4 a
  % ripristina la dimensione predefinita
  \unset fontSize
  b4 c |
}

[image of music]

Abbiamo visto come impostare i valori di diversi tipi di proprietà. Si note che gli interi e i numeri sono sempre preceduti da un segno di cancelletto, #, mentre un valore vero o falso è specificato con ##t e ##f, ovvero con due cancelletti. Una proprietà testuale dovrebbe essere racchiusa tra virgolette, come abbiamo visto prima, sebbene vedremo in seguito che in realtà il testo può essere specificato in un modo molto più generale usando il potente comando \markup.

Impostare le proprietà di contesto con \with

Il valore predefinito delle proprietà di contesto possono essere impostate anche nel momento in cui il contesto viene creato. Talvolta questo è un modo più chiaro per specificare il valore della proprietà se questa deve rimanere fissa per la durata del contesto. Un contesto creato col comando \new può essere immediatamente seguito da un blocco \with { … } dove vengono impostati i valori predefiniti della proprietà. Ad esempio, se vogliamo eliminare la stampa del bequadro per l’estensione di un rigo possiamo scrivere:

 
\new Staff \with { extraNatural = ##f }

così:

 
<<
  \new Staff {
    \relative {
      gisis'4 gis aeses aes
    }
  }
  \new Staff \with { extraNatural = ##f } {
    \relative {
      gisis'4 gis aeses aes
    }
  }
>>

[image of music]

Si possono ancora cambiare dinamicamente le proprietà impostate in questo modo usando \set, mentre con \unset si possono riportare al valore predefinito impostato nel blocco \with.

Quindi se la proprietà fontSize viene inserita in una proposizione \with, imposta il valore predefinito della dimensione del font. Se viene in seguito modificato con \set, questo nuovo valore predefinito può essere recuperato col comando \unset fontSize.

Impostare le proprietà di contesto con \context

I valori delle proprietà di un contesto possono essere impostate in tutti i contesti di un particolare tipo, così come in tutti i contesti Staff, con un solo comando. Il tipo di contesto viene identificato attraverso il suo nome, come Staff, preceduto da una barra inversa (backslash): \Staff. La dichiarazione che imposta il valore della proprietà è la stessa che abbiamo visto nel blocco \with, introdotto prima. Viene posta in un blocco \context all’interno di un blocco \layout. Ogni blocco \context avrà effetto su tutti i contesti del tipo specificato nel blocco \score o \book nel quale il blocco \layout si trova. Ecco un esempio per mostrare la struttura:

 
\score {
  \new Staff {
    \relative {
      cisis''4 e d cis
    }
  }
  \layout {
    \context {
      \Staff
      extraNatural = ##t
    }
  }
}

[image of music]

Se si vuole che la modifica della proprietà venga applicata a tutti i righi della partitura:

 
\score {
  <<
    \new Staff {
      \relative {
        gisis'4 gis aeses aes
      }
    }
    \new Staff {
      \relative {
        gisis'4 gis aeses aes
      }
    }
  >>
  \layout {
    \context {
      \Score extraNatural = ##f
    }
  }
}

[image of music]

Le proprietà di contesto impostate in questo modo possono essere sovrascritte per alcuni particolari contesti attraverso asserzioni in un blocco \with, e tramite comandi \set incorporati nelle asserzioni musicali.

Vedi anche

Guida alla notazione: (notation)Modifica delle impostazioni predefinite di un contesto section ‘Modifica delle impostazioni predefinite di un contesto’ in Guida alla Notazione, (notation)Il comando set section ‘Il comando set’ in Guida alla Notazione.

Guida al funzionamento interno: (internals)Contexts section ‘Contexts’ in Guida al Funzionamento Interno, (internals)Tunable context properties section ‘Tunable context properties’ in Guida al Funzionamento Interno.


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

3.3.5 Aggiungere e togliere gli incisori

@translationof Adding and removing engravers

Abbiamo visto che ciascuno dei contesti contiene vari incisori, ognuno dei quali ha il compito di produrre una parte specifica dell’output, come stanghette, righi, teste, gambi, etc.. Se un incisore viene rimosso da un contesto, non può più produrre il suo output. Si tratta di un metodo sbrigativo per modificare l’output, e talvolta può essere utile.

Cambiare un singolo contesto

Per rimuovere un incisore da un singolo contesto usiamo il comando \with posto subito dopo il comando di creazione del contesto, come esposto nella sezione precedente.

A titolo di esempio, ripetiamo un esempio della sezione precedente rimuovendo le linee del rigo. Ricorda che le linee del rigo vengono create dall’incisore Staff_symbol_engraver.

 
\new Staff \with {
  \remove "Staff_symbol_engraver"
}
\relative {
  c'4 d
  \set fontSize = #-4  % make note heads smaller
  e4 f |
  \set fontSize = #2.5  % make note heads larger
  g4 a
  \unset fontSize  % return to default size
  b4 c |
}

[image of music]

Gli incisori possono essere aggiunti anche a contesti individuali. Il comando per farlo è

\consists Engraver_name,

posto all’interno di un blocco \with. Alcune partiture vocali hanno un ambitus collocato all’inizio del pentagramma per indicare l’intervallo tra la nota più grave e quella più acuta in quella parte – si veda (music-glossary)ambitus section ‘ambitus’ in Glossario Musicale. L’ambitus viene creato dall’incisore Ambitus_engraver, che di norma non è incluso in alcun contesto. Se lo aggiungiamo al contesto Voice, calcola l’intervallo di quella voce soltanto:

 
\new Staff <<
  \new Voice \with {
    \consists "Ambitus_engraver"
  } {
    \relative {
      \voiceOne
      c''4 a b g
    }
  }
  \new Voice {
    \relative {
      \voiceTwo
      c'4 e d f
    }
  }
>>

[image of music]

ma se aggiungiamo l’incisore ambitus al contesto Staff, calcola l’intervallo di tutte le note in tutte le voci di quel pentagramma:

 
\new Staff \with {
  \consists "Ambitus_engraver"
}
<<
  \new Voice {
    \relative {
      \voiceOne
      c''4 a b g
    }
  }
  \new Voice {
    \relative {
      \voiceTwo
      c'4 e d f
    }
  }
>>

[image of music]

Modificare tutti i contesti dello stesso tipo

Gli esempi precedenti mostrano come rimuovere o aggiungere degli incisori a contesti individuali. È anche possibile rimuovere o aggiungere gli incisori per ogni contesto di un particolare tipo inserendo i comandi nel contesto appropriato in un blocco \layout. Ad esempio, se volessimo mostrare un ambitus per ogni pentagramma in una partitura di quattro pentagrammi, potremmo scrivere

 
\score {
  <<
    \new Staff {
      \relative {
        c''4 a b g
      }
    }
    \new Staff {
      \relative {
        c'4 a b g
      }
    }
    \new Staff {
      \clef "G_8"
      \relative {
        c'4 a b g
      }
    }
    \new Staff {
      \clef "bass"
      \relative {
        c4 a b g
      }
    }
  >>
  \layout {
    \context {
      \Staff
      \consists "Ambitus_engraver"
    }
  }
}

[image of music]

I valori delle proprietà di un contesto possono essere impostati anche per tutti i contesti di un particolare tipo includendo il comando \set in un blocco \context nello stesso modo.

Vedi anche

Guida alla notazione: (notation)Modifica dei componenti aggiuntivi di un contesto section ‘Modifica dei componenti aggiuntivi di un contesto’ in Guida alla Notazione, (notation)Modifica delle impostazioni predefinite di un contesto section ‘Modifica delle impostazioni predefinite di un contesto’ in Guida alla Notazione.

Problemi noti e avvertimenti

Gli incisori Stem_engraver e Beam_engraver fissano i propri oggetti alle teste delle note. Se si elimina Note_heads_engraver le teste delle note non vengono prodotte e di conseguenza non vengono creati nemmeno i gambi né le travature.


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

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

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