Aquí estoy de nuevo con otro iTunes AppleScript pregunta. Tengo un guión de trabajo en el que puede seleccionar un trabajo (varias iTunes "canciones"), y decirle que lo que para establecer el trabajo de metadatos como para que la selección. Usted también decirle donde el nombre de movimiento se inicia en el nombre de la canción, y se copia todo después de que la posición en el movimiento de la etiqueta, con exclusión de todos los números romanos. Es también, por supuesto, los números de los movimientos.
Aquí está el código para que:
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 workName to display dialog "Edit for Work name and then click OK." default answer songName --prompt for work name
set movementLength to display dialog "Edit to everything except the movement name. Do not include the roman numeral if one is present. If an arabic numeral is present, include it." default answer songName --prompt for movement length
repeat with i from 1 to c --set the movement numbers
set thisTrack to item i of sel
set songName to (get name of thisTrack)
set work of thisTrack to text returned of workName
set movement number of thisTrack to i
set movement count of thisTrack to c
set movement of thisTrack to my delRomNum(text ((length of text returned of movementLength) + 1) thru (length of songName) of songName as string) -- copy movement text from song name and delete roman numerals
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
Usted puede ver mi post acerca de que el guión aquí: Buscar y reemplazar AppleScript para iTunes los Nombres de las pistas
De todos modos, que el guión tiene ahora no convertirse en lo suficientemente eficiente para mi uso (I proceso de un montón de clásicos de las pistas)! Usando el script de arriba, tengo que seleccionar cada trabajo, y el ajuste en consecuencia para el trabajo, y luego para el movimiento.
Lo que me gustaría ahora es crear un script que puede hacer todo el proceso para varias obras a la vez, digamos, un álbum entero.
Tendría que encontrar todas las pistas que contenía I.
y establecerlo como el punto de partida para el guión que he descrito anteriormente, y también obtener la posición de que I.
recorte y en consecuencia para el Trabajo y el Movimiento de las etiquetas para ese trabajo en particular - e.g todo antes de I.
y el espacio anterior sería establecer como el trabajo, y todo lo que después sería establecer como el movimiento.
Puedo ver que esto es lo que tengo que hacer, pero estoy demasiado de un AppleScript noob para implementar realmente! Para mí de todos modos, el verdadero reto está en determinar si una cadena se encuentra dentro de otra cadena (por ejemplo, comprobar si I.
está en el interior el nombre de la canción) y la búsqueda de su posición dentro de el nombre de la canción. Si yo sabía cómo hacer esas dos cosas podría escribir el resto de la secuencia de comandos!
Cualquier sugerencias/ideas, sería muy útil. Y espero que mi descripción tiene sentido. Gracias!
Nota: a pesar de que yo tengo la llave de la parte respondió, y se puede escribir el resto de la secuencia de comandos de mí mismo, voy a añadir una muestra de entrada/salida.