GNU LilyPond program usage: 3.4.3 Problems with convert-ly

### 3.4.3 Problems with `convert-ly`

When running convert-ly in a Command Prompt window under Windows on a file which has spaces in the filename or in the path to it, it is necessary to surround the entire file name with three (!) sets of double quotes:

>     convert-ly """D:/My Scores/Ode.ly""" > """D:/My Scores/new Ode.ly"""

If the simple `convert-ly -e *.ly` command fails because the expanded command line becomes too long, the `convert-ly` command may be placed in a loop instead. This example for UNIX will upgrade all `.ly` files in the current directory

>     for f in *.ly; do convert-ly -e $f; done;

In the Windows Command Prompt window the corresponding command is

>     for %x in (*.ly) do convert-ly -e """%x"""

Not all language changes are handled. Only one output option can be specified. Automatically updating scheme and LilyPond scheme interfaces is quite unlikely; be prepared to tweak scheme code manually.

    There are a few things that the convert-ly cannot handle.  Here's a list
    of limitations that the community has complained about.

    This bug report structure has been chosen because convert-ly has a
    structure that doesn't allow to smoothly implement all needed changes.
    Thus this is just a wishlist, placed here for reference.

    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.

Other languages: español, deutsch.

#### Application Usage