\input texinfo @c -*- coding: UTF-8; mode: texinfo; documentlanguage: it -*-
@ignore
Translation of GIT committish: 8d8a54f9903e27263581f684b0a22dc2aca5d24c
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
@setfilename lilypond-changes.info
@settitle Cambiamenti in LilyPond
@include macros.itexi
@ifhtml
@macro inputfileref{DIR,NAME}
@uref{../../\DIR\/collated-files.html#\NAME\,@file{\DIR\/\NAME\}}@c
@end macro
@macro usermanref{NAME}
@inforef{\NAME\,,../user/lilypond/lilypond}@c
@end macro
@end ifhtml
@ifnothtml
@macro inputfileref{DIR,NAME}
@file{\DIR\/\NAME\}@c
@end macro
@macro usermanref{NAME}
Vedi il manuale utente, \NAME\
@end macro
@end ifnothtml
@macro textanchor{NAME}
@html
@end html
@end macro
@documentencoding UTF-8
@documentlanguage it
@afourpaper
@c Translators: Federico Bruni
@finalout
@node Top
@top Nuove funzionalità nella versione 2.20 rispetto alla 2.18
@allowcodebreaks false
@itemize
@item
Le regole delle alterazioni possono essere definite nei contesti @code{ChoirStaff}.
Sono disponibili due nuove regole, @code{choral} e @code{choral-cautionary}, che
combinano le caratteristiche di @code{modern-voice} e @code{piano}
o i loro equivalenti per le alterazioni di cortesia.
@item
La funzione musicale @code{\\unfoldRepeats} può ora prendere una lista di
argomenti (facoltativa) che specifica quali tipi di musica ripetuta debbano
essere ricopiati. Le opzioni possibili sono @code{percent}, @code{tremolo} e
@code{volta}.
Se la lista facoltativa non viene specificata, verrà usato @code{repeated-music},
che ricopia tutto.
@item
Per l'output SVG viene ora utilizzata la nuova proprietà grob @code{output-attributes}
al posto della proprietà @code{id}. Permette di definire molteplici attributi
come una lista associativa. Per esempio, @code{#'((id . 123)
(class . foo) (data-whatever . @qq{bar}))} produrrà il seguente elemento
gruppo (g) in un file SVG: @code{ @dots{} }.
@item
Le legature di portamento e di frase possono ora iniziare da note individuali
di un accordo. Varie legature di portamento simultanee per ogni voce devono
essere distinte con l'impostazione @code{spanner-id}.
@item
La proprietà musicale e dei grob @code{spanner-id}, usata per distinguere
legature di portamento simultanee e legature di frase, è stata modificata:
non è più una stringa, bensì una @q{key}, ovvero un numero intero non negativo
o un simbolo.
@item
È stato aggiunto il nuovo comando @code{\=} per specificare l'identificativo
degli estensori, @code{spanner-id}, per le legature di portamento e di frase
simultanee.
@lilypond[verbatim,quote]
\fixed c' {
2
}
@end lilypond
@item
I blocchi introdotti con @code{\header} possono essere salvati in variabili
e usati come argomenti di funzioni musicali e funzioni scheme e come parte
dei costrutti @code{#@{@dots{}#@}}. Sono rappresentati come un modulo Guile.
Sebbene i blocchi @code{\book}, @code{\bookpart}, @code{\score}, @code{\with},
@code{\layout}, @code{\midi}, @code{\paper} possano essere trasferiti in un
modo simile, sono tuttavia rappresentati da tipi di dati diversi.
@item
Le liste di simboli separate da punti come @code{FretBoard.stencil} sono
supportate già dalla versione@tie{}2.18. Ora possono contenere anche numeri
interi non negativi e possono essere separate anche con le virgole.
Ciò permette di usare, per esempio:
@lilypond[quote,verbatim]
{ \time 2,2,1 5/8 g'8 8 8 8 8 }
@end lilypond
e
@example
\tagGroup violin,oboe,bassoon
@end example
@item
Queste liste possono essere usate anche nelle espressioni di assegnamenti,
impostazioni (@code{\set}) e riscritture (@code{override}). Ciò permette di
usare, per esempio:
@lilypond[quote,verbatim]
{ \unset Timing.beamExceptions
\set Timing.beatStructure = 1,2,1
g'8 8 8 8 8 8 8 8 }
@end lilypond
@item
Agli elementi delle liste associative potevano già essere assegnati dei
valori individualmente (per esempio, variabili @code{\paper} come
@code{system-system-spacing.basic-distance}). Ora possono anche essere
citati nello stesso modo, come in questo esempio:
@example
\paper @{
\void \displayScheme \system-system-spacing.basic-distance
@}
@end example
In combinazione con i cambiamenti precedentemente menzionati, ciò permette
di impostare e citare pseudovariabili come @code{violin.1}.
@item
I file sorgente LilyPond ora possono essere incorporati nei file PDF generati.
Questa funzionalità sperimentale è disabilitata per impostazione predefinita
e può essere considerata non sicura, dato che documenti PDF con del contenuto
nascosto tendono a costituire un rischio di sicurezza.
Non tutti i lettori PDF sono capaci di gestire i documenti incorporati (in
questo caso, l'output PDF apparirà normalmente e i file sorgente resteranno
invisibili). Questa funzionalità funziona solo col backend PDF.
@item
I nomi francesi delle note ora sono definite separatemente invece di essere
riprese (come alias) dai nomi italiani: oltre alla sintassi generica derivata
dall'italiano, l'altezza @var{d} può essere inserita come @code{ré}. I diesis
doppi possono essere inseriti anche col suffisso @code{-x}.
@item
Sono supportate ulteriori corde di basso (per l'intavolatura per liuto).
@lilypond[quote,verbatim]
m = { f'4 d' a f d a, g, fis, e, d, c, \bar "|." }
\score {
\new TabStaff \m
\layout {
\context {
\Score
tablatureFormat = #fret-letter-tablature-format
}
\context {
\TabStaff
stringTunings = \stringTuning
additionalBassStrings = \stringTuning
fretLabels = #'("a" "b" "r" "d" "e" "f" "g" "h" "i" "k")
}
}
}
@end lilypond
@item
È ora disponibile il comando di tipo markup-list @code{\table}.
Ogni colonna può essere allineata in modo diverso.
@lilypond[quote,verbatim]
\markuplist {
\override #'(padding . 2)
\table
#'(0 1 0 -1)
{
\underline { center-aligned right-aligned center-aligned left-aligned }
one "1" thousandth "0.001"
eleven "11" hundredth "0.01"
twenty "20" tenth "0.1"
thousand "1000" one "1.0"
}
}
@end lilypond
@item
Un nuovo comando di tipo markup, @code{\with-dimensions-from}, semplifica
l'uso di @code{\with-dimensions} prendendo le nuove dimensioni da un
oggetto di markup, indicato come primo argomento.
@lilypond[quote,verbatim]
\markup {
\pattern #5 #Y #0 "x"
\pattern #5 #Y #0 \with-dimensions-from "x" "f"
\pattern #5 #Y #0 \with-dimensions-from "x" "g"
\override #'(baseline-skip . 2)
\column {
\pattern #5 #X #0 "n"
\pattern #5 #X #0 \with-dimensions-from "n" "m"
\pattern #5 #X #0 \with-dimensions-from "n" "!"
}
}
@end lilypond
@item
Ci sono due nuove funzioni di interruzione della pagina.
@code{ly:one-page-breaking} modifica automaticamente l'altezza della
pagina per far entrare la musica, in modo che stia tutta in una pagina.
@code{ly:one-line-auto-height-breaking} è simile a @code{ly:one-line-breaking},
perché posiziona la musica su una sola linea regolando la larghezza della
pagina, tuttavia modifica automaticamente anche l'altezza della pagina per
farci entrare la musica.
@item
È ora disponibile il comando markup @code{\draw-squiggle-line}.
È possibile personalizzarlo modificando le proprietà @code{thickness}, @code{angularity},
@code{height} e @code{orientation}
@lilypond[quote,verbatim]
\markup
\overlay {
\draw-squiggle-line #0.5 #'(3 . 3) ##t
\translate #'(3 . 3)
\override #'(thickness . 4)
\draw-squiggle-line #0.5 #'(3 . -3) ##t
\translate #'(6 . 0)
\override #'(angularity . -5)
\draw-squiggle-line #0.5 #'(-3 . -3) ##t
\translate #'(3 . -3)
\override #'(angularity . 2)
\override #'(height . 0.3)
\override #'(orientation . -1)
\draw-squiggle-line #0.2 #'(-3 . 3) ##t
}
@end lilypond
@item
È disponibile un nuovo comando, @code{\RemoveAllEmptyStaves}, che si comporta
proprio come @code{\RemoveEmptyStaves}, con la differenza che toglie anche
i righi vuoti del primo sistema di una partitura.
@item
Oltre al comando markup generico @code{\tie}, sono ora disponibili i comandi
markup @code{\undertie} e @code{\overtie}.
@lilypond[quote,verbatim]
\markup {
\undertie "legato sotto"
\overtie "legato sopra"
}
m = {
c''1 \prall -\tweak text \markup \tie "131" -1
}
{ \voiceOne \m \voiceTwo \m }
@end lilypond
@item
@code{TabStaff} è ora capace di mostrare i microtoni, utili per il bending etc.
@lilypond[quote,verbatim]
\layout {
\context {
\Score
supportNonIntegerFret = ##t
}
}
mus = \relative { c'4 cih d dih }
<<
\new Staff << \clef "G_8" \mus >>
\new TabStaff \mus
>>
@end lilypond
@item
Sono ora disponibili due nuovi stili di whiteout (bianchetto). Lo stile
@code{outline} approssima i contorni del profilo di un glifo e la sua forma
è prodotta da varie copie sovrapposte del glifo. Lo stile @code{rounded-box}
genera una forma rettangolare stondata. Per tutti e tre gli stili, incluso
lo stile predefinito @code{box}, lo spessore (@code{thickness}) della forma
di whiteout può essere personalizzato come multiplo dello spessore della
linea del rigo.
@lilypond[verbatim,quote]
\markup {
\combine
\filled-box #'(-1 . 15) #'(-3 . 4) #1
\override #'(thickness . 3)
\whiteout whiteout-box
}
\markup {
\combine
\filled-box #'(-1 . 24) #'(-3 . 4) #1
\override #'(style . rounded-box)
\override #'(thickness . 3)
\whiteout whiteout-rounded-box
}
\markup {
\combine
\filled-box #'(-1 . 18) #'(-3 . 4) #1
\override #'(style . outline)
\override #'(thickness . 3)
\whiteout whiteout-outline
}
\relative {
\override Staff.Clef.whiteout-style = #'outline
\override Staff.Clef.whiteout = 3
g'1
}
@end lilypond
@item
Tutti i comandi @code{\override}, @code{\revert}, @code{\set} e
@code{\unset} ora funzionano col prefisso @code{\once}, rendendo
possibili le impostazioni temporanee.
@lilypond[quote,verbatim]
\relative {
c'4 d
\override NoteHead.color = #red
e4 f |
\once \override NoteHead.color = #green
g4 a
\once \revert NoteHead.color
b c |
\revert NoteHead.color
f2 c |
}
@end lilypond
@item
Quando crea il file MIDI, LilyPond ora salva il titolo (@code{title})
definito nel blocco @code{\header} di una partitura (o, se tale
definizione non è presente a livello di @code{\score}, la prima
definizione trovata in un blocco @code{\header} del blocco
@code{\bookpart}, @code{\book} o del livello superiore)
come nome della sequenza MIDI nel file MIDI. Il nome della
sequenza MIDI può anche essere definito tramite il nuovo campo
@code{midititle} del blocco @code{\header}, che ha priorità
sul campo @code{title} (ciò può essere utile, per esempio, se
@code{title} contiene della formattazione che non può essere resa
automaticamente in testo semplice in modo soddisfacente).
@item
Le funzioni musicali (e quelle scheme e vuote) e i comandi markup
che forniscono soltanto i parametri finali a una catena di
override e chiamate di funzioni musicali e comandi markup,
ora possono essere definite semplicemente scrivendo l'espressione
seguita da @code{\etc}.
@lilypond[verbatim,quote]
bold-red-markup = \markup \bold \with-color #red \etc
highlight = \tweak font-size 3 \tweak color #red \etc
\markup \bold-red "text"
\markuplist \column-lines \bold-red { One Two }
{ c' \highlight d' e'2-\highlight -! }
@end lilypond
@item
Le funzioni LilyPond definite con @code{define-music-function},
@code{define-event-function}, @code{define-scheme-function} e
@code{define-void-function} ora possono essere richiamate direttamente
da Scheme come se fossero vere procedure Scheme. Il controllo e la
corrispondenza degli argomenti sono eseguiti sempre nello stesso modo
come quando la funzione viene richiamata attraverso l'input di
LilyPond. Ciò comprende l'inserimento dei valori predefiniti per
gli argomenti opzionali che non corrispondono ai loro predicati.
Invece di usare @code{\default} nella vera lista degli argomenti
per saltare esplicitamente una sequenza di argomenti opzionali, si
può usare @code{*unspecified*}.
@item
La posizione dell'input attuale e il decodificatore sono ora
salvati nei @qq{fluid} di Guile e possono essere citati attraverso
le chiamate di funzione @code{(*location*)} e @code{(*parser*)}.
Di conseguenza molte funzioni che prima richiedevano un argomento
@code{parser} esplicito non ne hanno più bisogno.
Le funzioni definite con @code{define-music-function},
@code{define-event-function}, @code{define-scheme-function} e
@code{define-void-function} non usano più gli argomenti@code{parser} e
@code{location}.
Nel caso di queste definizioni in particolare, LilyPond cercherà di
riconoscere l'uso obsoleto degli argomenti @code{parser} e @code{location},
fornendo per un po' della semantica retrocompatibile.
@item
Nella lingua "english" per il nome delle note, i nomi lunghi per le
altezze con alterazioni ora contengono un trattino per migliorare la
leggibilità. Ora si deve scrivere
@example
\key a-flat \major
@end example
invece del precedente
@example
\key aflat \major
@end example
Le doppie alterazioni non necessitano di un trattino ulteriore, quindi il
nome olandese @code{cisis} corrisponde al nome lungo inglese @code{c-sharpsharp}.
@item
Lo stile visivo delle barre del tremolo (forma, stile e inclinazione) è ora
regolato in modo più preciso.
@lilypond[quote,relative=2]
a8:32 b: c: d:
\override StemTremolo.shape = #'beam-like
a: b: c: d:
\override StemTremolo.style = #'constant
a: b: c: d:
g,2
@end lilypond
@item
Lo spazio orizzontale occupato dalle pause multiple è proporzionale alla loro
durata totale e può essere modificato attraverso la proprietà
@code{MultiMeasureRest.space-increment}.
@lilypond[quote]
{ \compressFullBarRests
\override Staff.MultiMeasureRest.space-increment = 3.0
R1*2 R1*12 R1*64 }
@end lilypond
@item
I numeri di pagina ora possono essere stampati in numeri romani impostando la
variabile del foglio @code{page-number-type}.
@item
È ora possinile usare insieme @code{\time} e @code{\partial}
per cambiare l'indicazione di tempo a metà misura.
@lilypond[verbatim,quote,relative=1]
\override Score.BarNumber.break-visibility = #end-of-line-invisible
\partial 4 \time 3/4 f4 | 2 4 | 2 \bar "||"
\time 9/8 \partial 4. f8 8 8 | 2. 8 8 8 |
@end lilypond
@item
È ora possibile sovrascrivere la proprietà @code{text} dei nomi degli
accordi.
@lilypond[verbatim,fragment,quote]
<<
\new ChordNames \chordmode {
a' b c:7
\once \override ChordName.text = #"bla"
d
}
>>
@end lilypond
@item
Migliorato l'allineamento orizzontale quando si usa @code{TextScript},
con @code{DynamicText} o @code{LyricText}.
@item
È stato aggiunto il nuovo comando @code{\magnifyStaff} che scala la
dimensione del rigo, delle linee del rigo, delle stanghette, delle
lineette della travatura e della spaziatura orizzontale generalmente
al livello di contesto @code{Staff}. Le linee del rigo non vengono
ridotte a una dimensione inferiore a quella predefinita perché lo
spessore di gambi, legature e simili è basato sullo spessore della
linea del rigo.
@item
@code{InstrumentName} ora supporta l'interfaccia @code{text-interface}.
@item
È ora possibile regolare il @q{livello di espressione} dei canali
MIDI usando la proprietà di contesto @code{Staff.midiExpression}.
Si può usare per alterare il volume percepito delle note sostenute
in modo uniforme (sebbene in un modo molto di @q{basso livello}); si
può specificare un valore compreso tra @code{0.0} e @code{1.0}.
@example
\score @{
\new Staff \with @{
midiExpression = #0.6
midiInstrument = #"clarinet"
@}
<<
@{ a'1~ a'1 @}
@{
\set Staff.midiExpression = #0.7 s4\f\<
\set Staff.midiExpression = #0.8 s4
\set Staff.midiExpression = #0.9 s4
\set Staff.midiExpression = #1.0 s4
\set Staff.midiExpression = #0.9 s4\>
\set Staff.midiExpression = #0.8 s4
\set Staff.midiExpression = #0.7 s4
\set Staff.midiExpression = #0.6 s4\!
@}
>>
\midi @{ @}
@}
@end example
@item
Ora è più facile usare dei tipi di carattere @q{musicali} alternativi
al predefinito Emmentaler in LilyPond. Visitare
@uref{http://fonts.openlilylib.org/} per maggiori informazioni.
@item
I grob e i loro oggetti genitori possono essere allineati in modo
separato consentendo più flessibilità nelle posizioni dei grob. Per
esempio il margine @q{sinistro} di un grob ora può essere allineato
al @q{centro} del suo oggetto genitore.
@item
Sono stati introdotti dei miglioramenti al comando @code{\partial} per
evitare i problemi che sorgevano quando si usano molteplici contesti
paralleli.
@item @code{\chordmode} può ora usare i costrutti @code{< >} e
@code{<< >>}.
@item
È stato aggiunto un nuovo comando @code{\tagGroup}, che si aggiunge
a quelli esistenti @code{\keepWithTag} e @code{\removeWithTag}.
Per esempio:
@example
\tagGroup #'(violinI violinII viola cello)
@end example
dichiara una lista di @q{etichette} (@emph{tag}) che appartiene a un
solo @q{gruppo di etichette}.
@example
\keepwithTag #'violinI
@end example
ora si preoccupa solo delle @q{etichette} del gruppo cui appartiene
l'etichetta @q{violinI}.
Qualsiasi elemento della musica inclusa contrassegnato con una o più
etichette del gruppo, ma @emph{non} con @var{violinI}, sarà rimosso.
@item
La funzione @code{\addlyrics} ora funziona con contesti arbitrari
incluso @code{Staff}.
@item
I numeri di corda ora possono essere stampati in numeri romani
(per esempio, per gli strumenti a corda senza tasti).
@lilypond[verbatim,quote,relative=2]
c2\2
\romanStringNumbers
c\2
\arabicStringNumbers
c1\3
@end lilypond
@item
La proprietà @code{thin-kern} del grob @code{BarLine} è stata rinominata
@code{segno-kern}.
@item
I grob @code{KeyCancellation} ora ignorano le chiavi delle notine (come
fanno anche i grob @code{KeySignature}).
@item
Aggiunto il supporto per @code{\once@tie{}\unset}
@item
È ora possibile colorare individualmente sia i punti che le parentesi
nei diagrammi dei tasti quando si usa il comando @code{\fret-diagram-verbose}
dentro un blocco @code{\markup}.
@lilypond[verbatim,quote,relative=1]
\new Voice {
c1^\markup {
\override #'(fret-diagram-details . (
(finger-code . in-dot))) {
\fret-diagram-verbose #'((mute 6)
(place-fret 5 3 1 red)
(place-fret 4 5 2 inverted)
(place-fret 3 5 3 green)
(place-fret 2 5 4 blue inverted)
(place-fret 1 3 1 violet)
(barre 5 1 3 ))
}
}
c1^\markup {
\override #'(fret-diagram-details . (
(finger-code . below-string))) {
\fret-diagram-verbose #'((mute 6)
(place-fret 5 3 1 red parenthesized)
(place-fret 4 5 2 yellow
default-paren-color
parenthesized)
(place-fret 3 5 3 green)
(place-fret 2 5 4 blue )
(place-fret 1 3 1)
(barre 5 1 3))
}
}
}
@end lilypond
@item
Sono state aggiunte due nuove proprietà da usare in
@code{fret-diagram-details} quando sia usa il comando @code{\fret-diagram-verbose}
in un blocco markup; @code{fret-label-horizontal-offset}, che agisce su
@code{fret-label-indication}, e @code{paren-padding} che regola lo spazio
tra il punto e le parentesi che lo circondano.
@lilypond[verbatim,quote,relative=1]
\new Voice {
c1^\markup {
\fret-diagram-verbose #'((mute 6)
(place-fret 5 3 1)
(place-fret 4 5 2)
(place-fret 3 5 3)
(place-fret 1 6 4 parenthesized)
(place-fret 2 3 1)
(barre 5 2 3))
}
c1^\markup {
\override #'(fret-diagram-details . (
(fret-label-horizontal-offset . 2)
(paren-padding . 0.25))) {
\fret-diagram-verbose #'((mute 6)
(place-fret 5 3 1)
(place-fret 4 5 2)
(place-fret 3 5 3)
(place-fret 1 6 4 parenthesized)
(place-fret 2 3 1)
(barre 5 2 3))
}
}
}
@end lilypond
@item
È stato aggiunto un nuovo comando per il testo: @code{\justify-line}. È simile
al comando @code{\fill-line} con la differenza che invece di impostare le
@emph{parole} in colonne, il comando @code{\justify-line} bilancia lo spazio
tra di esse assicurando che sia sempre regolare se ci sono tre o più
parole nel testo.
@lilypond[quote,verbatim,papersize=a6]
\markup \fill-line {oooooo oooooo oooooo oooooo}
\markup \fill-line {ooooooooo oooooooo oo ooo}
@end lilypond
@lilypond[quote,verbatim,papersize=a6]
\markup \justify-line {oooooo oooooo oooooo oooooo}
\markup \justify-line {ooooooooo oooooooo oo ooo}
@end lilypond
@item
È stato aggiunto un nuovo comando @code{\magnifyMusic}, che permette di
cambiare la dimensione della notazione senza cambiare la dimensione del
rigo, ridimensionando proporzionalmente in automatico i gambi, le travature
e la spaziatura orizzontale.
@lilypond[verbatim,quote]
\new Staff <<
\new Voice \relative {
\voiceOne
4 8. 16 8 4 r8
}
\new Voice \relative {
\voiceTwo
\magnifyMusic 0.63 {
\override Score.SpacingSpanner.spacing-increment = #(* 1.2 0.63)
r32 c'' a c a c a c r c a c a c a c
r c a c a c a c a c a c a c a c
}
}
>>
@end lilypond
@item
Viene fornito un nuovo e flessibile modello per vari tipi di musica
corale. Può essere usato per creare semplice musica corale, con
o senza accompagnamento per pianoforte, in due o quattro righi.
Diversamente da altri modelli, questo modello è @q{integrato}, ovvero
non c'è bisogno di copiarlo e modificarlo: basta includerlo con
@code{\include} nel file di input. Maggiori dettagli
in @rlearning{Modelli integrati}.
@item
Il posizionamento dei numeri dei gruppi irregolari per le travature angolari
è stato migliorato molto. In precedenza, i numeri erano posizionati in
base alla posizione della parentesi del gruppo irregolare, anche se questa
era omessa. Ciò poteva causare numeri mal posizionati. Ora sono posizionati
più vicino alla travatura angolare se esiste un segmento di travatura appropriato
per il suo posizionamento e se la parentesi è omessa.
È stato aggiunto anche il rilevamento delle collisioni, per cui il numero
viene spostato orizzontalmente se troppo vicino a una colonna di note
adiacente, ma viene preservata la distanza verticale tra il numero e la
travatura angolare. Se il numero è troppo grande per entrare nello
spazio disponibile, viene usato il sistema di posizionamento originale
basato sulla parentesi; e in caso di collisione (per esempio con un'alterazione)
il numero del gruppo irregolare viene invece spostato verticalmente.
@lilypond[verbatim,fragment,quote,relative=1]
\time 3/4
\override Beam.auto-knee-gap = 3
\tuplet 3/2 4 {
g8 c'' e,
c'8 g,, e''
g,,8 e''' c,,
}
@end lilypond
@noindent
Il comportamento originale può essere ottenuto attraverso un
@code{\override} e una nuova proprietà @code{knee-to-beam}.
@lilypond[verbatim,fragment,quote,relative=1]
\time 3/4
\override Beam.auto-knee-gap = 3
\override TupletNumber.knee-to-beam = ##f
\tuplet 3/2 4 {
g8 c'' e,
c'8 g,, e''
g,,8 e''' c,,
}
@end lilypond
@item
@code{\lyricsto} e @code{\addLyrics} sono stati @q{armonizzati}. Entrambi
ora accettano lo stesso tipo di lista di argomenti limitata che accettano
anche @code{\lyrics} e @code{\chords}. È stata aggiunta la compatibilità
all'indietro così che gli identificatori della musica (es: @code{\mus})
sono permessi come argomenti. È stata aggiunta a convert-ly una regola
che toglie gli usi ridondanti di @code{\lyricmode} e riorganizza le
combinazioni con l'inizio dei contesti in modo che @code{\lyricsto} in
generale sia applicato per ultimo (ovvero come accadrebbe con @code{\lyricmode}).
@item
Le funzioni e gli identificatori Scheme ora possono essere usati come
definizioni di output.
@item
Le espressioni Scheme possono ora essere usate come costituenti di un accordo.
@item
Migliorata la spaziatura verticale delle teste, di dimensione piccola e normale,
della nota @q{MI} negli stili Funk and Walker, così che ora abbiano la stessa
larghezza di altre note a forma variabile nei loro rispettivi gruppi.
Anche le teste della nota @code{SOL} ora sono migliorate visivamente
se utilizzate con le teste di dimensione normale o sottile degli stili
Aiken e Sacred Harp.
@item
@code{LeftEdge} ora ha una proprietà @code{Y-extent} (verticale) che può
essere definita. Si veda @rinternals{LeftEdge}.
@item
Aggiunta una nuova funzione @code{make-path-stencil} che supporta tutti
i comandi @code{path} sia relativi che assoluti:
@code{lineto}, @code{rlineto}, @code{curveto}, @code{rcurveto},
@code{moveto}, @code{rmoveto}, @code{closepath}. La funzione supporta
anche la sintassi di @q{single-letter} usata nei comandi path standard
dei file SVG:
@code{L}, @code{l}, @code{C}, @code{c}, @code{M}, @code{m}, @code{Z} e
@code{z}. Il nuovo comando è anche compatibile all'indietro con la
funzione originale @code{make-connected-path-stencil}. Si veda anche
@file{scm/stencil.scm}.
@item
Le proprietà di contesto nominate nella proprietà @samp{alternativeRestores} sono
ripristinate al loro valore presente all'inizio della @emph{prima} alternativa in
tutte le alternative successive.
Attualmente l'impostazione predefinita ripristina il @q{metro corrente};
@lilypond[verbatim,fragment,quote,relative=2]
\time 3/4
\repeat volta 2 { c2 e4 | }
\alternative {
{ \time 4/4 f2 d | }
{ f2 d4 | }
}
g2. |
@end lilypond
@noindent
@q{la posizione della misura};
@lilypond[verbatim,fragment,quote,relative=2]
\time 3/4
\repeat volta 2 { c2 e4 | }
\alternative {
{ \time 4/4
\set Timing.measurePosition = #(ly:make-moment -1/2)
f2 | }
{ f2 d4 | }
}
g2. |
@end lilypond
@noindent
e i @q{cambi di accordo};
@lilypond[verbatim,fragment,quote]
<<
\new ChordNames {
\set chordChanges = ##t
\chordmode { c1:m d:m c:m d:m }
}
\new Staff {
\repeat volta 2 { \chordmode { c1:m } }
\alternative {
{ \chordmode { d:m } }
{ \chordmode { c:m } }
}
\chordmode { d:m }
}
>>
@end lilypond
@item
Migliorato l'output MIDI dei respiri. Dopo le note legate con legatura
di valore, i respiri prendono il tempo @emph{solo} dall'ultima nota della
legatura; per esempio, @code{@{ c4~ c8 \breathe @}} viene riprodotto
come @code{@{ c4~ c16 r @}} invece di @code{@{ c4 r8 @}}. Ciò è più
coerente con le articolazioni e col modo in cui l'essere umano interpreta
i respiri che seguono una legatura di valore. Semplifica anche
l'allineamento di respiri simultanei su molteplici parti, tutte con
diverse lunghezze delle note.
@item
È stata aggiunto un nuovo stile per le teste di nota dell'intavolatura;
@code{TabNoteHead.style = #'slash}.
@item
Sono stati aggiunti quattro nuovi glifi di chiave: @emph{Doppio Sol},
@emph{Sol tenore}, @emph{varpercussion} e @emph{varDo} e la loro relativa
tessitura.
@lilypond[verbatim,quote,fragment]
\override Staff.Clef.full-size-change = ##t
\clef "GG" c c c c
\clef "tenorG" c c c c
\clef "varC" c c c c
\clef "altovarC" c c c c
\clef "tenorvarC" c c c c
\clef "baritonevarC" c c c c
\clef "varpercussion" c c c c
\break
\override Staff.Clef.full-size-change = ##f
\clef "GG" c c c c
\clef "tenorG" c c c c
\clef "varC" c c c c
\clef "altovarC" c c c c
\clef "tenorvarC" c c c c
\clef "baritonevarC" c c c c
\clef "varpercussion" c c c c
@end lilypond
@item
Le durate isolate di una sequenza musicale ora sono interpretate
come note prive di altezza. Possono essere utili per creare dei
ritmi musicali o delle funzioni scheme. Quando sono elaborate
per generare la partitura finale, le altezze sono prese dalla
nota o accordo precedenti. Ecco due esempi
Isolated durations in music sequences now stand for unpitched
notes. This may be useful for specifying rhythms to music or
scheme functions. When encountered in the final score, the
pitches are provided by the preceding note or chord. Here are two
che illustrano come l'input sia più facile da leggere:
@lilypond[verbatim,quote]
\new DrumStaff \with { \override StaffSymbol.line-count = 1 }
\drummode {
\time 3/4
tambourine 8 \tuplet 3/2 { 16 16 16 }
8 \tuplet 3/2 { 16 16 16 } 8 8 |
}
@end lilypond
@lilypond[verbatim,quote]
\new Staff { r16 c'16 ~ 8 ~ 4 ~ 2 | }
@end lilypond
@item
@code{\displayLilyMusic} e le sue sottostanti funzioni Scheme non
omettono più le durate ridondanti. Ciò semplifica il riconoscimento
affidabile e la formattazione delle durate isolate in espressioni
come questa
@example
@{ c4 d4 8 @}
@end example
@item
Le eccezioni della disposizione delle travature possono essere costruite
con la funzione scheme @code{\beamExceptions}. Ora si può scrivere
@lilypond[verbatim,quote,relative=1]
\time #'(2 1) 3/16
\set Timing.beamExceptions =
\beamExceptions { 32[ 32] 32[ 32] 32[ 32] }
c16 c c |
\repeat unfold 6 { c32 } |
@end lilypond
@noindent
separando le eccezioni con i segni di controllo di battuta @code{|}
(scrivere lo schema ritmico senza altezza è comodo ma non obbligatorio).
In precedenza le eccezioni dovevano essere specificate così
@example
\set Timing.beamExceptions =
#'( ;inizio della lista associativa
(end . ;elemento per la chiusura delle travature
( ;inizio della lista associativa per le estremità
((1 . 32) . (2 2 2)) ;regola per le travature di 1/32 -- chiudi ogni 1/16
)))
@end example
@item
Le articolazioni più comuni sono ora presenti nell'output MIDI.
L'accento e il marcato aumentano il volume delle note; staccato,
staccatissimo e portato le rendono più brevi. I respiri abbreviano
la nota precedente.
Tale comportamento può essere personalizzato attraverso le proprietà
@code{midiLength} e @code{midiExtraVelocity} in @code{ArticulationEvent}.
Si vedano gli esempi in @file{script-init.ly}.
@item
La funzionalità PostScript di regolazione del tratto non è più
applicata automaticamente bensì è lasciata alla discrezione del
dispositivo PostScript (il comportamento predefinito di Ghostscript
è di usarla per risoluzioni fino a 150ppp quando genera immagini raster).
Se abilitata, viene utilizzato un algoritmo di disegno più complesso
per avvantaggiarsi della regolazione del tratto.
La regolazione del tratto può essere forzata specificando l'opzione
da linea di comando @samp{-dstrokeadjust} dell'eseguibile lilypond.
Quando si generano file @code{PDF}, di solito ciò produce anteprime
@code{PDF} notevolmente migliori ma anche file di dimensioni maggiori.
La qualità della stampa ad alte risoluzioni non è interessata da questa
modifica.
@end itemize
@ifhtml
Per i cambiamenti precedenti, vai su
@uref{http://lilypond.org/doc/v2.18/Documentation/changes/},
@uref{http://lilypond.org/doc/v2.16/Documentation/changes/},
o @uref{../,vai indietro} all'indice della documentazione.
@end ifhtml
@bye