GNU LilyPond Programmbenutzung: 2.5 Manuelle Konversion

## 2.5 Manuelle Konversion

Theoretisch könnte ein Programm wie `convert-ly` alle möglichen Syntax-Änderungen berücksichtigen. Schließlich ist es auch ein Computerprogramm, das die alte und die neue Version der Notationsdatei interpretiert, so dass ein anderes Computerprogramm eine Datei in die andere verwandeln könnte.1

Das LilyPond-Team ist jedoch verhältnismäßig klein, sodass nicht alle Konversionen automatisch funktionieren. Unten eine Liste der bekannten Probleme:

    1.6->2.0:
     Bezifferter Bass wird nicht immer richtig konvertiert, besonders {<
     >}.  Mats' Kommentar zu einer Lösung:
       To be able to run convert-ly
       on it, I first replaced all occurrences of '{<' to some dummy like '{#'
       and similarly I replaced '>}' with '&}'.  After the conversion, I could
       then change back from '{ #' to '{ <' and from '& }' to '> }'.
     Nicht alle Textbeschriftung wird richtig konvertiert.  In der alten Syntax
     konnte man mehrere Beschriftungen mit Klammern gruppieren, etwa:
       -#'((bold italic) "string")
       Das wird falsch konvertiert zu:
       -\markup{{\bold italic} "string"}
       anstelle von:
       -\markup{\bold \italic "string"}
    2.0->2.2:
     Versteht nicht \partCombine
     Kann nicht \addlyrics => \lyricsto, sodass einige Dateien mit vielen Strophen nicht
     funktionieren
    2.0->2.4:
     \magnify wird nicht nach \fontsize verändert.
        - \magnify #m => \fontsize #f, where f = 6ln(m)/ln(2)
     remove-tag wird nicht verändert.
        - \applyMusic #(remove-tag '. . .) => \keepWithTag #'. . .
     first-page-number wird nicht verändert.
        - first-page-number no => print-first-page-number = ##f
     Zeilenumbrüche in Titelköpfen werden nicht umgewandelt.
        - \\\\  als Zeilenumbruch in \header-Feldern => \markup \center-align <
          "Erste Zeile" "Zweite Zeile" >
     Crescendo und decrescendo-Endpunkte werden nicht umgewandelt.
        - \rced => \!
        - \rc => \!
    2.2->2.4:
     \turnOff (benutzt in \set Staff.VoltaBracket = \turnOff) wird nicht richtig konvertiert
    2.4.2->2.5.9
     \markup{ \center-align <{ ... }> } sollte konvertiert werden in:
     \markup{ \center-align {\line { ... }} }
     jetzt fehlt aber \line.
    2.4->2.6
     Besondere LaTeX-Zeicehn wie $~$ in Text werden nicht in UTF-8 umgewandelt.
    2.8
     \score{} muss jetzt immer mit einem musikalischen Ausdruck beginnen. Alles
    andere (insbesondere \header{}) darf erst nach den Noten kommen.

### Fußnoten

[1] Das ist auf jeden Fall möglich für jede LilyPond-Datei, die kein Scheme beinhaltet. Wenn Scheme in der Datei verwendet wurde, enthält die Datei Turing-complete Sprache und es gibt Probleme mit dem „Halteproblem“ der Informatik.

#### LilyPond – Usage v2.22.2 (stabiler Zweig).