LilyPond — Cambiamenti
|
Questo documento elenca i cambiamenti e le nuove funzionalità della versione 2.22.2 di LilyPond rispetto alla 2.20. |
Novità nella notazione musicale
Miglioramenti dell’aspetto delle altezze
-
È stato aggiunnto un glifo per le alterazioni corrispondente al codice SMuFL
U+E2E3 (alterazioni dell’intonazione Extended Helmholtz-Ellis: aumenta di un
quarto di tono non decimale).
-
I nomi delle note per i quarti di tono sono ora disponibili in tutte le
lingue di input.
\language "català" \relative { do'4 sol' miqb re do1 } -
Impostando
suggestAccidentalssu'cautionarysolo le alterazioni di cortesia sono trasformate in alterazioni suggerite (AccidentalSuggestion). Ciò può servire per distinguere tra il manoscritto originale e le alterazioni editoriali.\relative { \key d \minor d''4 cis8 b? cis2 \set suggestAccidentals = ##t d4 cis8 b? cis2 \set suggestAccidentals = #'cautionary d4 cis8 b? cis2 } -
È stato aggiunto il comando
\ambitusAfter, usato per spostare l’ambitus in una posizione diversa.\new Staff \with { \consists Ambitus_engraver } \relative { \ambitusAfter key-signature \key d \major es'8 g bes cis d2 } -
Le parentesi dell’ottava, per comportamento predefinito, vengono ora introdotte
da un numero singolo (per esempio, ‘8’ o ‘15’) e visualizzate in grassetto.
Per modificare questo comportamento è stata introdotta una nuova proprietà
ottavationMarkups, che ha a disposizione vari elenchi predefiniti di testi formattati:\relative c'' { \ottava #1 a'2 b \ottava #2 a'2 b \bar "||" \set Staff.ottavationMarkups = #ottavation-ordinals \ottava #1 a,2 b \ottava #2 a'2 b \bar "||" \set Staff.ottavationMarkups = #ottavation-simple-ordinals \ottava #1 a,2 b \ottava #2 a'2 b }
Miglioramenti del ritmo
-
I gruppi irregolari ora possono avere le legature di portamento al posto delle
parentesi:
\relative { \tuplet 3/2 4 { \override TupletBracket.tuplet-slur = ##t c'4 e8 d4 f8 \override TupletBracket.bracket-visibility = ##t e f g f e d } c1 } -
La disposizione delle travature alla francese (
\override Stem.french-beaming = ##t) ora si comporta esattamente come nella disposizione standard (ovvero quella predefinita) in ogni aspetto (posizionamento della travatura e sistemazione di ciascuna articolazione, diteggiatura, etc.). L’unica differenza rimasta è data dai gambi più interni che non attraversano le travature. -
Lo swing e gli schemi ritmici irregolari ora possono essere applicati
alle espressioni musicali fatte di durate normali, potendo così ottenere
un’interpretazione ritmica disuguale nel MIDI.
\include "swing.ly" << \new Staff \with { instrumentName = "ordinario" } \repeat unfold 8 c'8 \new Staff \with { instrumentName = "con swing" } \repeat unfold 4 \tripletFeel 8 { c'8 c' } \new Staff \with { instrumentName = "terzine" } \tuplet 3/2 4 \repeat unfold 12 c'8 >> -
Sono stati aggiunti i glifi dei font per le code uncinate e le pause da
256, 512 e 1024.
-
Il nuovo incisore
Merge_mmrest_numbers_engravernasconde i numeri duplicati nelle pause multiple.
Miglioramenti dei segni espressivi
-
È stato aggiunto un comando di dinamica
\nper niente. -
Sono stati aggiunti due nuovi ornamenti.
{ c''2\slashturn c''\haydnturn } -
Sono stati aggiunti un nuovo punto coronato molto breve e le varianti Henze
dei punti coronati lunghi e brevi.
{ c'1\veryshortfermata c'2\henzeshortfermata c'\henzelongfermata } -
I punti coronati e altre articolazioni ora possono essere aggiunti direttamente
alle pause multiple. Dunque il comando
\fermataMarkupè deprecato.{ R1\fermata R-> R\coda }
Miglioramenti delle annotazioni editoriali
-
L’incisore
New_fingering_engravertiene ora in conto della proprietàX-align-on-main-noteheadsdiself-alignment-interface. Se impostata su vero (##t), tutte le diteggiature orientate in sù (up) o in giù (down) saranno sistemate su una colonna diritta e allineate alle teste di nota sul lato corretto del gambo:{ \set fingeringOrientations = #'(up) <e'-1 d''-4 e''-5>4 <a'-1 b'-2 fis''-5> \set fingeringOrientations = #'(down) <e'-1 d''-4 e''-5> <eis'-1 e''-4 fis''-5> \bar "." \override Fingering.X-align-on-main-noteheads = ##t \set fingeringOrientations = #'(up) <e'-1 d''-4 e''-5> <a'-1 b'-2 fis''-5> \set fingeringOrientations = #'(down) <e'-1 d''-4 e''-5> <eis'-1 e''-4 fis''-5> }
Miglioramenti della formattazione del testo
- I font predefiniti sono ora quelli del set URW Core 35, versione 2.0, che sostituiscono i font TeX Gyre. Questi font hanno una legatura per ‘Nr.’; vedi Tipi di carattere in dettaglio per soluzioni in grado di evitarla localmente e globalmente.
-
Il comando di markup
\noteora prende come primo argomento una durata invece di una stringa:\markup { \override #'(style . cross) { \note {4..} #UP } \hspace #2 \note {\breve} #0 }
Novità per la notazione specialistica
Miglioramenti della musica vocale
-
Un trattino del testo vocale ora può essere ripetuto all’inizio di un
sistema che inizia con una nuova sillaba:
-
Un cambiamento graduale di vocale (o consonante sostenuta) può essere
indicato aggiungendo una transizione di vocale tra le sillabe del testo
col comando
\vowelTransition.{ g'2 g' } \addlyrics { Ah \vowelTransition oh. }
Miglioramenti degli strumenti a corda con e senza tasti
-
I diagrammi dei tasti ora possono essere resi per i mancini, impostando
handednesssuLEFT(come sottoproprietà difret-diagram-details).\markup \center-column { "C" "(mancino)" \override #`(fret-diagram-details . ((handedness . ,LEFT))) \fret-diagram "6-x;5-3-3;4-2-2;3-o;2-1;1-o;" } - Alcuni diagrammi dei tasti dell’ukulele sono stati corretti e sono stati aggiunti anche nuovi diagrammi.
Migloramenti della notazione per accordo
-
È ora possibile creare automaticamente il rivolto di un accordo oppure
cambiarne il voicing con note abbassate.
\chordmode { \dropNote 2 { c2:maj7 d:m7 } \invertChords 1 d1:maj7 } -
Le vecchie funzioni per i nomi degli accordi
banter-chord-namesejazz-chord-namessono state tolte dal codice sorgente principale, così come le proprietàchordNamesExceptionsFullechordNamesExceptionsPartial. Come parte di quella riscrittura, i power chord sono ora inclusi nelle eccezioni predefinite; appariranno correttamente (con un apice come in tutti gli altri accordi) senza bisogno di ulteriori modifiche, rendendo quindi obsoleto il comando predefinito\powerChords. Chi fosse interessato alle vecchie funzioni può trovare una loro copia (in qualche modo funzionante) nel frammento ‘chord-names-alternative.ly’.
Miglioramenti per la musica contemporanea
-
È disponibile un nuovo grob:
DurationLine(linea di durata). Continua un grob ritmico con una linea, terminandola al grob ritmico successivo. Gli stili possibili sono'beam,'line,'dashed-line,'dotted-line,'zigzag,'trille'none. La linea di durata può terminare con un gancio (solo beam-style) o con una freccia.
Novità relative a input e output
Miglioramenti dei file di input
-
Come annunciato per la versione 2.17.3 quasi otto anni fa, l’opzione
'relative-includesè ora abilitata per impostazione predefinita; i file inclusi che contengono un comando\includeper conto loro devono considerare il percorso relativo alla propria directory corrente invece che a quella del file principale. Questo comportamento può comunque essere disattivato impostando'relative-includessu#f, come opzione da linea di comando o usandoly:set-optionnei file sorgenti. -
\compressFullBarRestsè stato rinominato\compressEmptyMeasures, per evitare la possibile confusione con\compressMMRests. Analogalmente,\expandFullBarRestssi chiama ora\expandEmptyMeasures. -
Il comando
\partcombine, così come tutti i comandi, sottoprocedure e nomi di proprietà che iniziano conpartCombine, ora si scrivono con una C maiuscola, per esempio\partCombine,\partCombineApartetc. Il comando\autochangeviene anch’esso scritto con la maiuscola come\autoChange. -
Tutte le lingue di input (dichiarazione
\language) si possono inserire usando le loro corrette lettere UTF-8 (inclusi quindi i caratteri speciali). I nomi mancanticatalàeportuguêssono ora disponibili in aggiunta ai nomi originalicatalaneportugues. - LilyPond per Windows (MinGW) può gestire i nomi file in Unicode su Windows 10 1903 e successivi.
Miglioramenti dell’output
-
I profili (skylines) tengono ora in considerazione la proprietà
rotationdegli oggetti di formattazione. Per esempio, ruotando una forcella di crescendo con\override Hairpin.rotation = #'(15 0 0), ora avrà realmente effetto sui profili e dunque aiuterà a migliorare la spaziatura. -
Aggiunto un leggero padding tra i glifi di bequadro che quasi si toccano
agli angoli degli annullamenti delle alterazioni poste nell’armatura di chiave.
{ \omit Staff.TimeSignature \key ces \major s1 \key c \major s } -
I profili dei riquadri ora riflettono il reale contorno del riquadro,
inclusi gli angoli arrotondati e la rotazione.
#(ly:set-option 'debug-skylines #t) { b'1^\markup \scale #'(2 . 1) \rotate #30 \override #'(corner-radius . 3) \rounded-box \center-column { profilo riquadro } } -
I colori in stile CSS ora possono essere usati direttamente come
stringhe di testo, sia coi nomi di colore predefiniti (come con
la funzione
css-colorgià disponibile), sia coi codici colore esadecimale preceduti da#. Tutti gli stampi (stencil) che supportano una proprietàcolorora accettano sia una lista che una stringa; nel secondo caso, quella stringa viene usata direttamente nell’output SVG. Ciò permette di usare la trasparenza sul canala alfa (inserita come "#RRGGBBAA" o "#RGBA") nel formato SVG.\override NoteHead.color = "lightsalmon" \override Flag.color = "#E30074" \override Beam.color = "#5e45ad" \override Rest.color = "#3058" g'8 \huge r4 a'16 f'
-
Sono ora supportati i segnalibri PDF. Gli elementi
\tocItemappaiono nel pannello ‘indice’ dei lettori PDF che lo supportano. -
\table-of-contentsora accetta una struttura gerarchica; gli elementi\tocItempossono prendere (facoltativamente) un simbolo (come\label) o un elenco di simboli separati dal punto, che indichino la loro posizione nella struttura della partitura. Un effetto collaterale di questa funzionalità è che\tocItemnon può più prendere una semplice stringa come suo argomento; bsogna invece usare un comando\markup.\tocItem \markup "Elemento di livello superiore" \tocItem symbol "Elemento di livello superiore con nome" \tocItem symbol.list "Elemento di secondo livello (figlio)"
- È ora possibile specificare la dimensione in pixel delle immagini di output PNG con le nuove opzioni ‘-dpng-width’ e ‘-dpng-height’.
- L’output SVG si può ora ottenere attraverso l’opzione da linea di comando ‘--svg’ (o la sua forma canonica ‘--format=svg’, abbreviata anche come ‘-fsvg’). A causa della specificità del suo backend, questa opzione non è ancora compatibile con altri formati di output; per produrre file sia SVG che PDF, PNG o EPS, è richiesta una seconda compilazione da parte di LilyPond.
Per i cambiamenti precedenti, vai su https://lilypond.org/doc/v2.20/Documentation/changes/, https://lilypond.org/doc/v2.18/Documentation/changes/, o vai indietro all’indice della documentazione.