
Либо добавлять ID3 теги самим. С
Скрипт
Написан на JScript и работает с iTunes через COM. Если вы хотите скачать описание этого SDK, то вам сюда.
Комментарии в коде, надеюсь, говорящие. Для показа прогресса запускается IE, в который пишется процент обработанных треков. Дело в том, что JScript не умеет работать с обычными win-формами. Смышленые пользователи могут переделать этот момент на вывод в консоль через WScript.Echo(), кому как удобнее.
- // run itunes
- var ITTrackKindFile = 1;
- var iTunesApp = WScript.CreateObject("iTunes.Application");
- var mainLibrary = iTunesApp.LibraryPlaylist;
- var tracks = mainLibrary.Tracks;
- var numTracks = tracks.Count;
- var numProcessed = 0;
-
- // create ie for showing progress
- var ie = WScript.CreateObject("InternetExplorer.Application", "ie_");
- ie.Navigate("about:blank");
- ie.ToolBar = 0;
- ie.StatusBar = 0;
- ie.Left = 30;
- ie.Top = 30;
- ie.Width = 400;
- ie.Height = 200;
- ie.Visible = 1;
-
- // show progress
- ie.document.title = "Updating podcast show notes";
-
- var updateProgress = function(percent) {
- var textPercent = Math.round(percent * 100);
- ie.document.body.innerHTML = "<b>" + ie.document.title + "</b><br/><i>Progress " + textPercent + "%</i>";
- }
-
- // process tracks
- var i = numTracks;
- while (i != 0)
- {
- var currTrack = tracks.Item(i);
-
- // is this a file track and a podcast?
- if (currTrack.Kind == ITTrackKindFile && currTrack.Podcast)
- {
- // are lyrics set? if not we'll write description in lyrics
- try {
- var lyrics = currTrack.Lyrics;
- // write to lyrics only if lyrics are empty
- if (lyrics.match(/^[\s\n\r\t]*$/g)) {
- var descr2lyrics = currTrack.Name + "\n\n" + currTrack.LongDescription;
- currTrack.Lyrics = descr2lyrics;
- numProcessed++;
- }
- } catch (exception) {
- // catching dead tracks
- }
- }
-
- i--;
- updateProgress((numTracks-i) / numTracks);
- }
-
- ie.document.body.innerHTML = numProcessed + " podcasts processed.<br/>All Done!";
* This source code was highlighted with Source Code Highlighter.
Скачать
Запускать скрипт можно двумя способами: просто два клика на файле, либо запуск из консоли:
wscript inotes.js

Недостатки
Конечно, скрипт не идеален. Самый большой недостаток, это необходимость каждый раз запускать его руками. Но так как ничего подобного я для Windows не нашел, решил запостить как есть, а смышленные пользователи хабра, возможно, помогут его улучшить. У меня в голове лишь идея следить за запуском iTunes через WMI, но перспектива все время висеть скрипту в памяти мне не очень нравится. К тому же, в таком случае нет достаточного контроля за процессом выполнения скрипта, поэтому меня и устраивает как есть.
Напоследок. Я понимаю почему подкастеры не оптимизируют свои творения для прослушивания на самых популярных плеерах, но почему этого не делают крупные подкаст-терминалы для меня загадка. «Эхо Москвы», один из самых больших и в тоже время неудобных подкаст-ресурсов на русском языке. Ну хотя бы теперь не бьет свои файлы на две части. А вырезать «Эхо Москвы // Передачи //» из начала каждого подкаста можно через Yahoo Pipes.
Также приглашаю читателей поделиться своими tips&tricks «подслушивания».
Mac
Что касается обладателей мака, решения ищутся поиском, на форумах я встречал плагины, но попробовать их не могу, поэтому ссылок давать не буду.