mbed で iTunes をコントロール(2)

前回では、スイッチによるコントロールを付けましたが、今回はUSBホストを使いバーコードリーダーを付けてみました。

動機

家にある CD は全て iTunes に取り込んでいるので、CD を聴きたくなったときに CD をプレイヤーにかけることは最近はあまりありません。

前回も説明したとおりパソコンから直接アンプにつないでいるわけではなく、 Remote アプリを使ってサーバから Air Mac Express や Apple TV に飛ばして聴いています。

CD はプレイヤーがあるリビングの棚にあるので、この CD が聴きたいと思ったときにわざわざ Remote を起動してアルバムを探して…といった手順を踏まずに、バーコードを読み込ませて再生することができれば直感的じゃないかと思いました。

例えばこの CD 。

iTunes でどういった名前で登録されているか瞬時に分かるでしょうか?(自動で入力された名前です)

フランス国立管弦楽団が演奏する、ラロのスペイン交響曲とサラサーテのチゴイネルワイゼンが入っていて、指揮者は小澤征爾さんでヴァイオリンはアンネ=ゾフィー・ムターさんです。

アーティスト名は?アルバム名は?

正解はこちらです。

アーティスト名: Seiji Ozawa: Orchestre National De France

アルバム名: Symphonie Espagnol / Zigeunerweisen

クラシックの CD はこんな感じでアーティスト名が指揮者なのか作曲者なのか演奏者なのかがごっちゃです。しかもいろんな言語で入っているので検索も一回ですまないのです…由々しき問題です。

もちろん iTunes にはアルバムアーティストや作曲者などの項目もあるけど、結局はアーティスト名やアルバム名で探すことになります。

全部ルールを決めて自分で入れればいい?そんな無茶な…

mbed にてテスト

前置きが長くなってしまいましたが本題です。

バーコードリーダーは USB タイプが安価に売っているのでこちらを利用することにしました。HIDクラスのキーボードとして認識するので、購入前にキーボードを使ってテストをしました。

スターボードには USB ホスト用ソケットがついているので、ハードウェア的な作業はありません。

mbed で公開されている TwitterClient が USB キーボードを使ったものなのでこちらをインポートして利用させてもらいました。

バーコードリーダーはキーボードで数字+エンターキーを押したのと同様の動作をするはずなので、エンターキーが押されたら入力済みの数字をサーバーに送信するように修正しました。

バーコードの数字 (ISBN) とアルバムをどう関連付ければよいか悩みましたが、あらかじめ曲のコメント欄に ISBN を入れておくことにしました。 Amazon で ISBN コードで検索してもアルバム名は見つけられると思いますが、実際に曲に登録されているアルバム名は殆どがインポート時に CDDB から自動的に得ているものなので、Amazon の検索結果とマッチしない事が多いと思われるからです。 試しに  Amazon で 4988006841222 を検索してみてください。

以下のソースが iTunes の検索に ISBN を使い、アルバム曲を抽出して専用のプレイリストを作成して再生を始めるというスクリプトです。

iTunes = WScript.CreateObject('iTunes.Application');
var libraryPlaylist = iTunes.LibraryPlaylist;
var track_collection = libraryPlaylist.Search( isbn , 0 ); // 検索
var count = track_collection.Count ; // ヒットした数
albumPlaylist = iTunes.CreatePlaylist("playlist"); // プレイリスト作成
for ( i =1 ; i <= count ; i ++ ) { // プレイリストに検索結果を追加
    var currTrack = track_collection.Item(i) ;
    albumPlaylist.AddTrack(currTrack);
}
albumPlaylist.PlayFirstTrack(); // プレイリストの最初から再生

これで実際に動くことが確認できました。

バーコードリーダーを使ってみたが…

テストが成功したので、Amazon にて BC-PS800P-U というバーコードリーダーを購入してみました。

PC に接続して使えることを確認。 そしてスターボードに刺してテストしてみましたが…

認識しない…

え? PC でもキーボードとして認識してたよ?なぜ?

リーダーは最終的には分解してケースに納める予定なので、入力用としてもう一台必要だったからとりあえず別のメーカーの商品 (HMBC-880) を購入してみました。

こっちは無事成功でした。ホッ

両方だめだったらライブラリを修正するつもりだったけど結果オーライです。

黙々と入力作業しています。

iTunes で ISBN を入れる作業はそれほど面倒でもなくむしろ楽しいです。リーダーでピポッっていうのが結構癖になる。それ以外にも、取り込んでいない CD とか結構あったり、ぐちゃぐちゃだった並びをジャンルごとに並べてみたり。買ったまま忘れてた CD を発見したり…

ただ、入力を始めてから気がついたんだけど、バーコードってインレイ側に入ってなくて帯に入っていることが多い! 帯は捨てないで中に挟んでおくのが癖になってたから助かったよ。 それでも無くなっているものとかもあったりして…これは印刷したりしないとだめかなぁ。

 

投稿者:

ないん

30半ば過ぎで突然電子工作にはまりました。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です