@c -*-texinfo-*-

@node convert-ly
@chapter convert-ly


Convert-ly sequentially applies different conversions to upgrade a
Lilypond input file.  It uses @code{\version} statements in the file to
detect the old version number.

@unnumberedsubsec Invoking convert-ly

@example
        convert-ly [OPTION]... [FILE]...
@end example


@table @code
@item -a,--assume-old
    If version number cannot be determined, apply all conversions.
@item -e,--edit
    Do an inline edit of the input file. Overrides @code{--output}.
@item -f,--from=@var{from-patchlevel}
    Set the level to convert from. If this is not set, convert-ly will
    guess this, on the basis of @code{\version} strings in the file.
@item -o,--output=@var{file}
    Set the output file to write.  
@item -n,--no-version
    Normally, convert-ly adds a @code{\version} indicator 
    to the output. Specifying this option suppresses this.  
@item -s, --show-rules
    Show all known conversions and exit.
@item --to=@var{to-patchlevel}
    Set the goal version of the conversion. It defaults to the latest
    available version.
@item -h, --help
    Print usage help
@end table

@unnumberedsubsec Example

Upgrade all lilypond files to 1.3.150:
@example
        convert-ly -e --to=1.3.150 `find -name '*.ly'`
@end example

@unnumberedsubsec Bugs

Not all language changes are handled. Multiple output options won't
work.

@unnumberedsubsec Authors

@code{convert-ly} is written in @uref{http://www.python.org,Python}. It
was written by @email{hanwen@@cs.uu.nl, Han-Wen Nienhuys}. Report bugs
to @code{bug-lilypond@@gnu.org}


