iTunes10.5とmt-daapd(FireFly)の問題が解決した!
先日メモった iTunes 10.5 にアップデートしたら mt-daapd(FireFly) の曲リストが表示されなくなってしまった問題。
色々と報告やなんかがされていた Apple Support Communities のページにパッチの情報を発見!
早速試して問題解決したのでメモ。
パッチのダウンロード
Apple Support Communities のページにパッチへのリンクがある。
これをブラウザでクリックするとテキストファイルなので表示されちゃうけど、右クリックで「リンク先のファイルをダウンロード」とかなんとかで保存。
FireFly svn-1696 にパッチを当てる
日本で mt-daapd(FireFly) を使っている人は日本語化とかなんとか色々とやっているのかもしれないけど、自分は素の svn-1696 で困ってないのでこれを使ってる。
なので普通にパッチを当てれば良いのだろうけど iTunes 10 になった時のパッチを既に当ててあるし、今回の修正箇所も 2カ所だけと少ないからまた”手で”修正した。
ちなみに普通にパッチを当てるなら mt-daapd-svn-1696/src/plugins ディレクトリでこんな感じに。(21_itunes10.5.dpatch はダウンロードしてきたパッチファイル。)
[paraches@raphael plugins]$ patch < 21_itunes10.5.dpatch
古いバージョンを捨てて新しいバージョンをインストール
後は今までのものと入れ替えるだけ。
サービス止めて
[paraches@raphael mt-daapd-svn-1696]$ sudo /etc/init.d/mt-daapd stop Shutting down DAAP server:
アンインストールして
[paraches@raphael mt-daapd-svn-1696]$ sudo make uninstall
一応 configure して
[paraches@raphael mt-daapd-svn-1696]$ ./configure --enable-sqlite3
一連の make 作業
[paraches@raphael mt-daapd-svn-1696]$ make clean [paraches@raphael mt-daapd-svn-1696]$ make [paraches@raphael mt-daapd-svn-1696]$ sudo make install
で、サービススタート
[paraches@raphael mt-daapd-svn-1696]$ sudo /etc/init.d/mt-daapd start Starting DAAP server: [ OK ] [paraches@raphael mt-daapd-svn-1696]$
これで iTunes 10.5 でも曲リストが見えるようになったよ!
原因と今後の不安
Apple Support Communities での話では、iTunes 10.5 から daap の最初のやり取りの server-info コマンドで、SupportsUpdate フィールドの値を返さなくちゃいけなくなったらしい。
iTunes の今までのバージョンでは必要なかったみたいで、mt-daapd(FireFly) は SupportsUpdate フィールドの値を返していなかった。
でも、ソースコードの中には SupportUpdate を返すようにするコードも入っててコメントアウトされてたみたい。で、それをコメントでなくして、そうすると SupportsUpdate の情報の分、返り値のサイズが変わっちゃうのを調整してってのがパッチ。
というわけで原因がわかってパッチも出てるから、BUFFALOやアイ・オー・データなんかの(mt-daapd を使ってる?)NAS もファームウェアのアップデートとかで順次この問題に対応されるんじゃないのかな?
今回はこんな感じで iTunes の変化に対応できたけど、mt-daapd(FireFly) のメンテナンスされてない状況を考えると iTunes のコマンド関係の変更に今後ちゃんと対応して行けるかどうかがちょっと怖い感じ。