Macos Applescript问题-将曲目添加到播放列表

Macos Applescript问题-将曲目添加到播放列表,macos,applescript,Macos,Applescript,说真的,我都不好意思问这个问题 我有一个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 th

说真的,我都不好意思问这个问题

我有一个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是一个独特专辑名称的列表,播放列表是在脚本前面创建的播放列表


我一直在用我的头撞击这个东西,感觉像是一个星期,但我一直没能弄明白。提前感谢您提供的任何帮助:)

Applescript真的很奇怪……但是请检查脚本

看起来他在添加到播放列表时使用了复制而不是添加。我正在看剧本

嗯……怎么样

add (a reference to the_track) to playlist thePlaylist

尝试将该行更改为:

add (get location of the_track) to playlist 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执行本机数据库查找,并同时将结果添加到播放列表中,因此速度非常快。

请尝试:

copy the_track to end of playlist thePlaylist

相反。

我在道格的网站上查阅了许多脚本,寻找灵感和/或如何解决这一问题的线索,但都无济于事。谢谢:)是的,我实际上也打开了剧本。不幸的是,“复制”给了我同样的错误:\n当我这样做的时候,我得到了这个错误:“iTunes有一个错误:别名\”Macintosh HD:Users:inkedmn:Music:iTunes:iTunes音乐:混乱的视觉:对于出血者:01 Choke.mp3 \“不理解添加消息”。还有其他想法吗?谢谢
copy the_track to end of playlist thePlaylist