\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