Windows版iTunesでNowPlayingを実現

Blog | Posted at June 14, 2004 05:42 AM

Kyoさんが作ってくれたNo Music, No Life.(nmnl)ですが、ある日の「俺、使わないから消すよ。やりたきゃ自前でやんなさい」というありがたいお言葉と共に姿を消す事になっておりました。
そして残ったのは、「やる」と言ったからには9割9分実行する素敵な似非弁護士とは違って、激しくものぐさ+スキル無しな僕にはキツイ課題。

そんな折、良い具合に溜りすぎて片づかない仕事に嫌気が差し、いっちょ頑張ってみるかという気分になったので、ちとやってみました。
まだまだマズイ部分が多いのですが、一応は動いているのでメモ。

そもそも、Windows版iTunesのリリースで見事Appleの戦略にハマってiPodユーザになり、半分仕事用という危険な言い訳と共に、Amazonの戦略にハマって型落ちの激安iBook G4を買うか真剣に悩んでいる僕ですから、自宅でも会社でも音楽聞くならiTunesって訳です。アルバム単位ランダム再生最高!

そんな訳で、今回はWinampを使わずに実現させたかった。実はnmnlの時も、どうにかしてiTunesで実現できないものかと、調べまくったのですが見つかるのはMac用ばかり。いくつか見つけた中でも一番よさげなプラグインは、10ドルのシェアウェアで、USとUKのAmazonのみの対応。
なんでAmazonと関係が?という事に関しては、お小遣い欲しいからってだけの理由ではなくて、ジャケット画像付きで紹介したかったからですね。アルバム画像をAmazonのサーバから拝借できますので。
で、聞いているのは確かに洋楽が多いけど、日本の音楽も聴くわけだから、やっぱしAmazon.co.jpにつなぎたいのです。

このプラグインを利用する形でAmazon.co.jpとの連携を実現している方は見つけたのですが、個人的にはひとつで完結しないものに10ドルとはいえ払うのはちょっと…
ということで、「どうやって実現したんですか?」って聞きたい気持ちをここはぐっとこらえて別の方法を探す事にしたわけです。(元になってるプラグインの作者さんにAmazon.co.jpにも対応してくれない?と聞こうと思ったのですが、それはあまりにヘボイ英語メールしか書けなそうだったのでナシ。)

と。前置きがやたら長くなりましたが、今回やりたいことをまとめるとこんな感じ。

  • iTunesで音楽を再生したい
  • 今聴いている音楽をリアルタイムに主張しちゃう
  • その主張はジャケ付きでナンボだ(見栄えも良いし)
  • 事前にASIN調べて入れ込むとか、やっぱめんどくさいよね。多少怪しいことあっても自動が良い
  • 1つで完結するものが見つからない限りは無料でやりたい

さて、まずはとにもかくにもiTunesで再生している曲の情報を抜き出さないといけません。そしてGoogleの旅が始まるのです。

そもそもiTunes Windows版のSDKも公開されているわけで、イチから自前でつくんなさいよ。という話なのですが、そこにさらなる勉強が待ち受けているのは明らかだと踏んだため、インターネットの海をさまようこと数十分。ついに良い感じのものを見つけました。

iTunesBlogger

iTunesBlogger is a utility to track what is being played in iTunes and post information about each track (e.g. track name, artist, etc.) to a web script, or to the clipboard via a hotkey.

Updating your web site requires that your web site or blog contains a script which can receive the current track information. Some sample scripts are included below. The URL used for updating your web site is configurable, allowing you the flexibility you need without the hassle of writing your own iTunes interface.

iTunesBlogger設定画面

まさにこれです。こういうのが欲しかった。再生中の曲情報を任意の形でサーバ上のプログラムにぶつけてくれます。
できればプログラムじゃなくて、iTunesのプラグイン形式で動いて欲しかったけれども、日本語の曲情報にもばっちり対応しているので、これで一つ目の課題はクリア。

ということは、iTunesBloggerから投げられるデータを受け取って、Amazon.co.jpへ曲情報を元にどのアルバムなのか確定してくれるプログラムがあれば良いわけです。これが二つ目の課題。
AWSの仕組みも知りたかったし、ここでついに自力?と思いつつ、再びGoogle散策へ。ええ、非力ですから。

そしてたどり着いたのがfoobar2000というプレイヤでNowPlayingを実現させる為のプラグイン。

foobar2000: Now playingプラグイン (その2)

foobar2000が再生してる曲名をWebに表示出来るようにするプラグイン。付属のスクリプトはRuby用なので、うちのサーバーでは使えないのでした。で、Perl用のを作ったので公開しておきます。

Amazon Web Serviceのディベロッパートークンと、AmazonアソシエイツのIDが必要です。

そもそもiTunes用ではないのですが、CGIに曲情報投げてAmazonから情報引き出す動きは要求通り。これだ!と。
こちらのサイトではこのCGIを改造して良いですよと仰っているようですが、違う用途で使うことに気がひけます。しかし、ベースにさせて貰うには最適な代物だったので、いずれ自作する日まで使わせて頂ければ、、と採用決定。

というわけで、必要なものがすべて揃ったので、あとはお好みの形で表示されるようにカスタム。
それと、AWS絡みで探しているとkyo氏のジャケ写表示に関するJavaScriptがやたらと目に付くので、その偉大さを感じながら採用してみました。

そんなわけで自力度数パーセント程度ですが、やっとこさ導入することができました。以下、今後の課題。

  • ちゃんとASIN使ったリンクを張る。
  • php includeを使って素で表示してるのでhtmlの文法的にマズイのを解決したい
  • リンクのURLをエスケープ
    クリックするとAmazon側で文字化けしたのでエスケープ無しに改造してます。それもヤバイけど、実働重視運用中。
  • これらを解決するものをAWSの勉強をして自作。

ともあれ、参考にさせて貰ったサイトやツールの作者さんに感謝。

Continuing the discussion...

このエントリにTrack Backするには以下のURLにpingを送信してください。

TrackBack URL for this entry:
http://mt.box-up.com/mt-tb.cgi/17

Title:
Windows版iTunesでNow Playing
Excerpt:
EFさんのWindows版iTunesでNowPlayingを実現という記事を参...
Weblog:
Somewhere They Can't Find Me ~ どこにもいないよ
Tracked:
November 19, 2004 03:02 PM
Title:
Audioscrobbler
Excerpt:
だいぶ前、iTunesで今聞いているCDを表示してワーイとかやっていたわけですが、遅ればせながらAudioscrobblerを使い始めました。
Weblog:
EF
Tracked:
January 8, 2005 04:49 PM

Comments

なんかもしかしたらNow Playingが更新されるたびにWWWCにひっかかってるかも…
そいでいちいち確認しにきてるイモ…
まさかそれも狙い?

Posted by: イモ @ June 15, 2004 02:32 AM

RSSを吐いているblogでWWWC使わんといてください(汗。もちろん全然ねらいじゃないですよ。

と、言うわけでRSSリーダーの利用を推奨します。
とりあえず、わかりやすいとこってことでここはどうでしょ?
http://www.paipo.cc/

どうしてもWWWC使いたいと言うことならば、RSSのサイズチェックをしてもらえればいいけど、それも微妙かもしれないですな。

Posted by: ShinMaeno @ June 15, 2004 02:45 AM

RSSリーダーはとても便利だと思っていますが、ひとつのことをするのにふたつ以上のツールを使うのは非常に手間がかかってよろしくないと思うので使っていません(=めんどい)
いいです、mixiでチェックするから!!!

Posted by: イモ @ June 17, 2004 02:58 AM

RSSなら、更新通知だけじゃなくて、内容も見られるからWWWCより便利だと思うけどね。勿論、RSS吐いてるサイトをいくつか見ていないとそのメリットは感じられないと思うけど。

あと、はてなアンテナも最近RSSに対応したので、それを使えば1つに統一できないこともないかな。けども、そんなのはそもそも自由にやるべきなので、この話題はこれにて終了(w

# このエントリと全然関係ない方向に進んだなぁ、、

Posted by: ShinMaeno @ June 17, 2004 03:37 AM

てか、WWWCにRSSのURL食わせれば良いんでは?

Posted by: kyo @ June 27, 2004 06:22 PM

はじめまして!!
こういうの私もやりたかったんだぁ~!!と喜びつつiTunesbloggerを手に入れようとしたら…元サイトが行方不明のようです…。
もうできないのかなぁ…と途方にくれてます(>_<)

Posted by: Aira @ July 24, 2004 05:17 PM

> Airaさん
メールも頂いていたのに返事が送れてすいません。
やっぱりWindows版iTunesでもやりたくなりますよね?

お探しのiTunesbloggerですが、URLが変わったみたいです。以下のリンクでアクセス出来ないでしょうか?
http://www.ituneshacking.com/wiki/wakka.php?wakka=iTunesBloggerHomePage&v=gb8

Posted by: shin @ July 27, 2004 05:21 AM

こんにちは☆
shinさんは上のアドレスでサイトが見れたのでしょうか?
私のPCからはアクセスできませんでした…(;_;)残念です…。

Posted by: Aira @ July 30, 2004 12:00 PM

あらら、DNS浸透の兼ね合いでしょうか。メール送っておきますね。

Posted by: shin @ August 1, 2004 05:11 AM

はじめまして。

大変厚かましいお願いで恐縮なのですが、できればiTunesBlogger からCGIスクリプトにデータを渡し、最終的にページで曲名などを表示するまでのポイントと言うか、具体的な手順など教えていただけないでしょうか。

iTunesBloggerがちゃんと曲名などを送信するところまではなんとかたどり着けたのですが、そこから先がなんとも……。

Posted by: eith @ September 14, 2004 09:43 AM

eithさん。はじめまして。
iTunesBloggerが曲名を配信しているのであれば、あとはCGIなどをそのフォーマットに合わせて用意してあげるだけですね。

僕の場合は、エントリ内にも書いた通り、foobar2000: Now playingプラグイン (その2)の機能をほとんどそのままに、一部を書き換えるだけで対応しました。

本当は、iTunesBloggerとAWSの組み合わせに最適なものを作りたいところなのですが、まだ手を付けていないのですよね、、
foobar2000: Now playingプラグインのカスタマイズで転んでしまった場合は、ちょっとここでは、書かないと思います。

いずれオリジナルのものを作った際に参考にしていただきたいなぁと。

Posted by: shin @ September 20, 2004 04:51 AM

このエントリにコメントするには以下のフォームから送信してください。

名前とアドレス情報をCookieを使用して再利用しますか?

Previous and Next entry

Copyright © 2000-2005 Shin Maeno, All Rights Reserved.
box-up.com Partners

box-up.com v 4_3