2009-02-10 11 views
7

En serio, me da vergüenza incluso preguntar esto.Pregunta de Applescript - Agregar pistas a listas de reproducción

Tengo un Applescript que se supone que construye una lista de reproducción de un montón de álbumes enteros. Todo funciona bien, a excepción de agregar las pistas a la lista de reproducción. Aquí está el código correspondiente:

repeat with theAlbum in randAlbums 
    set these_tracks to (tracks of library playlist 1 whose album is theAlbum) 
    repeat with the_track in these_tracks 
     add the_track to playlist thePlaylist (* doesn't work *) 
    end repeat 
end repeat 

El error que consigo es "iTunes consiguieron un error: Se ha producido un tipo de descriptor desajuste".

randAlbums es una lista de nombres de álbumes únicos, y thePlaylist es una lista de reproducción que se creó anteriormente en el guión.

He estado golpeando mi cabeza contra esto por lo que parece una semana y no he podido resolverlo. Gracias de antemano por cualquier ayuda que puede ofrecer :)

Respuesta

8

duplicado se el comando que quieres Prueba esto:

repeat with theAlbum in randAlbums 
    duplicate (tracks of library playlist 1 whose album is theAlbum) to thePlaylist 
end repeat 

Dentro de la interfaz de iTunes add se utiliza para añadir una nueva pista a la biblioteca de iTunes utilizando una ruta de sistema de archivos, mientras que duplicate se utiliza para colocar una referencia a una pista existente en una lista de reproducción.

Cuando se utiliza el comando de agregar, iTunes eventualmente descubrirá que la pista ya es parte de la biblioteca y hará lo que quiera, pero no antes de leer los metadatos del archivo, programarlo para la recuperación del arte del álbum, etc. esto equivale a una operación bastante lenta, por lo que si la usa dentro de un ciclo para un gran número de pistas, iTunes se ralentizará.

Duplicate realiza una búsqueda de base de datos nativa y agrega los resultados a la lista de reproducción, todo de una vez, por lo que es muy rápido.

0

Applescript es muy raro ... pero de partida de los guiones here dougscripts.com

parece que utiliza duplicar y no añadir cuando se añade a una lista de reproducción. Estoy mirando el script One Song From Each

Hmmm ... ¿qué tal?

add (a reference to the_track) to playlist thePlaylist 
+0

He revisado * muchas * de las secuencias de comandos en el sitio de Doug en busca de inspiración y/o una pista sobre cómo solucionar esto, pero fue en vano. gracias :) :) – inkedmn

+0

Sí, en realidad tengo ese guión abierto también. Desafortunadamente, 'duplicado' me da el mismo error: \ – inkedmn

0

Intente cambiar esa línea a:

add (get location of the_track) to playlist thePlaylist 

o, si thePlaylist es ya una referencia de lista de reproducción (en lugar de sólo el nombre de cadena de una lista de reproducción):

add (get location of the_track) to thePlaylist 
+0

Cuando hago eso, aparece este error: "iTunes tiene un error: alias \" Macintosh HD: Usuarios: inkedmn: Música: iTunes: iTunes Music: Vision Of Trastorno: para The Bleeders: 01 Choke.mp3 \ "no entiende el mensaje de agregar." ¿Alguna otra idea? Gracias! – inkedmn

0

Probar:

copy the_track to end of playlist thePlaylist 

lugar.

Cuestiones relacionadas