LilyPond Használati útmutató: 2.5 Kézi frissítés

## 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.24.4 (stable-branch).