2.3 Invocación de convert-ly
La instrucción convert-ly usa el número de
\version que está dentro del archivo de entrada para
detectar versiones más antiguas. En casi todos los casos es
suficiente con ejecutar
convert-ly -e miarchivo.ly
en el directorio que contiene el archivo de entrada; esto
actualiza in situ miarchivo.ly y preserva el archivo
original cambiándole el nombre por miarchivo.ly~. El
número de \version en el archivo de entrada actualizado,
junto a las actualizaciones de sintaxis requeridas, se cambian
también.
Cuando se ejecuta la instrucción convert-ly, emite los
números de versión de las conversiones que se han hecho. Si en la
salida no aparece listado para ese archivo ningún número de
versión, ya está actualizado y utiliza la última versión de la
sintaxis de LilyPond.
Nota: Para cada nueva versión de LilyPond, se crea una nueva
instrucción convert-ly. Sin embargo, no toda versión de
LilyPond requiere cambios de sintaxis para los archivos de entrada
a partir de la versión anterior. Esto significa que la
instrucción convert-ly solo convierte los archivos de
entrada hasta los últimos cambios de sintaxis que tiene, y esto a
su vez puede significar que el número de \version que
se deja grabado en el archivo de entrada actualizado, a veces es
más antiguo que la versión de la propia instrucción
convert-ly.
Para convertir todos los archivos de entrada que están en un solo directorio, use
convert-ly -e *.ly
como orden de consola. Para manejar todos los archivos de entrada que residen en diferentes subdirectorios, pruebe
find . -name '*.ly' -exec convert-ly -e '{}' \;
para buscar recursivamente y convertirlos en el directorio actual y en todos los que se encuentran dentro de él. Los archivos convertidos se ubicarán en el mismo directorio junto a sus versiones originales renombradas.
En Windows, ejecute en su lugar
forfiles /s /M *.ly /c "cmd /c convert-ly -e @file"
La instrucción forfiles también acepta una ruta
explícita al nivel superior del la carpeta que contiene todas las
subcarpetas que incluyen archivos de entrada por medio del uso de
la opción /p.
forfiles /s /p C:\Documents\MisPartituras /M *.ly /c "cmd /c convert-ly -e @file"
Si hay espacios dentro de la la ruta al directorio del nivel superior, toda la ruta debe estar dentro de comillas dobles, por ejemplo
forfiles /s /p "C:\Documents\Mis Partituras" /M *.ly /c "cmd /c convert-ly -e @file"