Промываем мозги Айтюнсу

Восьмой Айтюнс резко лучше предыдущих — наконец-то он избавился от привычки считать мою медиатеку просто кучей песен и стал их хоть как-то структурировать. Даже на Айфоне приложение «Айпод» куда лучше справлялось с организацией пространства (небольшого, в сравнении с компьютерным экраном); и вот его старший брат стал учиться хорошему. В итоге я решил, что буду пользоваться Айтюнсом в качестве хранилки музыки, а когда научусь программировать под эту систему, напишу какой-нибудь Проигрыватель 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

Эплскрипт — смешной язык «программирования», пытающийся быть просто английским языком, который позволяет общаться с любыми приложениями на любую интересную тебе тему. Это мой первый (и единственный) скрипт на этом языке. Заработал спустя около получаса с того момента, как мне пришло в голову, что, возможно, мою проблему удастся решить именно с его помощью. На написание самого скрипта ушло несколько минут.

Теперь если при добавлении альбома оказалось, что у него нет номеров треков, то я просто выделяю все треки, запускаю этот скрипт, и номера проставляются.

Хороший компьютер.

Дальше
12 комментариев
bes island 2008

Забавный язык, да.

Слава 2008

Еще одна причина купить Мак? ;-)

A!e% 2008

Там есть автоматор еще. Но тебе, думаю, действительно будет проще AppleScript. С ним только одна проблема — он очень плохо поддерживается, и, например, в 64-битной своей реинкарнации достаточно хорошо глючит. Но это очень редко заметно в обычной жизни.

Юра Ткаченко 2008

а когда научусь программировать под эту систему, напишу какой-нибудь Проигрыватель for Mac, который будет просто оболочкой для него

стеснялся вчера спросить :)

cooler 2008

Восьмой Айтюнс резко лучше предыдущих — наконец-то он избавился от привычки считать мою медиатеку
просто кучей песен и стал их хоть как-то структурировать

Илья, что за чушь вы пишете, восьмой айтюнс отличается от предшественника только «гением» и новым режимом представления в виде сетки. Структурированием музыки он занимается очень давно.

Илья Бирман 2008

Вот это представление в виде сетки и рулит.

Я же говорю не о том, как у него база данных внутри устроена, а о том, что я имею в итоге как пользователь. То, что на уровне базы у него всё более-менее нормально, мне ясно — иначе бы у меня не было удобного плейера на Айфоне.

cooler 2008

Сетка конечно хорошее нововведение, но гораздо удобней сортировка «Альбом по исполнителю» и представление обычным списком.

А вообще идеальный плеер это iTunes в связке с Apple Keyboard ;-)

Илья Бирман 2008

А как настроить глобальные горячие клавиши для Айтюнса? Чтобы работали без переключения в Айтюнс.

Ещё в Айтюнсе нет перемотки по песне, что меня жутко бесит. При этом эплскриптом можно ему сказать, типа, «сдвинься на 3 секунды вперёд». Как бы всё это на хоткеи поразвесить?

cooler 2008

Илья, а тебе нужно что-то большее чем плей-пауза-вперед-назад?

Эти функции работают глобально и нарисованы на клавишах клавиатуры — F7, F8, F9
Перемотка есть, если зажать кнопку переключения песни или F7\F9

Ещё, можно в доке нажать правой кнопкой по иконке iTunes

Илья Бирман 2008

Ну жать fn+F8 для паузы — это слишком. Плей/паузу хочу повесить на  F14. Перемотка должна быть отдельными кнопками (например, F13 и F15, а Ябл + они же пусть будет prev/next).

cooler 2008

Я без всяких Fn переключаю, я не ставил галочку в настройках Клавиатуры «Использ. клавиши „F1“, „F2“ и тд как стандартные клавиши»
гораздо удобнее использовать на них эпловские функции а если понадобятся F1 то можно и Fn нажать

Хоткеи настраиваются в Системные настройки — Клавиатура и мышь — Сочетания клавиш

Илья Бирман 2008

Хоткеи, настроенные в указанном вами месте, не являются глобальными (возможно, я что-то делаю не так). Они работают только если я в Айтюнсе сижу.

MK 2008

Кстати, советую для Айтюнса установить утилитку ByteController: http://www.macupdate.com/info.php/id/15170. Удобная штука добавляет кнопки управления в менюбар.
И еще Growl: http://www.macupdate.com/info.php/id/15979/growl — в начале воспроизведения будет всплывать облачко с данными трека (напр., обложкой и названием/исполнителем). Вообще, Гроул много с чем совместим помимо Айтюнса.

Johnny Woo 2008

А как настроить глобальные горячие клавиши для Айтюнса? Чтобы работали без переключения в Айтюнс.

Нужно поставить quicksilver. Помимо того, что эта штука чрезвычайно удобна сама по себе, она ещё умеет назначать любые хоткеи на всё что угодно.

Леонид 2008

Ещё в Айтюнсе нет перемотки по песне, что меня жутко бесит.

Перемотка по песне появляется если задержать клавишу следующая песня (через несколько секунд начнётся перемотка, чем дольше держим клавишу, тем быстрее перемотка).

При этом эплскриптом можно ему сказать, типа, «сдвинься на 3 секунды вперёд».

У каждой песни при редактировании тэгов можно указать начало и конец. Удобно у подкастов вырезать вступления :)

cooler 2008

Илья, посмотри программу CoverSutra (http://sophiestication.de/coversutra/), она тебе поможет сделать то, что хочешь.

Мои книги