2.5 Kézi frissítés

Ideális esetben a convert-ly minden változás kezelésére képes lenne. Elvégre ha a régi verzió képes volt értelmezni a régi nyelvtant, az új verzió pedig az újat, akkor elvileg létezhetne egy másik program, amelyik a kettő közötti konverziót elvégzi1.

A gyakorlatban azonban a LilyPond erőforrásai korlátosak: nem minden konverzió történik meg automatikusan. Íme az ismert problémák listája.

1.6 -> 2.0:
- A számozott basszus frissítése nem tökéletes, főleg a {< >} esetében.
Ez úgy kerülhető meg, hogy a '{<' karakterlánc összes előfordulását egy
ideiglenes másik karakterláncra cseréljük, pl. '{#'-re. Hasonlóképpen a
'>}' előfordulásai '&}'-re cserélendőek. A frissítés után pedig a következő
cseréket kell végrehajtani: '{ #' -> '{ <' és '& }' -> '> }'.
- A formázott szövegek frissítése sem mindig jó. Eddig zárójelekkel
csoportosítani lehetett több formázó parancsot, pl.:
   -#'((bold italic) "string")
Ez sajnos helytelenül a következővé alakul:
   -\markup{{\bold italic} "string"}
A helyes ez lenne:
   -\markup{\bold \italic "string"}

2.0 -> 2.2:
- A \partCombine frissítése nem támogatott.
- Az \addlyrics => \lyricsto frissítés nem történik meg, ez több versszakkal
rendelkező kották esetében problémát okozhat.

2.0 -> 2.4:
A következő konverziók nem támogatottak:
- \magnify #m => \fontsize #f, ahol f = 6ln(m)/ln(2))
- \applyMusic #(remove-tag '...) => \keepWithTag #'...
- first-page-number no => print-first-page-number = ##f
- "Első sor" \\\\ "Második sor" =>
  \markup \center-align < "Első sor" "Második sor" >
- \rced => \!
- \rc => \!

2.2 -> 2.4:
A \turnOff parancs (pl. a következő esetben:
\set Staff.VoltaBracket = \turnOff) frissítése helytelen.

2.4.2 -> 2.5.9
A \markup{ \center-align <{ ... }> } parancs a frissítés után
\markup{ \center-align {\line { ... }} } kellene, hogy legyen, de a \line
jelenleg hiányzik.

2.4 -> 2.6
A speciális LaTeX karakterek (pl. $~$) nem alakulnak át az UTF-8
megfelelőjükre.

2.8
A \score{} blokknak innentől kezdve egy zenei kifejezéssel kell kezdődnie.
Minden más (pl. a \header{} blokk) a zene után jöhet csak.

Lábjegyzet

[1] Legalábbis ez abban az esetben lehetséges, ha a LilyPond fájl nem tartalmaz Scheme kódot. Ha viszont tartalmaz, akkor egy Turing-teljes nyelvvel van dolgunk, és az algoritmuselméletben jól ismert „megállási problémába” ütközünk.


LilyPond — Használat v2.23.82 (development-branch).