1 votos

¿Por qué la iteración a través de una lista de applescript con `repetir con ... en` el código de error `-1731` forma parte a través de la lista?

Tengo este script para asegurar que todas las pistas en una lista de reproducción inteligente es tanto shufflable y marcable.

El guión es inteded para ser lanzado a través launchd.

Todo esto está bien, excepto que la secuencia de comandos muestra un comportamiento extraño. Cuando se ejecuta, algunos de ellos correctamente, pero en la mayoría parecen fallar debido a código de error -1731. Posterior se ejecuta el mismo comportamiento sucede hasta que no tengan más shufflable y marcable pistas.

Yo esperaría que si el código de errores en la primera ejecución se mantendría la erroring pero eso no es lo que ocurre.

¿Qué está pasando aquí?

4voto

Fuzzy Purple Monkey Puntos 702

Agregar explícita llegar a resolver la referencia a las pistas:

tell application "iTunes"
    repeat with t in (get tracks of playlist "Listen Smart" where shufflable is false)
        set shufflable of t to true
    end repeat
    repeat with t in (get tracks of playlist "Listen Smart" where bookmarkable is false)
        set bookmarkable of t to true
    end repeat
end tell

Intente ejecutar un script como este:

tell application "iTunes"
    repeat with t in (tracks of playlist "Listen Smart" where shufflable is false)
        t
    end repeat
end tell

Si la lista de reproducción tiene tres pistas donde shufflable es falso, el resultado final será algo como item 3 of every track of playlist "Listen Smart" of application "iTunes" whose shufflable = false. Si establece el shufflable de las dos primeras pistas de verdad en el interior de la repetición del bucle, no habrá un punto 3 donde shufflable es falso.

Si reemplaza repeat with t in (tracks con repeat with t in (get tracks, el resultado final será algo como item 3 of {file track id 54774 of user playlist id 54771 of source id 73 of application "iTunes", file track id 54775 of user playlist id 54771 of source id 73 of application "iTunes", file track id 54776 of user playlist id 54771 of source id 73 of application "iTunes"}.

0voto

andymoe Puntos 32

Como una completa hack, esto parece hacer el truco.

Tenga en cuenta que es super insatisfactorio así que todavía estoy muy interesado en escuchar una respuesta mejor.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X