说真的,我甚至不好意思这个问题.
我有一个Applescript应该建立一堆整张专辑的播放列表.一切正常,除了实际将曲目添加到播放列表.这是相关的代码:
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
我得到的错误是"iTunes收到错误:发生描述符类型不匹配."
randAlbums是唯一专辑名称的列表,thePlaylist是在脚本中先前创建的播放列表.
我一直在抨击这个感觉就像一个星期,我无法弄明白.在此先感谢您提供的任何帮助:)
复制是您想要的命令.试试这个:
repeat with theAlbum in randAlbums duplicate (tracks of library playlist 1 whose album is theAlbum) to thePlaylist end repeat
在iTunes界面add
中,用于使用文件系统路径向iTunes库添加新曲目,同时duplicate
用于放置对播放列表中现有曲目的引用.
当使用add命令时,iTunes最终将确定该轨道已经是库的一部分并按照您的意愿行事,但是在它读取文件的元数据之前,没有计划用于专辑封面检索等等.所有这些都相当于相当慢的操作,所以如果你在一个循环中使用它,大量的曲目iTunes将慢慢爬行.
Duplicate执行本机数据库查找并将结果一次性添加到播放列表中,因此速度非常快.