2004年初めにこんなページを書いたものの、家では子供がうるさくてゆっくり音楽聴くことができないため、せっかく構築した環境がほったらかしになってました。
ところが、嫁が珍しく「聞きたい音楽がある」と言うので、久々にiTunesサーバを復活させることに。で、1年半前に入れた daapd では、おそらく iTunes5 には対応してないだろうし、 iTMS-J で購入した AAC のメタデータを扱うことはできないだろう、ということで、環境再構築することにしました。
まず最初に、 daapd よりも mt-daapd の方がよさげな感じなので、こちらを入れてみた(うちは Slackware なのでソースからコンパイル)ものの、HTTPリクエストを受け取るとSIGSEGVでダウン。straceで追っかけてみたものの、自分のスキルでは原因分からず。
なので、次は daapd にトライ。が、make が通らない…ので、gcc を 2.95.3 から 3.4.4 にアップグレードして再トライ。これで make が通って、ちゃんと iTunes サーバとして機能するようになった。が、このままでは AAC のメタデータが扱えないので、iTMS-J で購入した曲が聴けない。で、結局は以下の手順で環境構築することで、AAC もばっちりになりました。
SDL (Simple Directmedia Layer) を入手してインストールします。これは、次に述べるmpeg4ipのために必要です。
俺は SDL-1.2 のダウンロードサイトからソースを持ってきてコンパイルしました。
AACのメタデータハンドリングのために、 mpeg4ip を入手してインストールします。全てインストールする必要はなく、mp4v2 だけインストールすれば良いです。手順は daapd に付属の README.mpeg4ipに記述されていますが、実際のパスと異なる部分が一部あるので、修正したものを以下に記します。
tar xvfz mpeg4ip-1.3.tar.gz cd mpeg4ip-1.3/ ./bootstrap --disable-server cp mpeg4ip_config.h /usr/local/include/ cp include/mpeg4ip_version.h /usr/local/include cp include/mpeg4ip.h /usr/local/include/ cd lib/mp4v2/ edit Makefile: replace the line "SUBDIRS = . test util" with "SUBDIRS = ." make make install
で、本命の daapd の入手とインストールです。
俺が入れたのは 0.2.4a というバージョンなのですが、このバージョンは configure スクリプトがなくて、いきなりmakeを実行するようになっています。ただし、ソースから展開してそのまま make しても、 mpeg4ip は利用しないようになっているので、makefile の「MPEG4_ENABLE = 0」を「MPEG4_ENABLE = 1」に書き換えてから、make; make install します。
これで完了です。daapdを起動してiTunesからアクセスしたところ、mp3ファイルだけではなく、iTMS-Jで購入したAACファイルのメタデータもしっかりとiTunes上に表示されています。日本語もOKだしアートワークもちゃんと表示されてる。よしよし。