// (Walkman ユーザーのための) // iTunes で管理している曲のDisc No.を100倍してトラックNo.に足すスクリプト // 例:Disc 1/2, Track 1/10 ==> Disc 1/2, Track 101 // Disc 2/2, Track 10/10 ==> Disc 2/2, Track 210 // Vista + iTunes8, mp3 & AAC で動作確認。 // 使い方 // ・WSH 用の javascript です。拡張子を適宜変更して実行してください。 // ・iTunesが起動した状態で実行してください // ・バックアップを取ってから実行してください var iTunesApp = WScript.CreateObject("iTunes.Application"); var mainLibrary = iTunesApp.LibraryPlaylist; var mainLibrarySource = iTunesApp.LibrarySource; var tracks = mainLibrary.Tracks; var numTracks = tracks.Count; var i; var verbose = false; // 書き換えるアルバム名をひとつひとつ見る場合はtrueに // ディスク2のあるアルバムを調べる var hasDisc2 = new Array(); for (i = 1; i <= numTracks; i++) { var currTrack = tracks.Item(i); var album = currTrack.Album; var disc = currTrack.DiscNumber; var trno = currTrack.TrackNumber; if ((album != undefined) && (album != "")) { if(trno == 1 && disc >= 2) { hasDisc2[album] = 1; } } } // トラックNoを変更 for (i = 1; i <= numTracks; i++) { var currTrack = tracks.Item(i); var album = currTrack.Album; var disc = currTrack.DiscNumber; var trno = currTrack.TrackNumber; if ((album != undefined) && (album != "")) { if(hasDisc2[album] && trno < 100) { if(disc == 0) { disc = 1; } if(verbose && disc == 1 && trno == 1) { WScript.Echo(album); } currTrack.TrackCount = 0; currTrack.TrackNumber = disc * 100 + trno; } } } WScript.Echo("finished");