私本管理 + Amazon + バーコードリーダーで蔵書管理

■ガジェット好きの憧れ(?)、バーコードリーダー

 突然ですが右のバーコードリーダーを買いました。

 USBやPS/2接続のこの手のバーコードリーダーはPCからみるとキーボードとして認識されるようにできていて、バーコードに記載されている文字列をあたかもキーボードでタイプしたかのように送信してくれます。なので、ソフト側は特にバーコードに対応していないExcelだろうがメモ帳だろうが簡単に連携できてしまうワケです。考えた人エラいですね。

 で、ネットで見てもっとも安かったのが右の製品です。USBタイプで、ドライバーのインストールも無しで普通にHIDキーボードとして認識されました(XP)。

 写真では見えないですが握り部分のお腹側にトリガボタンがついていて、デフォルトではバーコードに当てながらこのボタンを押すとスキャンされます。それ以外に触れるようなところもないし、こういうもんだろうと思ってたんですが、実はマニュアルに設定変更用のバーコードがたくさん記載されていて、結構パラメーターをいじることができました。たとえばボタンを1度押してからもう一度押すまでの間、捉えたバーコードをひたすら読み込む連続スキャンモードにも変更できました。こっちの方が楽ですね(でもたまに何にもないところに置いただけでピっと反応したりw)。あとスキャン成功時のフィードバックも最初は「ピーーっ」っとやや長くてウザかったんですが、この長さなども変更して短音にすることができました。

2009.03.27追記:この記事は注目度が高いようなので、改めてこちらの記事に写真を追加しました。

 バーコードリーダーなんだからバーコードで設定しよう、というアイデアは知れば納得。昔レシピのバーコードで設定ができる電子レンジがあったなぁ、と思い出しました。

2009.03.27追記:ちなみにこの設定バーコード冊子はもし無くしても公式サイトでダウンロードできるので安心です。TSK-Uの場合は、「バーコードリーダー日本語マニュアルver.2」ってのでOKです(追記日現在)。

 ちなみに写真の色はよくある色温度の設定ミスかと思いきや、本当にこんな青白い色してます。普通にレジなんかでみかけるベージュ系の方が良かったなぁ。いっそ黒とか。

 まぁ、なにより値段が安く、普通に使えるので満足しています。

■ISBNで蔵書管理

 で、なんで突然バーコードリーダーなんて買ったかというと、窓の杜私本管理Plusという蔵書管理データベースを見つけたからなんです。

 ウチもいい加減本がたまりすぎており収集がついてません。特に続き物のマンガは前半は実家に行ってたり、新刊は友達に貸してたりとバラバラ。また大抵はこっちから遊びに行くついでに持ってくということが多いので、どの作品は誰に何巻まで貸したか、というのも覚えきれなくなってまして、なんか上手く管理したいなぁとは思っていました。

 で、蔵書管理はやったことある人はわかると思うんですが、まず最初に既存の本をガァーっと入力するのが壁です。タイトル、著者名などの情報をキーボードで打っていたら30冊くらいで飽き飽きしてきますね(^^;)。

 この私本管理PlusではAmazonとのマッシュアップでその苦労を軽減してくれます。その際バーコードリーダーがあると更に便利なのです。

 もちろん普通にタイトルなどのキーワードで検索しても引っ張って来てくれますが、検索でヒットしたものの情報を全部もってきてから取捨する方式なので、ひどく時間がかかります。ご存じの通りAmazonは登録数がハンパないので、曖昧なキーワードだと余分なものも数多くヒットし、その分の読み込み時間もかかってしまうのです。

 一方で本ソフトはISBN(国際標準図書番号)を使ってAmazonから情報を引っ張ってくることもできます。しかもテキスト欄に1行1ISBNで羅列しておいたものを、バッチで引いてくることができます。上記のリーダーはバーコード読み取り時に改行コードも含めてくれるので、このテキスト欄にフォーカスを置いて、ひたすらバーコードをスキャンして、最後に「検索」ボタンを押せば、何十冊もの書籍データを一括で登録できてしまうワケです。

(ちなみにISBNは現在多くの本は2段のバーコードが記載されていますが、そのうちの上段がISBN相当分なので、上だけスキャンすればOK)。

 その他、全体的にみると、ややとっつきにくいUIですが、項目名などのカスタマイズも自由度が高いですし、ローカルデータベースの中の検索にもISBNが使えるので、10冊まとめて貸し出す、とか1巻?30巻は実家に移動する、とかいう時にもバーコードでスキャンして、保存場所を一括で変更、という感じで使えます。

 データもインストールフォルダ内に完結しているっぽいので、ファイルサーバー上に置いて共有もやりやすいでしょう(ただしソフト自体は特に排他制御とかはしてなさそう)。

 あと表紙データもAmazonからもってきてくれるので、iTunesでアルバムアートを表示させた時のような嬉しさがありますね(単純に確認にも便利)。

バイオUXとバーコードリーダー

 プラグインを落としてくれば、DVDやCDなどもAmazonからデータを持ってくられるようです。 また、CGIでWebインターフェイスとも連動できるようです。出先からケータイで「あれ何巻までもってたっけ?」なんて時に便利そうですね。

 ソフトは上記のWeb公開を見越してデスクトップ機に入れましたが、登録時は写真のようにVAIO UXにつないで家中の本をスキャンしてまわりました。  VAIO上では普通にメモ帳でISBNを取り貯めて、あとでまとめてデスクトップ機でソフト上にコピペすればOKです。こういう使い方ができるのも強みですね。

■いっそ自作したい気も

 PEAR辺りのライブラリでAmazonマッシュアップ用のツールがあれば、PHPベースで自分で作ってみるのも面白いかも知れませんね。私本管理でもWeb公開できますが、Linuxマシンだけで完結できるならウチ的にはその方が便利ですし。

 でもまぁ、当分はこの環境が活躍してくれそうです。

同日追記:

 つーか、すでにないかなぁと思って物色中、MacOSX用ではこんなのを見つけました。>Delicious Library

 デザインが秀逸なのもさることながら、iSight(内蔵カメラ)でバーコードを読み取れるってのもスゴい。最近のMacBookとかなら追加ハード無しで使えちゃうんですもんね。やるなぁ。

iTunes Exportのカスタマイズに成功

 前エントリで書いていた、「iTunesライブラリからm3uへ変換ツールで、パスのデリミタをバックスラッシュではなくスラッシュで書き出せるモノ」ですが、C#のソースが公開されているiTunes Exportを改造して実現できました。はじめてC#使ったけど、まぁこれくらいなら見よう見まねでなんとかなるもんですw。

 将来のバージョンに同じ変更をする時のために覚え書きしておきます。

 Export -> M3UPlaylistWriter.csの、 赤字部分を書き加えるだけです。 バックスラッシュが2つで間違いありません(エスケープのため)。

 public override void WriteTrack( string trackName, Track track )
        {
            writer.WriteLine( trackName.Replace(“\\”,”/”));
        }

 当然、m3u書き出しを指定した時のみ有効です。

 ついでに、このツールは設定を一切保存してくれないので、フォームなどもいじって自分用にカスタマイズ。

  • 書き出しパスを自分のマシン用にデフォルト設定
  • 「Include Unprotexted AAC Files (m4a)」チェックボックスをデフォルトでオンに
  • プレイリスト選択画面で「Export All Playlists」をデフォルトでオフに

 上の2つはフォームをいじるだけでOKでしたが、3つ目はコードをいじる必要がありました。

 iTunesExportForm.csの、showPanel()関数内にswitch文があり、その中の下記の部分を追記しました(コードデザイナー。

case Panels.SelectPlaylists:
                    selectPlaylistPanel.Visible = true;
                    exportAllPlaylistsCheckbox.Checked = false;
                    nextButon.Visible = true;
                    backButton.Enabled = true;
                    break;

 これでプレイリスト選択以外は「次へ」の連打で作業が完了できるようになりました。(゜д゜)ウマー!!

 いやぁ、オープンソースって本当に素晴らしいですね(水野晴朗調で)。

 このツールはコマンドライン版もあるので、頑張ればバッチ処理もできそうです。

P.S.

 再配布は条件を満たせばOKっぽいですが、まぁニッチすぎるので、リクエストがあった時に考えます。

iTunes Music Library.xmlからm3uに変換するツールを物色

 VGF-WA1を枕元に設置。ベッド枕側の棚は元々かなり奥行きがなくてコンポにせよスピーカーにせよ選択肢が狭められていたんですが、VGF-WA1はギリギリ載ってくれました。

 さて、早速寝る前に再生開始してみたんですが、途中で止まってしまう曲がある。条件は不明ですが、m3uファイルのパスのデリミタを\(バックスラッシュ)から/(スラッシュ)に書き換えたら解決しました。TVersityを使う場合でもこれは必須っぽいです。

 そうすると、\でしか書き出せない(というかiTunes Music Library内のパスをそのまま書き出すだけの)iTunes Exportだと毎回エディタなどで置換するのがめんどくさい。

 きっとiTunesライブラリからm3uで書き出すツールなんて世界中に色々ありそうなので物色。

iTuxxxListConverter

 XMLファイルを参照するのではなく、iTunesのスクリプティングAPI経由でデータを取得するようで、いちいちiTunesが起動する上に、取得に時間がかかりすぎるので断念。

以上。

 あれ?意外に見つからないな…

 iTunes Exportは.NETのソースも公開してるっぽいけど、中身C#だなぁ。\->/の全置換くらいならなんとかなるかなぁ。 (追記:←成功しました)。

 いっそ、VBで自作するのも手かも。起動したら全自動であらかじめ指定したプレイリストを書き出すようにしてスタートアップにでも入れておけば、iTunes側の更新を自動的に反映させられる、みたいな。

VGF-WA1 + TVersity + VPNで帰省時もiTunesライブラリ聴けそう

 元エントリをさきほど上げたばかりなので、追記でも良かったんですが、いい加減長いのと、ややマニアックな内容なので別エントリにしときます。

>なんとかVPN経由させて実家からも使えたら、庭で使ってみたいなと。実家マシンでTVersityを起動
>して、プレイリスト内のパスでネットワーク参照すればイケないかなぁ。

と書いたんですが、とりあえずUNC表記は認識しました。つまり、TVersityが走ってるマシンからみてネットワークフォルダになる場所(TeraStationで検証)であってもちゃんと参照できます。m3uプレイリスト内のパスの処理ってDLNAサーバーが受け持つんですね(SMBを解釈しないVGF-WA1が直接参照できるはずがない)。

 と、いうことはですよ。実家私室にあるマシンでPacketiXなりPPTPなりで自宅のiTunesフォルダが見られる状態になっていれば、プレイリストをコピーして中身をUNC表記に書き換えておけば、アクセスできるんじゃないでしょうか?帯域さえ充分ならイケそうです。次の帰省が楽しみになってきました!

 

 こうなると余計に無線LAN設定が1セットしか保持できないのが残念ですね。つーか、もう一台実家用に欲しいって話ですな。

iTunes Music Library.xmlを編集したい時の覚え書き

 前エントリのからみでiTunesライブラリの場所を移動しようとしてハマってしまいました。iTunes Music Library.xml内のパスをエディタで一括置換すれば解決できそうな問題だったんですが、ちょっとトリッキーだったので覚え書きしておきます。

 まず、iTunesのライブラリは、iTunes Library.itlというバイナリファイルが主です。これを元にサードパーティツールが連携しやすいようにiTunes Music Library.xmlが生成されています。なので、xmlファイルを書き換えてもiTunesを再起動すると元に戻ってしまいます。

 そこで、まずxmlを他のフォルダにバックアップした上で、.itlファイルを削除します。でiTunesを起動するとライブラリが空の状態で起動するので、ファイル->インポートから編集した.xmlファイルを取り込んでやればOKです。レートやスマートプレイリストも保持されてます。ただこの時点で、いくつか見つからないファイルがあってインポートできなかった旨が表示されるんですが、具体的にどのファイルが、いくつダメだったのかは教えてくれないので、何千曲もあるうちのどこかが歯抜けになってるかも知れない気持ち悪さがあります。