// (Walkman ユーザーのための) // iTunes で管理している曲のアートワークをファイル埋込みにするスクリプト // Vista + iTunes8, mp3 & AAC で動作確認。WAVはたぶん無理? // 使い方 // ・WSH 用の javascript です。拡張子を適宜変更して実行してください。 // ・iTunesが起動した状態で実行してください // ・バックアップを取ってから実行してください // ・それでもなお表示されないジャケットは、 // bmp/png/プログレッシブjpegなどかもしれません var shell = WScript.CreateObject("WScript.Shell"); 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に // first, make an array indexed by album name var already = new Array(); for (i = 1; i <= numTracks; i++) { var currTrack = tracks.Item(i); var pic = currTrack.Artwork.Item(1); if(pic != null && pic.IsDownloadedArtwork) { // アートワークがダウンロードしたものだったら var album = currTrack.Album; var artist = currTrack.Artist; album = album. replace(/:|\\|\/|\.|\"|\*|\?|\||<|>/g,"_"); artist = artist.replace(/:|\\|\/|\.|\"|\*|\?|\||<|>/g,"_"); var jpgname = shell.CurrentDirectory + "\\"+artist+"__"+album+".jpg"; // 画像を一旦ローカルに保存 ( "アーティスト名_アルバム名.jpg" ) if(!already[jpgname]) { if(verbose) WScript.Echo(jpgname); pic.SaveArtworkToFile(jpgname); already[jpgname] = 1; } // ローカル画像を新たにアートワークとして設定 pic.SetArtworkFromFile(jpgname); } } WScript.Echo("finished");