Tengo una biblioteca de iTunes bastante grande (~ 300GB) que es principalmente música clásica. Realmente me gusta el formato Trabajo y Movimiento, pero lamentablemente no es práctico actualizar manualmente mis metadatos al formato Trabajo y Movimiento. Casi todas las etiquetas de canciones existentes están en el siguiente formato:
Telemann - Concerto in E minor: I. Andante
II. Allegro
III. Largo
IV. Allegro
etc.
Una secuencia de comandos que podría automatizar la actualización del sistema de etiquetado se vería como la siguiente.
- En todas las canciones seleccionadas, copie la etiqueta de la canción en la etiqueta de movimiento
- Eliminar el número romano, el período y el espacio de la parte frontal de la etiqueta Movimiento. O, en el formato donde se incluye el nombre completo del trabajo en la etiqueta de la canción, elimínelo.
Cualquier ayuda o punteros para implementar realmente este script sería muy útil. He examinado y usado Guiones de trabajo y movimiento de Doug , pero no cubren el proceso de coincidencia que se necesitaría para eliminar los números romanos desde el principio.
EDIT
Se ha vuelto evidente que muchas de las etiquetas no están en el formato anterior, pero en un formato como el siguiente:
Serenade for strings in C major, Op. 48 - I. Allegro
Serenade for strings in C major, Op. 48 - II. Adagio
Serenade for strings in C major, Op. 48 - III. Allegro moderato
etc.
O en el mismo formato que el anterior, excepto que se usan números arábigos en lugar de los números romanos.
La secuencia de comandos debe dar como resultado que las etiquetas "Movimiento" tengan los siguientes resultados:
Allegro
Adagio
Allegro moderato
La idea es que obtendría la primera parte de esto ("Serenata para cadenas en Do mayor, Op. 48") y la copiaría en la etiqueta "trabajo", que ya he implementado, luego obtengo el texto restante, elimine los números de movimiento y asígnele la etiqueta Movimiento. Cualquier ayuda en la implementación de un sistema que haría esto sería apreciada.
Aquí está el script en su forma actual. Se basa en el script de Doug's Name to Work.
tell application "iTunes"
set sel to selection of front browser window
if sel is {} then
try
display dialog "Nothing is selected…" buttons {"Quit"} with icon 0
end try
return
end if
set c to (count of sel)
set songName to (get name of item 1 of sel)
set userOptions to display dialog "Edit for Work name and then click OK." default answer songName --prompt for work name
repeat with i from 1 to c --set the movement numbers
set thisTrack to item i of sel
try
set work of thisTrack to text returned of userOptions
set movement number of thisTrack to i
set movement count of thisTrack to c
set movement of thisTrack to my delRomNum(name of thisTrack) -- copy movement text from song name and delete roman numerals
end try
end repeat
end tell
on delRomNum(t) -- the perl command search and delete any roman numeral (must be a word followed by the period and a space character)
do shell script "/usr/bin/perl -pe 's/\b[IVXLCDM]+\b. //g' <<< " & quoted form of t
end delRomNum