iTunesの全トラック情報を一括更新する
iTunesをいじっていて、何気なくダブルクリックしたら実ファイルの情報とiTunes上の情報が同期されていなくて突然ジャンルが変わってしまったりすることが頻発したので、全トラックの情報を一括で最新化するスクリプトを書いた。
と言っても単にiTunes COM APIのサンプル中の"RemoveDeadTracks.js"をいじっただけ。
なので、ついでにデッドリンクも削除する。
途中経過が出ないので不安になるが、動いているのでご安心を。。
http://developer.apple.com/sdk/itunescomsdk.html
var ITTrackKindFile = 1; var iTunesApp = WScript.CreateObject("iTunes.Application"); var deletedTracks = 0; var mainLibrary = iTunesApp.LibraryPlaylist; var tracks = mainLibrary.Tracks; var numTracks = tracks.Count; var i; while (numTracks != 0) { var currTrack = tracks.Item(numTracks); // is this a file track? if (currTrack.Kind == ITTrackKindFile) { // yes, does it have an empty location? if (currTrack.Location == "") { // yes, delete it currTrack.Delete(); deletedTracks++; } else { currTrack.UpdateInfoFromFile(); //ここを追加した。 } } numTracks--; } if (deletedTracks > 0) { if (deletedTracks == 1) { WScript.Echo("Removed 1 dead track."); } else { WScript.Echo("Removed " + deletedTracks + " dead tracks."); } } else { WScript.Echo("No dead tracks were found."); }