Tengo una biblioteca de iTunes bastante grande (~300GB) que es principalmente música clásica. Me gusta mucho el formato Work and Movement, pero lamentablemente no es práctico actualizar manualmente mis metadatos al formato Work and Movement. Casi todas las etiquetas de las canciones existentes están en el siguiente formato:
Telemann - Concerto in E minor: I. Andante
II. Allegro
III. Largo
IV. Allegro
etc.
Un script que podría automatizar la actualización del sistema de etiquetado tendría el siguiente aspecto.
- En todas las canciones seleccionadas, copie la etiqueta Canción en la etiqueta Movimiento
- Borre el número romano, el punto y el espacio de la parte delantera de la etiqueta Movimiento. O, en el formato en el que todo el nombre de la obra está incluido en la etiqueta Canción, elimínelo.
Cualquier ayuda o indicación para implementar realmente este script sería muy útil. He mirado y utilizado El trabajo y el movimiento de Doug scripts pero no cubren el proceso de coincidencia que sería necesario para eliminar los números romanos desde el principio.
EDITAR
Se ha visto que muchas de las etiquetas no están en el formato anterior, sino 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, pero utilizando números arábigos en lugar de números romanos.
El script debe hacer que las etiquetas "Movimiento" tengan las siguientes salidas:
Allegro
Adagio
Allegro moderato
La idea es que obtenga la primera parte ("Serenata para cuerdas en Do mayor, Op. 48") y la copie en la etiqueta "obra", que ya he implementado, y luego obtenga el texto restante, elimine los números de movimiento y lo asigne a la etiqueta Movimiento. Se agradecería cualquier ayuda para implementar un sistema que haga esto.
Aquí está el script en su forma actual. Está basado en el script de Doug.
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
0 votos
@jackjr300 ¿Podrías ayudar? Toma esto como un complemento.
0 votos
@kopischke Tú también podrías ayudar. Hazme saber si puedes :) Estoy haciendo un ping a los "expertos" de AppleScripting.
0 votos
Por favor, edite su "EDIT" y muestre la salida esperada que busca asignar a la etiqueta Movimiento de " Se ha visto que muchas de las etiquetas no están en el formato anterior, sino en un formato como el siguiente: " porque la salida que desea no es obvia.
0 votos
@user3439894 Hecho. Gracias por señalar la falta de claridad (¿es esa una palabra?)