やすです。
今回はプログラムから iTunes を操作出来る iTunes COM for Windows SDK
の基本を紹介してみます。 リリースされたのはだいぶ前なんですけども。
1. 何が出来るか
簡単に言えば、iTunesのオリジナル機能を作れます。
フォルダの曲から自動でプレイリストを作る、存在しない曲をライブラリから消す、
今デスクトップで流してる曲の情報をリアルタイムでウェブに表示など。
ちなみにサイブリッジでも実際に使用しています。
音楽再生数ランキング
http://live.cybridge.jp/music/lank.php
以下のリンクに使えるインターフェースや関数の一覧など載ってますが、
発想次第で色々と面白いものが作れそうです。
http://cuzic.net/iTunesLib/index.html
2. 使ってみる
それでは実際に使ってみましょう。 SDK を使用するには
Apple Developer Connection への無料登録が必要です。
https://connect.apple.com/
ログインの後、以下の順に進むと zip を取得できます。
Downloads > Developer Tools > iTunes COM for Windows SDK
解凍すると SampleScripts フォルダの中に
以下の 3つが入っているので試してみましょう。
CreateAlbumPlaylists.js
RemoveDeadTracks.js
RemoveUserPlaylists.js
なお、これは WSH (Windows Script Host) で動くので
普段 js ファイルを Dreamweaver などと関連付けてる人は
system32 の cscript.exe に関連付けさせるか、
コンソールから以下のように起動できます。
cscript CreateAlbumPlaylists.js
蛇足ですが、テキストファイルに start と書いて cmd.bat で保存して実行すると
そのディレクトリからコマンドプロンプトが起動します。
また、関数のドキュメントは iTunesCOM.chm にあるので参考に。
3. サンプルの解説
CreateAlbumPlaylists.js に軽くコメントを書いてみました。
これだけでアルバムから自動でプレイリストを作れるって便利ですね。
自分用にいろいろカスタマイズ出来そうです。
var iTunesApp = WScript.CreateObject("iTunes.Application");
var mainLibrary = iTunesApp.LibraryPlaylist;
// ライブラリの指定、一般的には My Music フォルダ
var mainLibrarySource = iTunesApp.LibrarySource;
var tracks = mainLibrary.Tracks;
var numTracks = tracks.Count;
var i;
var albumArray = new Array();
// アルバムのリストを生成
for (i = 1; i <= numTracks; i++){
var currTrack = tracks.Item(i);
var album = currTrack.Album;
if ((album != undefined) && (album != "")){
if (albumArray[album] == undefined){
albumArray[album] = new Array();
}
// アルバムへ曲を追加
albumArray[album].push(currTrack);
}
}
// アルバムごとにプレイリストを生成
for (var albumNameKey in albumArray){
var albumPlayList;
var trackArray = albumArray[albumNameKey];
// プレイリストの生成
albumPlaylist = iTunesApp.CreatePlaylist(albumNameKey);
for (var trackIndex in trackArray){
var currTrack = trackArray[trackIndex];
// 曲の追加
albumPlaylist.AddTrack(currTrack);
}
}
4. 今後
個人的には、iPhone のようにアルファベットをクリックすると
そのアーティストが絞込み検索される機能を作ろうと思ってます。
例えば B をクリックすると以下のアーティストが表示される、みたいな。
Black Eyed Peas
Blink 182
Brandy
完成したらこちらで紹介したいと思います。 それではまた。