dimayakovlev.ru


Сценарий для изменения количества проигрываний треков в библиотеке iTunes

Тому, кто следит за порядком в своей библиотеке iTunes, хорошо известно, как может быть неприятно потерять часть статистики проигрываний. Это может произойти по разным причинам, но мириться с произошедшим не хочется. Не хочется и не надо, потому что исправить количество проигрываний для тректов в библиотеке iTunes можно при помощи простого сценария WSH.

Для взаимодействия с пользователем используется диалоговое окно, для создания которого в VBScript существует функция InputBox(). Однако, чтобы пример был интереснее в сценарии используются сразу два языка - VBScript и JScript.

Это может быть полезно в тех случаях, когда у вас есть готовая функция на одном из языков, а остальной сценарий проще или удобнее писать на другом. Или в одном из языков может отсутствовать требуемая возможность. Именно так происходит с функций InputBox() - ни в WSH ни в JScript нет возможностей вывести диалоговое окно, а в VBScript есть специальная функция, но писать весь сценарий на VBScript не хочется.

Поэтому приведённый код сценария со смешанными языками следует сохранить в файл типа Windows Script File с расширением WSF.

<job>
    <script language="VBScript">
        Function InputPlayCount(prompt, title, default)
            InputPlayCount = InputBox(prompt, title, default)
        End Function
    </script>
    <script language="JScript">
        var ITTrackKindFile = 1;
        var objApp = WScript.CreateObject("iTunes.Application");
        var tracks = objApp.SelectedTracks;
        var numTracks = tracks.Count;
        var i = 0;

        while (numTracks != 0) {
            var currTrack = tracks.Item(numTracks);
            var playCount = InputPlayCount("Enter new play count number for track \"" + currTrack.Artist + " - " + currTrack.Name + "\":", "Adjust Play Count", currTrack.PlayedCount);
            if (playCount != '') {
                playCount = parseInt(playCount);
                if (playCount >= 0 && playCount != currTrack.PlayedCount && currTrack.Kind == ITTrackKindFile) {
                    currTrack.PlayedCount = playCount
                }
            }
            numTracks--;
            i++;
        }
    </script>
</job>

Окно iTunes с модальным окном сценария для корректировки количества проигрываний трека

Для корректирования количества проигрываний треков в библиотеке iTunes с помощью сценария надо:

  1. запустить iTunes и выделить в библиотеке треки для которых требуется скорректировать количество проигрываний;
  2. запустить сценарий и дождаться вывода первого модального окна;
  3. поочерёдно, для каждого выбранного трека, в диалоговом окне указать новое количество проигрываний.

Для того, чтобы оставить количество проигрываний трека без изменений, не меняйте значение в диалоговом окне.

Теперь ваша библиотека iTunes снова в порядке. При желании возможности сценария можно расширить и получать количество проигрываний, например, из базы данных сервиса Lasft.fm.