LilyPond – Neuerungen
Dieses Dokument listet die Änderungen und neuen Funktionen in LilyPond für die Version 2.22.2 seit 2.20. |
Neuerungen in der musikalischen Notation
Verbesserungen bei der Anzeige von Tonhöhen
-
Ein Versetzungszeichen entsprechend des SMuFL-Codes
U+E2E3 wurde hinzugefügt (Extended Helmholtz-Ellis
Versetzungszeichen: Erhöhung um eine undezimale Quarte).
-
Notennamen der Vierteltöne sind jetzt in allen Eingabesprachen verfügbar.
\language "català" \relative { do'4 sol' miqb re do1 }
-
Das Setzen von
suggestAccidentals
auf'cautionary
wandelt nur warnende Versetzungszeichen inAccidentalSuggestion
um. Dies kann zur Unterscheidung zwischen originalen und redaktionellen Versetzungszeichen benutzt werden.\relative { \key d \minor d''4 cis8 b? cis2 \set suggestAccidentals = ##t d4 cis8 b? cis2 \set suggestAccidentals = #'cautionary d4 cis8 b? cis2 }
-
Der Befehl
\ambitusAfter
wurde hinzugefügt, um den Ambitus an eine andere Position zu verschieben.\new Staff \with { \consists Ambitus_engraver } \relative { \ambitusAfter key-signature \key d \major es'8 g bes cis d2 }
-
Oktavierungszeichen werden jetzt standardmäßig mit einer einzelnen Nummer
versehen (beispielsweise ‚8‘ oder ‚15‘) und fett gedruckt. Eine neue
Eigenschaft
ottavationMarkups
wurde eingeführt, um dieses Verhalten zu verändern, wofür mehrere vordefinierte Werte verfügbar sind:\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 }
Verbesserungen bei Rhythmen
-
N-tolen können jetzt mit Bögen statt Klammern gedruckt werden:
\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 }
-
Französische Bebalkung (
\override Stem.french-beaming = ##t
) verhält sich jetzt in allen Belangen genauso wie Standardbebalkung (Positionierung der Balken und Platzierung der Artikulationen, Fingersätze, etc.). Der einzige verbleibende Unterschied ist, dass innere Hälse nicht durch die Balken gehen. -
Swing und unregelmäßige rhythmische Muster können jetzt auf
Musikausdrücke aus regulären Dauern angewandt werden, wodurch
ungleiche rhythmische Interpretationen in MIDI erzeugt werden können.
\include "swing.ly" << \new Staff \with { instrumentName = "ordinary" } \repeat unfold 8 c'8 \new Staff \with { instrumentName = "with swing" } \repeat unfold 4 \tripletFeel 8 { c'8 c' } \new Staff \with { instrumentName = "triplets" } \tuplet 3/2 4 \repeat unfold 12 c'8 >>
-
Schriftzeichen für 256-, 512- und 1024-Fahnen und -Pausen wurden hinzugefügt.
-
Der neue
Merge_mmrest_numbers_engraver
versteckt doppelte Nummern auf mehrtaktigen Pausen.
Verbesserungen bei Ausdrucksbezeichnungen
-
Ein Dynamikbefehl
\n
für niente wurde hinzugefügt. -
Zwei neue Ornamente wurden hinzugefügt.
{ c''2\slashturn c''\haydnturn }
-
Eine sehr kurze Fermate und Henze-Variationen der langen und kurzen
Fermaten wurden hinzugefügt.
{ c'1\veryshortfermata c'2\henzeshortfermata c'\henzelongfermata }
-
Fermaten und andere Artikulationen können jetzt direkt bei mehrtaktigen
Pausen hinzugefügt werden. Der Befehl
\fermataMarkup
ist daher veraltet.{ R1\fermata R-> R\coda }
Verbesserungen bei Anmerkungen
-
Der
New_fingering_engraver
berücksichtigt jetzt die EigenschaftX-align-on-main-noteheads
desself-alignment-interface
. Falls gesetzt (##t
) werden alle Fingersätze mit Orientierungup
oderdown
in einer Spalte angeordnet und an den Notenköpfen auf der richtigen Seite der Hälse ausgerichtet:{ \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> }
Verbesserungen bei der Textformattierung
- Die Standardschriftarten sind jetzt jene aus der Sammlung URW Core 35, Version 2.0, statt der TeX Gyre Schriftarten. Es ist zu beachten, dass die neuen Schriftarten eine Ligatur für ‚Nr.‘ enthalten; die englische Dokumentation enthält im Abschnitt ‚Fonts explained‘ Lösungen, um die Ersetzung lokal und global zu vermeiden.
-
Der Befehl
\note
erwartet jetzt als erstes Argument eine Dauer statt einer Zeichenkette:\markup { \override #'(style . cross) { \note {4..} #UP } \hspace #2 \note {\breve} #0 }
Neuerungen für spezielle Notation
Verbesserungen für die Notation von Gesang
-
Ein Bindestrich kann jetzt am Anfang eines Systems
wiederholt werden, das mit einer neuen Silbe beginnt:
-
Ein sanfter Wechsel von Vokalen (oder anhaltender Konsonanten)
kann durch einen Vokalübergang zwischen Silben durch den Befehl
\vowelTransition
angezeigt werden:{ g'2 g' } \addlyrics { Ah \vowelTransition oh. }
Verbesserungen für Saitenunstrument mit und ohne Bünden
-
Bund-Diagramme können jetzt linkshändig dargestellt werden, indem die
Einstellung
handedness
auf den WertLEFT
gesetzt wird (als Untereigenschaft vonfret-diagram-details
).\markup \center-column { "C" "(left-handed)" \override #`(fret-diagram-details . ((handedness . ,LEFT))) \fret-diagram "6-x;5-3-3;4-2-2;3-o;2-1;1-o;" }
- Einige Bund-Diagramme für Ukulelen wurden korrigiert und neue Diagramme hinzugefügt.
Verbesserungen für die Notation von Akkorden
-
Akkorde können jetzt automatisch invertiert oder Noten ausgelassen werden.
\chordmode { \dropNote 2 { c2:maj7 d:m7 } \invertChords 1 d1:maj7 }
-
Die alten Funktionen
banter-chord-names
undjazz-chord-names
für die Benennung von Akkorden wurden aus dem Hauptcode entfernt, ebenso wie die EigenschaftenchordNamesExceptionsFull
undchordNamesExceptionsPartial
. Im Zuge dieser Überarbeitung sind Powerakkorde jetzt Teil der normalen Ausnahmen und werden ohne Anpassungen richtig dargestellt (mit hochgestellten Zeichen wie alle anderen Akkorde), ohne den Befehl\powerChords
. Bei Interesse an den ehemaligen Funktionen wird auf deren (teilweise funktionierende) Kopie in dem Schnipsel ‘chord-names-alternative.ly’ verwiesen.
Verbesserungen für zeitgenössische Musik
-
Ein neues Grob
DurationLine
ist jetzt verfügbar. Es setzt ein rhythmisches Grob mit einer Linie fort, die am nächsten rhythmischen Grob endet. Mögliche Aussehen sind'beam
,'line
,'dashed-line
,'dotted-line
,'zigzag
,'trill
und'none
. Die Haltelinie kann mit einem Haken (nur in der Art eines Balkens) oder einem Pfeil abgeschlossen werden.
Neuerungen in der Ein- und Ausgabe
Verbesserungen bei der Eingabedatei
-
Wie bei der Version 2.17.3 vor nahezu acht Jahren angekündigt
ist die Option
'relative-includes
jetzt standardmäßig aktiviert: Eingebundene Dateien, die selbst einen\include
Befehl enthalten, müssen von ihrem eigenen Pfad ausgehen statt vom Verzeichnis der Hauptdatei. Dieses Verhalten kann durch Setzen der Einstellung'relative-includes
auf#f
ausgeschaltet werden, entweder als Option von die Kommandozeile oder durch Benutzung vonly:set-option
in der Quelldatei. -
\compressFullBarRests
wurde in\compressEmptyMeasures
umbenannt, um mögliche Verwirrung mit\compressMMRests
zu vermeiden. Gleichfalls heißt\expandFullBarRests
ab dieser Version\expandEmptyMeasures
. -
Der Befehl
\partcombine
ebenso wie alle Befehle, Unterroutinen und Eigenschaften mit dem PräfixpartCombine
werden jetzt mit einem großen C geschrieben, also\partCombine
,\partCombineApart
etc. Der Befehl\autochange
wurde zu\autoChange
. -
Alle Eingabesprachen des Befehls
\language
können jetzt mit ihrer richtigen UTF-8-Schreibweise mit Sonderzeichen eingegeben werden. Die fehlenden Namencatalà
undportuguês
sind zusätzlich auch mit den ursprünglichen Namencatalan
portugues
verfügbar. - LilyPond für Windows (MinGW) kann jetzt Dateinamen mit Unicode-Zeichen ab Windows 10 1903 behandeln.
Verbesserungen bei der Ausgabe
-
Skylines berücksichtigen jetzt die Eigenschaft
rotation
von Layout-Objekten. Das Drehen einer Crescendo-Klammer über das Setzen von\override Hairpin.rotation = #'(15 0 0)
hat jetzt beispielsweise einen Einfluss auf die Skylines und hilft so beim Verbessern der Abstände. -
Es wurden geringe Abstände zwischen Auflösungszeichen hinzugefügt, die sich
bei Aufhebung der Tonart nur an den Ecken berühren.
{ \omit Staff.TimeSignature \key ces \major s1 \key c \major s }
-
Skylines von Boxen berücksichten jetzt den echten Umriss mit
abgerundeten Ecken und Drehungen.
#(ly:set-option 'debug-skylines #t) { b'1^\markup \scale #'(2 . 1) \rotate #30 \override #'(corner-radius . 3) \rounded-box \center-column { box skyline } }
-
CSS-Farben können jetzt direkt verwendet werden, entweder mit ihren
vordefinierten Namen (wie bei der bereits verfügbaren Funktion
css-color
) oder mit ihren hexadezimalen Farbcodes nach Angabe des Präfix#
. Alle Zeichenroutinen, die die Eigenschaftcolor
unterstützen, akzeptieren jetzt entweder eine Liste oder eine Zeichenkette; im letzteren Fall wird diese Zeichenkette direkt in der SVG-Ausgabe genutzt. Das ermöglicht die Verwendung von alpha-Transparenz in SVG (eingegeben als "#RRGGBBAA" oder "#RGBA").\override NoteHead.color = "lightsalmon" \override Flag.color = "#E30074" \override Beam.color = "#5e45ad" \override Rest.color = "#3058" g'8 \huge r4 a'16 f'
-
PDF-Lesezeichen werden jetzt unterstützt und ermöglichen es, dass Einträge
mit
\tocItem
im ‚Inhaltsverzeichnis‘ eines PDF-Betrachters erscheinen, der dies unterstützt. -
\table-of-contents
akzeptiert jetzt hierarchische Strukturen; ein Eintrag mit\tocItem
kann zusätzlich ein Symbol (wie\label
) oder eine durch Punkte getrennte Liste von Symbolen annehmen, die die Position in der Partiturstruktur anzeigt. Ein Nebeneffekt dieser Änderung ist, dass\tocItem
nicht länger eine einfache Zeichenkette annimmt, sondern der Befehl\markup
genutzt werden muss.\tocItem \markup "Top-level entry" \tocItem symbol "Named top-level entry" \tocItem symbol.list "Second-level (child) entry"
- Mit den neuen Optionen ‘-dpng-width’ und ‘-dpng-height’ ist es jetzt möglich, die Größe der PNG-Ausgabe in Pixeln anzugeben.
- Die Ausgabe als SVG kann jetzt durch die Option ‘--svg’ aktiviert werden (oder durch die kanonische Form ‘--format=svg’, kurz auch als ‘-fsvg’). Wegen der Festlegung des Backends ist diese Option noch nicht mit anderen Ausgabeformaten kompatibel; um eine Datei sowohl in SVG und PDF, PNG oder EPS zu übersetzen, ist ein zweiter Aufruf von LilyPond nötig.
For older news, go to https://lilypond.org/doc/v2.20/Documentation/changes/, https://lilypond.org/doc/v2.18/Documentation/changes/, or go back to the Documentation index.