Category Archives: Blog

Windows版iTunesでNowPlayingを実現

Posted at June 14, 2004 5: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の勉強をして自作。

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

No Music, No Life.

Posted at May 31, 2004 4:08 AM

少し前からこのサイトの右側にNo Music, No Lifeというのが置いてあるのですが、ある晩「なんか面白いもの作りたいな」と唐突に言い出したkyo氏が一晩で作ったオモシロCGIで、僕とkyo氏が聞いているアルバムがリアルタイムに公開されている自己顕示欲全開な代物です。

どんな動きをしているのかは、hail2uのエントリを見て貰うのが手早いと思いますが、Winampで再生しているmp3のID3タグを、プラグイン経由でサーバ上のCGIを叩いてます。
プラグインは当初Do Somethingを使っていたのですが、情報を送るタイミングでWinampがガンガン落ちるのでこれもまたkyo氏作成のプラグインを使ってます。お世話になりすぎ。

今のところはごく内輪なお遊びっぽいですが、日々少しずついじっていて、次のネタも出ているので、彼が飽きなければいずれは配布されるのかもしれません。
なぜかこのスクリプトが動いている様はこのサイトでしか確認できない状況ですが、2人が同じアルバムを聞きまくっているときは、純粋に趣味がかぶっているか、音楽談義に花を咲かせている最中だと思ってくださいまし。

ちなみにあちらのエントリでは僕が協力したと書いてくれていますが、どう思い返しても僕は触って「おー良い!」とか言ってただけな感じでございます。出来る男は心が広いぜ!(白々しい)

デザイン変更

Posted at May 24, 2004 5:46 PM

そろそろDNSも浸透してきて、会社からも繋がるようになったので、トップページと各エントリのページだけ先行して書き換え。
簡単なページだけど、数年ぶりに自分でデザインした気がします。

まだカテゴリや月のアーカイブのテンプレートを書いていないので崩れるし、MacIEのCSSバグ対策とかも一切していない状況なんだけど、だいたい固まっているから、とりあえずこれで。気になった部分などがあったら教えてくださいまし。

追記

なんとかそれなりの形にはなってきたみたい。
全ページ共通のメニューを置いてみたのですが、テンプレート化→php吐き出しで、これをインクルードする形で実現しておきました。
使い回したい箇所のコードを適当な名前で保存して、埋め込みたいテンプレートの中で、

<?php include"適当な名前.php";?>

と、パスを指定してあげれば良いだけ。テンプレートが長くならないし、サーバ負荷も押さえられるし、一石二鳥と言ったところですかね。

相変わらずMacIE対策をしていないけど、まぁ少しずついじっていくこととしましょう。
それよりも、いろいろいじってて初めて気づいたのだけど、MTって検索結果の表示画面がカスタマイズしにくいんですね。一応見栄えだけ揃えておきたかったので、

  • [MT]/search_templates/default.tmpl

を直接弄っておきました。これでとりあえずは変更出来るのですが、同じMTで複数のblogを使いたいときにもこのテンプレートが適用されるので、少々厄介ですね。

MovableType 2.661

Posted at May 23, 2004 1:03 AM

某blosxom布教家には、「blosxomだよな?」と事ある毎に、脅されてきたのですが、「じゃ、勉強してからね」と言ったきり、勿論なにも調べてません。

サーバ移転の作業をする前にそんなやりとりを思い出したりしたわけですが、これ以上出だしが遅れるとメールもとれなくなってしまうので、深く悩まず、慣れ親しんだMovableTypeで作ることに。
MT3のライセンスを購入してもいいのですが、まだ日本語版が正式リリースされていないし、とりあえずは2.661でやっていきます。

自分のサイトでBlogを使おう!と思ったのが、2002年の終わり頃だから、これを実行に移すまでに軽く1年半。僕、どんだけ腰が重いの?

初めてテストで設置したときには日本語版のパッチも無くて、えらい苦労した記憶がありますが、数々の先駆者のおかげで、今はほんと楽々。すばらしい時代になったもんだなぁ。

Copyright © 2000-2005 Shin Maeno, All Rights Reserved.