ITmediaニュース:AirPort ExpressとiTunesを結ぶ「AirTunes」用赤外線リモコンが登場
AirTunesに欠けていた赤外線リモコンが、Mac用各種リモコンデバイスの老舗、Keyspanから発売される。
AirMac Express の操作は必ず PC の iTunes を使うってことで、これは USB で AirMac Express につっこむと赤外線レシーバーになって、リモートから AirTunes を操作できる感じになるみたいですね。ってことは AirMac Express のサーバ側から iTunes を操作できるってことか。たしかに操作が PC でしかできないのはちょっとした不満でした(垂れ流しばっかりだからとくに問題はないですけど)。
たとえば AirTunes を操作している Win32 とか Mac OSX 側に Web サーバをおいておいて、COM や AppleScript 経由で iTunes を操作するのは面白いかも。UI の候補としてはプラズマテレビの T ナビとか。CPAN にある Apache::iTunes は OSX 上の mod_perl で動く Web サーバみたいですね。昨日紹介した dacp のプロトコルを使うのも面白そう。
"iTunes リモコン" でググってみると同じこと考えてる人が いました。こちらは OSX 上のプログラムで、PDA や iアプリ (J2ME) から操作ってな感じみたいです。
ちょっと Win32 でできないかなと思ったんですが、Apache から起動した ActivePerl のスクリプト (CGI) で iTunes の COM たたいても反応がない。コマンドラインだとうまくいくんですが。。。セキュリティ上の問題が何かあるのかな。Win32::OLE->LastError() で調べてみると、
[OFF2003] [INFO] Office のサーバーサイド オートメーションについて
Microsoft Visual C または Visual C++ の場合
CO_E_SERVER_EXEC_FAILURE (0x80080005): サーバーの実行に失敗しました
または
E_ACCESSDENIED (0x80070005): アクセスは拒否されました
これらのエラーは、ユーザー プロファイルなしでサーバーサイド コードが実行されているか、コンテキストの起動用に指定されたユーザー ID に、適切な DCOM 権限がないことが原因で発生します。
という情報が。(thanks to nipotan) Win32 Apache ではセキュリティ上の理由から DCOM 権限はデフォルトでは付加されていない のですね。とりあえず HTTP::Daemon で つくってみました。
いじってみたところパーティシャッフルの再生中に $itunes->CurrentPlaylist->AddTrack($track);
てな具合にキューイングできるようなので、社内LANで AirMac Express に流しておいて、そのマシンにみんなでリクエスト投げるのはできそうですね。