1
23
2011
iTunesのライブラリデータの共有化を検討する
iTunes10ではライブラリデータの互換性が向上したようです
MacとWindowsを両方使っているユーザやOSを乗り換えるユーザにとって、これまで溜め込んだコンテンツをどのように移行するかはとても重要な問題でしょう.特に膨大な iTunes のライブラリのデータをこれらのOSの間で移行したり共有することは皆さんにとって切実な問題だと思います.
私もこれまで何度か自分のiTunesライブラリをMacとWindowsとの間で交換しましたが、ファイル名などOS間の微妙な違いなどによりいつも数曲は取りこぼしが起きていました.データの交換に関してはiTunes側でXMLデータを通じてImport/Export 機能が有るのでまだ何とかなるのですが、iTunesライブラリをMacとWindows間で完全に共有することは困難でした.iTunesそのもののファイルの名前や階層構造が違っていたり、XMLデータ中の音源ファイルの存在場所を示すURIの記述にもOSに依存してしまう部分がありました.
尤も私がMacとWindows間でライブラリデータの交換を行ったのは数年前のことですので、最近のiTunesではデータの互換性は大分向上していることと思います.最近iTunesのバージョンが10(1/22 2010現在V10.1.1) になり、久しぶりに iTunesのライブラリをMacとWindowsで共有する方法を試してみることにしました.
iTunes10のライブラリのファイル構造
先ずは新しいiTunes10でライブラリの構造がどのようになっているのか調べてみたところ、ファイル名や階層構造が MacとWindows間で一部異なるものの殆ど同じでした.異なる点は iTunesのライブラリDBファイルの名前が Mac側では “iTunes Library” で、Windows側では “iTunes Library.itl” となっていることです.
以前のiTunesでは “iTunes Music Library.xml” というXMLベースのテキストファイルが有り、この中にライブラリの曲名や音源データの格納場所、お気に入りなどに関する重要な情報が含まれていました.iTunesライブラリのデータを別な場所に移動したり、別な環境へ移行させるにはこのXMLファイルの内容を移行先の環境に合わせて正確に記述仕直す必要がありました.以前のiTunesのライブラリ管理はこのXMLデータファイルが要であったわけです.
パワーユーザであればXMLデータの中身を修正することは簡単でしょうが、一般のユーザにとってはかなり敷居の高い作業であることには変わり有りません.そこでこのXMLデータの共有が何とかならない物かと試行錯誤して見ることにしました.
Windows上のiTunesライブラリの保存場所
Windowsでの iTunes Music Library.xml の中身
[/sourcecode]
Mac OS X 上のiTunesライブラリの保存場所
Mac OS X での iTunes Music Library.xml の中身
Windows でのURIのパス表記は
C:/Documents%20and%20Settings/yasuaki/My%20Documents/My%20Music/iTunes/iTunes%20Media/
のようになりますが、Mac OS X では
/Volumes/Home/y2/Music/iTunes/iTunes%20Media/
のようになります.
(※上記の例ではホームディレクトリを移動していますが、デフォルトのMac OS X 環境では /Users/y2/Music/iTunes/iTunes%20Media/ のようになるでしょう)
【補足】
過去のバージョンのiTunesを使用していて、iTunesのバージョンアップを行った場合には、楽曲データのフォルダ名が以前のままで “iTunes%20Music” のようになっている場合があるようです.恐らく過去のバージョンとの互換性維持のためにこのようになっているのだと思いますが、iTunes側で自動的に判断して取り扱ってくれる様ですので、フォルダ名の違いは気にしなくても大丈夫です.
先ずはMac/Windows間でiTunesライブラリデータの移行テストを行ってみた
今回の最終目標であるiTunesのライブラリデータをMacとWindowsで相互に完全共有するために、先ずはライブラリデータそのものに互換性があることを確認してみました.
とりあえず Windows XP のiTunes9.2 で作成したライブラリを “iTunes” フォルダごと Mac OS X 10.6 のユーザのホームディレクトリにある”Music” フォルダにコピーします.以前の iTunes では コピー後に “iTunes Music Library.xml” の中身を移行先の環境に合わせて書き換えます.
ここで問題になるのは “iTunes Music Library.xml” の内容が、そのOS環境に依存した内容になってしまう事です.このことは “iTunes Music Library.xml” を別なOS環境でアクセスする際にiTunesが音源データファイルの格納場所を正しく認識できないということになります.つまり音源データファイルの格納場所が記述されているURI表記をMacとWindowsで同じにしなくてはならないということです.
音源ファイルの存在場所を示しているパス情報をドライブ名やルート(”/”)からの絶対パス表記ではなく、XMLファイルからの相対パスでiTunesが認識してくれれば良いのですが、iTunes側のソースコードをいじるわけにもいきませんので望みは薄いですが、.この方法が有効であれば音源ファイルの存在場所の表記方法がMacでもWindowsでも同じ表記で済みます.
ダメもとでXMLファイルの中身を全て相対パスに置き換えて iTunes を起動してみたところ全てのライブラリデータが問題無く見えており、全ての曲も問題無く再生できることが確認できたのでこの方法で問題解決と喜んでいたら、何とiTunesが終了した時点でiTunes君は相対パス表記にしたデータを無理矢理絶対パス形式に書き戻してしまいました.
今度はWindows形式のXMLデータを用意してMacのiTunesで読み込んでみても問題無く機能します.勿論iTunes終了時にはOS形式に合わせたXMLデータにきちんと変更されています.おまけに Windows側で付けられていた ライブラリDB のファイル名まで “iTunes Library.itl” から “iTunes Library” と変更されています.Mac側で作られた “iTunes Library” ファイルをWindowsへ持って行ってた場合は、ファイル名に無理矢理拡張子が付加されることはありませんが、”iTunes Library” のままで問題無く機能します.
どうやら新しいiTunesではXMLデータファイルの役割が以前のバージョンとは異なるようです.試しにXMLファイルを削除した状態でiTunesを起動してみましたが、何と全く問題無くライブラリが機能しています.iTunesを一旦終了して再度起動してみても特に問題はありません.消した筈のXMLファイルもきちんと復活しています.XMLファイルの中身を覗いてみるときちんと現在のライブラリの情報が繁栄されています.
どうやらこのXMLファイルはデータ交換や過去のiTunesとの整合性のためだけに用いられているようで、iTunesそのもののライブラリとは直接関係していないことが判明しました.このことはMac OS X とWindowsの間で、iTunes フォルダ以下を丸ごとコピーするだけで何の問題もなくデータを交換可能であるということになります.
暫くiTunesのライブラリデータの交換を行っていなかったので、このライブラリの互換性の向上がどのバージョンから採り入れられたのかははっきりしませんが、最新のiTunes10.0 では互換性の問題は解消しています.
とんだ取り越し苦労でしたが、Appleの連中はユーザがWindowsからMac OS X へ乗り換えることを考えて iTunesのデータ構造を見直したようですね.(^_^)b
これでiTunesライブラリデータの互換性の問題は不問になりましたので、後はライブラリデータをMacとWindowsの両方から容易にアクセスできる場所に置いて、お互いのiTunesからアクセス可能にすることです.
MacとWindowsで同じiTunesのライブラリを共有するには当然ながら両方のOSからアクセス可能な位置にライブラリを置き、それぞれの iTunes から確実にアクセス(読み書き)可能でなければなりません.
これを実現するには、NAS等のネットワーク共有ボリュームを用いる方法やUSBメモリや外付けHDドライブを用いることも可能です.先に紹介したようにIntel Mac環境であれば1台のマシンの上にMac OS X と Windows を載せて、両方のOSからアクセス可能な共有ボリュームを内部HD上に設けることも可能です.
記事が長くなってしまったので、Mac OS X と Windows との間の具体的な iTunes ライブラリの共有方法については次回、『MacとWindowsの間でiTunesライブラリを完全共有する』で説明しようと思います.
Mac OS X と Windows の間ではiTunesライブラリの互換性は取れているようだ