【问题标题】:Applescript Question - Adding Tracks to PlaylistsApplescript 问题 - 将曲目添加到播放列表
【发布时间】:2009-02-10 09:44:38
【问题描述】:

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

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

我已经为此苦苦思索了一个星期,但我一直无法弄清楚。提前感谢您提供的任何帮助:)

【问题讨论】:

    标签: macos applescript


    【解决方案1】:

    Duplicate 是您想要的命令。试试这个:

    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 执行本地数据库查找并将结果一次性添加到播放列表,因此速度非常快。

    【讨论】:

      【解决方案2】:

      试试:

      copy the_track to end of playlist thePlaylist
      

      改为。

      【讨论】:

        【解决方案3】:

        尝试将该行更改为:

        add (get location of the_track) to playlist thePlaylist
        

        或者,如果thePlaylist 已经是播放列表引用(而不仅仅是播放列表的字符串名称):

        add (get location of the_track) to thePlaylist
        

        【讨论】:

        • 当我这样做时,我收到此错误:“iTunes 出现错误:别名 \”Macintosh HD:Users:inkedmn:Music:iTunes:iTunes Music:Vision Of Disorder:For The Bleeders:01 Choke.mp3\" 不理解添加消息。"还有其他想法吗?谢谢!
        【解决方案4】:

        Applescript 真的很奇怪...但是请查看脚本 here dougscripts.com

        看起来他在添加到播放列表时使用 duplicate 而不是 add。我在看One Song From Each 脚本

        嗯……怎么样?

        add (a reference to the_track) to playlist thePlaylist
        

        【讨论】:

        • 我查看了 Doug 网站上的 许多 脚本以寻找灵感和/或如何解决此问题的线索,但无济于事。不过谢谢:)
        • 是的,我实际上也打开了那个脚本。不幸的是,“重复”给了我同样的错误:\
        猜你喜欢
        • 2012-09-22
        • 1970-01-01
        • 1970-01-01
        • 2019-12-23
        • 1970-01-01
        • 1970-01-01
        • 2023-03-08
        • 2013-09-11
        相关资源
        最近更新 更多