Автоматизация рутины в OS X. Урок 20. iTunes. Собираем информацию о плейлисте

В наших уроках мы рассказали практически обо всех приложениях, с которыми может работать JXA. Сегодня дошла очередь до iTunes. Мы научимся управлять проигрыванием записей в плейлисте и автоматически собирать информацию о музыкальной коллекции.
Что мы будем делать?
Соберем информацию о каждом треке активного плейлиста и запишем ее в электронную таблицу. Эти данные можно использовать для углубленного анализа музыкальных вкусов владельца плейлиста: дождался пока друг выйдет на пять минут, запустил на его компьютере скрипт, скинул полученную таблицу на флешку и после несложных статистических вычислений ты знаешь о его предпочтениях все.
Куда писать автоматизирующий код?
- Открыть программу «Редактор скриптов» (Программы -> Утилиты).

- В верхнем меню выбрать Файл -> Новый.

- На переключателе языков выбрать JavaScript.

Основные приемы взаимодействия iTunes и JXA
Приведем несколько простейших примеров управления проигрыванием текущего трека:
// Кладем в переменную приложение iTunes
iTunes = Application('iTunes');
// Ставим текущий трек на паузу
iTunes.currentTrack.pause();
// Ждем шесть секунд
delay(6);
// Продолжаем воспроизведение
iTunes.currentTrack.play();
// Ждем 10 секунд
delay(10);
// Останавливаем воспроизведение
iTunes.currentTrack.stop();
// Переходим на предыдущий трек (после этой команды воспроизведение включается автоматически)
iTunes.previousTrack();
// Ждем 15 секунд
delay(15);
// Переходим к следующему треку (после этой команды воспроизведение включается автоматически)
iTunes.nextTrack();Как записать информацию обо всех треках текущего плейлиста в электронную таблицу?
А теперь перейдем к основной части статьи. Перед тем, как запускать нижеприведенный скрипт необходимо убедиться, что iTunes открыт и включено воспроизведение нужного плейлиста.
// Кладем в переменную приложение Numbers
Numbers = Application('Numbers');
// Создаем новую электронную таблицу
var newExcel = Numbers.Document().make();
// Кладем в переменную текущую таблицу
var sheet = newExcel.sheets[0];
var table = sheet.tables[0];
// Заполняем шапку таблицы
table.cells["A1"].addColumnBefore();
table.cells["A1"].value="Имя трека";
table.cells["B1"].value="Альбом";
table.cells["C1"].value="Исполнитель";
table.cells["D1"].value="Битрейт";
table.cells["E1"].value="Дата добавления";
table.cells["F1"].value="Год записи";
table.cells["G1"].value="Номер трека в альбоме";
table.cells["I1"].value="Длительность трека";
table.cells["H1"].value="Жанр";
//Кладем в переменную приложение iTunes
iTunes = Application('iTunes');
// Обходим по циклу все треки текущего плейлиста
for (i=0;i<=iTunes.currentPlaylist.tracks.length-1;i++)
{
cellIndex=i+2;
// Записываем имя текущего трека
table.cells["A"+cellIndex].value=iTunes.currentTrack.name();
// Записываем альбом, из которого взят текущий трек
table.cells["B"+cellIndex].value=iTunes.currentTrack.album();
//Записываем исполнителя текущего трека
table.cells["C"+cellIndex].value=iTunes.currentTrack.artist();
// Записываем битрейт трека
table.cells["D"+cellIndex].value=iTunes.currentTrack.bitRate();
// Записываем дату добаления трека в плейлист
table.cells["E"+cellIndex].value=iTunes.currentTrack.dateAdded();
// Записываем год записи текущего трека
table.cells["F"+cellIndex].value=iTunes.currentTrack.year();
// Записываем номер текущего трека в альбоме
table.cells["G"+cellIndex].value=iTunes.currentTrack.trackNumber();
// Узнаем длительность текущего трека в секундах
duration=iTunes.currentTrack.duration()
// Записываем в ячейку уже значение в минутах
table.cells["I"+cellIndex].value=Math.floor(duration / 60) + ': ' + duration % 60;
// Записываем жанр текущего трека
table.cells["H"+cellIndex].value=iTunes.currentTrack.genre();
//Добавляем пустую строку в таблицу (!!! пустые строки и столбы в Numbers не создаются автоматически)
table.cells["A"+cellIndex].addRowBelow();
// Переходим на следующий трек
iTunes.nextTrack();
}В результате получится примерно такая таблица:

Предыдущие публикации из цикла «Автоматизация рутины в OS X» вы можете найти по следующим ссылкам:
- Автоматизация рутины в OS X. Урок 1. Пакетная обработка изображений
- Автоматизация рутины в OS X. Урок 2. Генерация слайдов для презентаций
- Автоматизация рутины в OS X. Урок 3. Рассылаем спам
- Автоматизация рутины в OS X. Урок 4. Простейший парсинг почтового ящика
- Автоматизация рутины в OS X. Урок 5. Пакетная конвертация текстовых файлов
- Автоматизация рутины в OS X. Урок 6. Простейший парсинг веб-страниц
- Автоматизация рутины в OS X. Урок 7. Пакетная конвертация видео и аудио
- Автоматизация рутины в OS X. Часть 8. Архивируем и анализируем записи из «Заметок»
- Автоматизация рутины в OS X Часть 9. Пакетная архивация файлов
- Автоматизация рутины в OS X. Урок 10. Анализируем собственную продуктивность
- Автоматизация рутины в OS X. Часть 11. Автоматизируем показ презентаций
- Автоматизация рутины в OS X. Урок 12. Работаем с электронными таблицами
- Автоматизация рутины в OS X. Урок 13. Основы работы с Pages
- Автоматизация рутины в OS X. Урок 14. Редактирование изображений с помощью Image Magick
- Автоматизация рутины в OS X. Урок 15. iMacros
- Автоматизация рутины в OS X. Урок 16. Java Script Automation+Terminal+Apple Script = Сила
- Автоматизация рутины в OS X. Урок 17. QuickTime Player
- Автоматизация рутины в OS X. Урок 18. Используем элементы графического интерфейса в JavaScript Automation
- Автоматизация рутины в OS X. Урок 19. Взаимодействуем с веб-сервером через Terminal
Рекомендуем владельцам Айфонов:
- Не удалось правильно идентифицировать айфон — что делать
- Как перезагрузить айфон, если не работает кнопка блокировки
- Как создать новый Apple ID, если есть старый
✅ Подписывайтесь на нас в Telegram, Max, ВКонтакте, и Яндекс.Дзен.
