Я не совсем понимаю, почему, но ответ таков: список воспроизведения библиотеки на самом деле не содержит дорожек.Странно, я знаю, но так как вы просто хотите запустить это на каждом треке, есть еще более простое решение.Вместо every track of library
просто используйте every track
;это буквально получит каждый трек в приложении, что вы и пытаетесь сделать.И с некоторыми другими упрощениями это становится
tell application "iTunes" to set the rating of every track to 0
Синтаксис tell application "iTunes" to ...
подобен обычному блоку tell
, но это только одна инструкция длиной и не занимает end tell
.И вы можете автоматически запускать команду set
для каждой записи в списке сразу, так что это все, что вам нужно.В общем, вам редко нужно перечислять через индексы;например, для чего-то более близкого к вашему решению, есть эквивалент
tell application "iTunes"
repeat with t in every track
set the rating of t to 0
end repeat
end tell
Это позволяет избежать индексации и, скорее всего, будет быстрее (хотя однострочник, вероятно, будет быстрее, , если есть разница)