我有 这个脚本 确保给定智能播放列表中的每个轨道都是可移动的和可收藏的。
该脚本旨在通过launchd启动。
所有这些设置都很好,除了脚本表现出奇怪的行为。当你运行它时,其中一些成功但是大多数似乎由于错误代码而失败 -1731
。后续运行会发生相同的行为,直到您没有更多可拖动和可收藏的曲目。
我希望如果第一次运行时代码错误会继续出错,但事实并非如此。
这里发生了什么事?
我有 这个脚本 确保给定智能播放列表中的每个轨道都是可移动的和可收藏的。
该脚本旨在通过launchd启动。
所有这些设置都很好,除了脚本表现出奇怪的行为。当你运行它时,其中一些成功但是大多数似乎由于错误代码而失败 -1731
。后续运行会发生相同的行为,直到您没有更多可拖动和可收藏的曲目。
我希望如果第一次运行时代码错误会继续出错,但事实并非如此。
这里发生了什么事?
Answers:
添加显式get以解析对轨道的引用:
tell application "iTunes"
repeat with t in (get tracks of playlist "Listen Smart" where shufflable is false)
set shufflable of t to true
end repeat
repeat with t in (get tracks of playlist "Listen Smart" where bookmarkable is false)
set bookmarkable of t to true
end repeat
end tell
尝试运行这样的脚本:
tell application "iTunes"
repeat with t in (tracks of playlist "Listen Smart" where shufflable is false)
t
end repeat
end tell
如果播放列表有三个曲目,其中shufflable为false,则结果将是类似的结果 item 3 of every track of playlist "Listen Smart" of application "iTunes" whose shufflable = false
。如果在重复循环内将前两个轨道的shuffble设置为true,则不会有shufflable为false的项目3。
如果你更换 repeat with t in (tracks
同 repeat with t in (get tracks
,最后的结果将是这样的 item 3 of {file track id 54774 of user playlist id 54771 of source id 73 of application "iTunes", file track id 54775 of user playlist id 54771 of source id 73 of application "iTunes", file track id 54776 of user playlist id 54771 of source id 73 of application "iTunes"}
。
repeat … in
实际上是在引擎盖下变异,但是我重复的计数器不是这样,当我每次消耗一半列表时,我实际上是错误的,因为现在已经消失了一半。如果那就是你想要的,你能否在答案中更清楚一点?我花了一点时间才看到它,我认为其他人会遇到同样的困难。
item 123 of every track of playlist "Listen Smart" of application "iTunes" whose shufflable = false
。
作为一个 完成 黑客, 这个 似乎可以做到这一点。
请注意,这是非常不满意的,所以我仍然非常有兴趣听到更好的回应。