Промываем мозги Айтюнсу
Восьмой Айтюнс резко лучше предыдущих — наконец-то он избавился от привычки считать мою медиатеку просто кучей песен и стал их хоть как-то структурировать. Даже на Айфоне приложение «Айпод» куда лучше справлялось с организацией пространства (небольшого, в сравнении с компьютерным экраном); и вот его старший брат стал учиться хорошему. В итоге я решил, что буду пользоваться Айтюнсом в качестве хранилки музыки, а когда научусь программировать под эту систему, напишу какой-нибудь Проигрыватель for Mac, который будет просто оболочкой для него.
В качестве источника информации о музыке Айтюнс использует только теги в МП3-файлах, игнорируя название последних. У меня оказалось довольно много альбомов, в тегах которых номеров песен нет — Айтюнс располагал песни в каком-то левом порядке. После добавления нескольких альбомов я задолбался прописывать вручную номера треков.
tell application "iTunes"
if selection is not {} then
set heap to a reference to selection
repeat with song in heap
set filename to location of song as text
-- убиваем .mp3 в конце названия файла:
set AppleScript's text item delimiters to "."
set filename to first text item of filename
-- убиваем путь (он через двоеточия там) в начале названия файла:
set AppleScript's text item delimiters to ":"
set filename to last text item of filename
-- надеемся, что первое «слово» в названии файла — это номер трека
set track number of song to first word of filename
end repeat
end if
end tell
Эплскрипт — смешной язык «программирования», пытающийся быть просто английским языком, который позволяет общаться с любыми приложениями на любую интересную тебе тему. Это мой первый (и единственный) скрипт на этом языке. Заработал спустя около получаса с того момента, как мне пришло в голову, что, возможно, мою проблему удастся решить именно с его помощью. На написание самого скрипта ушло несколько минут.
Теперь если при добавлении альбома оказалось, что у него нет номеров треков, то я просто выделяю все треки, запускаю этот скрипт, и номера проставляются.
Хороший компьютер.