Тому, кто следит за порядком в своей библиотеке 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 и выделить в библиотеке треки для которых требуется скорректировать количество проигрываний;
- запустить сценарий и дождаться вывода первого модального окна;
- поочерёдно, для каждого выбранного трека, в диалоговом окне указать новое количество проигрываний.
Для того, чтобы оставить количество проигрываний трека без изменений, не меняйте значение в диалоговом окне.
Теперь ваша библиотека iTunes снова в порядке. При желании возможности сценария можно расширить и получать количество проигрываний, например, из базы данных сервиса Lasft.fm.