lilypond-usage: Manual conversions

 
 2.5 Manual conversions
 ======================
 
 In theory, a program like ‘convert-ly’ could handle any syntax change.
 After all, a computer program interprets the old version and the new
 version, so another computer program can translate one file into
 another(1).
 
    However, the LilyPond project has limited resources: not all
 conversions are performed automatically.  Below is a list of known
 problems.
 
 1.6->2.0:
  Doesn't always convert figured bass correctly, specifically things like {<
 >}.  Mats' comment on working around this:
    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 '> }'.
  Doesn't convert all text markup correctly.  In the old markup syntax,
  it was possible to group a number of markup commands together within
 parentheses, e.g.
    -#'((bold italic) "string")
    This will incorrectly be converted into
    -\markup{{\bold italic} "string"}
    instead of the correct
    -\markup{\bold \italic "string"}
 2.0->2.2:
  Doesn't handle \partcombine
  Doesn't do \addlyrics => \lyricsto, this breaks some scores with multiple
 stanzas.
 2.0->2.4:
  \magnify isn't changed to \fontsize.
     - \magnify #m => \fontsize #f, where f = 6ln(m)/ln(2)
  remove-tag isn't changed.
     - \applyMusic #(remove-tag '. . .) => \keepWithTag #'. . .
  first-page-number isn't changed.
     - first-page-number no => print-first-page-number = ##f
  Line breaks in header strings aren't converted.
     - \\\\  as line break in \header strings => \markup \center-align <
       "First Line" "Second Line" >
  Crescendo and decrescendo terminators aren't converted.
     - \rced => \!
     - \rc => \!
 2.2->2.4:
  \turnOff (used in \set Staff.VoltaBracket = \turnOff) is not properly
 converted.
 2.4.2->2.5.9
  \markup{ \center-align <{ ... }> } should be converted to:
  \markup{ \center-align {\line { ... }} }
  but now, \line is missing.
 2.4->2.6
  Special LaTeX characters such as $~$ in text are not converted to UTF8.
 2.8
  \score{} must now begin with a music expression.  Anything else
  (particularly \header{}) must come after the music.
 
    ---------- Footnotes ----------
 
    (1) At least, this is possible in any LilyPond file which does not
 contain scheme.  If there is scheme in the file, then the LilyPond file
 contains a Turing-complete language, and we run into problems with the
 famous “Halting Problem” in computer science.