iTunesスクリプト アーティスト名をアルバムアーティスト名にする

これは何?

iTunesスクリプトを書いてみました。このスクリプトは、アルバムアーティスト名をアーティスト名にして、その代わりアーティスト名を「(不明なアーティスト)」に変更するためのものです。こうすることで、アーティストの一覧をすっきりできます。具体的にどういう効果があるのかっていうのは、下記の記事を見てください。

俺流iTunesの整理方法 - 犬も歩けば棒も歩く

使いかた

プレイリストを作成して「変更するファイル」という名前にしてください。そして対象となる曲をこのプレイリストに入れてください。これで準備完了です。スクリプトを実行しましょう。ちなみにスクリプトの実行後、「変更するファイル」というプレイリストからは自動的に曲が削除されます。そして最後に何件のファイルを変更したのか表示されます。

スクリプトの実行方法

下記のコードをテキストとして保存。拡張子を(.js)に変更する。変更できたらこのファイルをクリックして実行します。このとき Windows Based Script Hostというプログラムで実行されるはずです。もしテキストエディタで実行されるようであれば、ファイルを右クリックしてプログラムから開くで、 Windows Based Script Host(C:\Windows\System32\wscript.exe)で実行されるように関連付けてください。

ソースコード

/*
 * 「変更するファイル」というプレイリストに入れた曲のアーティスト名を(不明なアーティスト)に変更し、
 * その変わりにアルバムアーティスト名を既存のアーティスト名にします。
 */

var iTunesApp = new ActiveXObject("iTunes.Application");
var playlist = iTunesApp.LibrarySource.Playlists.ItemByName("変更するファイル"); //対象となるプレイリストの名前

if (playlist) {//プレイリストが存在する場合
	var numTracks = playlist.Tracks.Count;// プレイリスト中の曲数
	var track;
	var count = 0;
	
	while( playlist.Tracks.Count > 0){ //一曲でも残ってたらループ
		track = playlist.Tracks(1);
		if(track.Artist != "" && track.Artist != "(不明なアーティスト)"){
			track.AlbumArtist = track.Artist; //アルバムアーティスト名の項目に既存のアーティスト名を書き込む
			track.Artist = "(不明なアーティスト)"; //アーティスト名を「(不明なアーティスト)」にする
			count++;
		}
		track.Delete();
	}
	
	WScript.Echo(count + "件変更しました。");
}

追記 2010/1/17

まとめ記事を書きました
iTunesスクリプト関連の記事まとめ