Sony Bridge for Mac が iTunes Music Library.xml をちゃんと読んでくれなくて憤死しかけた
こんにちは、技術ブログを書く気が毛頭ない僕です。
前回の Android (not Xperia) で PS4 の Metal Gear Solid V リモートプレイできたのでまとめ 時点では Nexus 6 ユーザーだったわたくしですが、無事に Xperia Z5 ユーザーになりました。ありがとうございます。
部屋とワイシャツとわたくしとウォークマン
購入後しばらくは以下3点のような 「携帯」する「電話」として如何なものかレベル の実力を発揮しました。
- 通話開始したけどこちらの声が届かない
- 通話開始したけど相手の声が聞こえない
- 激しくCPUを活用するアプリケーション走らせるとホッカイロ化
いやはや、慣れとは怖いですね。最近はまったく気になりません。これが調教か。
Sony と Walkman 大好きっ子なもので、記念モデルかつ類似製品は中々生まれてこなそうな雰囲気をだしていた ZX1 にばっちり発売直後に飛びつき永らく愛用しておりましたが、1ヶ月ほど放置してみたところ無事に伝統のソニータイマーが発動しました。どうもありがとうございます。
というわけで、わたくしが Z5 に期待していたことの一つに音楽の再生能力がありました。 iPhone + ハイレゾ再生機を携行すると嵩張るの。重いの。
とはいえ音楽ファイル管理 & 再生は iTunes 頼りきりだったわけなんです。Mac 愛が Sony/Walkman 愛の 30 倍くらいあるし一時期 iPod に浮気してたので。
そんな環境でも Walkman 愛を思い出すたびに 優等生の A シリーズ機、Android 乗っかった F シリーズ機など積極的に試し、 Sony 謹製のアプリケーションが貧弱すぎて同期に3日かかるような絶望を rsync 使えば半分以下の時間で同期するなど、なんかよくわからない手法で解決してきました。
しかしながらですね、わたくしが Z5 を購入したタイミングでインターネッツの海をサーフしたところ、いつの間にか Sony Bridge for Mac なるものが登場していたわけですね。 同期ちょっとくらい遅くても我慢するよ?の精神でトライしてみたところ、「遅いには遅いけど死にはしないレベル」だったので愛用させていただく運びとなりました。
音楽ファイルが表示されない
ようやく本題ですね。何度か同期を繰り返して快適なミュージックライフを送っていたかのように見えました。 が、ある日を堺に Sony Music for Bridge が iTunes のライブラリ内の音楽ファイルを認識しなくなりました。
空っぽ
でも動画ファイルは認識されてる
これは幾たびも苦難を乗り越えてきた屈強なわたくしに対する挑戦だな、と認識しました。
天下の Google 先生のお力添えにより実現した調査の過程で、
iTunes ライブラリ XML をほかのアプリケーションと共有 のチェックが必要という情報を獲得しました。
最前線を突き進むわたくしは最初からこの程度のチェックは入れてありましたが、 Sony Bridge for Mac が iTunes の吐き出す xml を利用しているという超絶重要な情報を獲得しました。
こんな疑いが出てくるわけですね。 iTunes 普通に使えてるので存在はする、文字コードも途中で変わるなんて(普通は)ありえないはずなので"不正な値"を探す旅が始まるわけです。
ちょ、おま
ただね、やっぱり iTunes がちゃんと動いてるしパっと見では問題ないんですよ。
でもなぜか きっとここが全部悪い と謎の確信をもとに睨めっこを続けました。 そして一つの違和感を見つけました。
ジャンルは国によって文化が違うけど、Kind つまりオーディオファイルの種類って世界共通だよね、日本語まざっていいの?
いやいや、そんな馬鹿なって思いながらおもむろに英語圏向けの iTunes の xml を確保、 これに倣いテキストエディタで、オーディオファイル と audio file に置換してみたところバッチリ Sony Bridge for Mac に認識されるように。
iTunes Store で購入したファイルが表示されない問題がでてきたものの、 ここから Purchased AAC audio file という文字列を入手、 すかさず 購入した AAC を Purchased AAC 全置換で全解決。バッチリやで。
あほっぽーい。
でもね、この対策欠点があるの。
iTunes 開くじゃん。
その瞬間 iTunes が置換した部分を元の文字列(AAC audio file => AAC オーディオファイル)に戻すじゃん。
だめじゃん。
というわけで、iTunes の中身を読みこませるときは iTunes を閉じて、xml を置換しなおしましょう
まとめ
同期したいときは
- iTunes を終了させる
~/Music/iTunes/iTunes Music Library.xml
をテキストエディタで開く- テキストエディタで オーディオファイル を audio file に置換する
- テキストエディタで 購入したAAC を Purchased AAC に置換する
- Sony Bridge for Mac を開いて同期する
という手順で実行しましょう。 この手順で同期してから次回同期するまでに一度も iTunes を開かなかった場合のみ置換作業は不要です。
で、Sony さんこれ早くなんとかしてくれませんかね(困惑)
じゃあの