macos - 使用 AppleScript 选择 iTunes 中的所有轨道

标签 macos applescript itunes rating

我有一个非常基本的 AppleScript,我试图在我的 Mac 上运行它来删除 iTunes 中所有歌曲的评级:

tell application "iTunes"
    set sel to every track in library playlist
    repeat with i from 1 to the count of sel
        set rating of track i in sel to 0
    end repeat
end tell

我以前从未用 AppleScript 编写过任何内容,但我想尝试一下(因为它应该非常直观)。不幸的是,当我尝试运行脚本时收到此错误:

error "Can’t get every track of library playlist." number -1728 
from every «class cTrk» of «class cLiP»

这个错误是什么?是否有其他方法可以在 iTunes 中选择轨道?感谢您的帮助。

最佳答案

我不完全知道为什么,但答案是库播放列表实际上并不包含轨道。我知道这很奇怪,但由于您只想在每个轨道上运行它,所以有一个更简单的解决方案。而不是库的每个轨道,只需使用每个轨道;这实际上将获得应用程序中的每个轨道,这正是您想要做的。经过一些其他的简化,这变成了

tell application "iTunes" to set the rating of every track to 0

tell application "iTunes"to ... 语法就像普通的 tell block ,但它只有一条语句长,并且不需要 >结束告诉。您可以立即对列表中的每个条目自动运行 set 命令,这就是您所需要的。一般来说,你很少需要通过索引进行枚举;例如,对于更接近您的解决方案的东西,有等效的

tell application "iTunes"
  repeat with t in every track
    set the rating of t to 0
  end repeat
end tell

这避免了索引,并且也可能会更快(尽管单行可能是最快的,如果存在差异)。

关于macos - 使用 AppleScript 选择 iTunes 中的所有轨道,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4620952/

相关文章:

c++ - Mac OSX 上 Qt App 中完全随机的 malloc 错误

python - 如何在 Python 3.5 (OS X 10.10 Yosemite) 上安装 PyObjC?

iphone - 检查常量是否在运行时在 Obj-C 中定义

xcode - 当我们将发布应用程序时,XCode访问哪些站点

rss - PHP 访问 RSS 提要中的 iTunes 标签

macos - addSubview(...) 导致额外的窗口

cocoa - 使用参数从 Cocoa App 执行 Applescript

applescript - 有没有办法使用 AppleScript 在 Google Chrome 中暂停 YouTube 视频?

variables - 问题设置返回文本到重复循环中的变量 - OS X 10.9.x

ios - 苹果搜索 API : Getting minimum OS supported for an App from iTunes