Автоматизация рутины в 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, ВКонтакте, и Яндекс.Дзен.