iTunes Album Artwork
とても今更な話ではあるのだが、アルバムアートワークが消えたり違うものになったりすることがある。
消えるのは iTunes Store で扱わなくなった時らしい。 違うのに差し代わってしまうのも根本は同じだろう。 オリジナルの情報がなくなってしまったが、そこで諦めず、なんかそれっぽいものを探して見つかった、いや見つかってしまった場合に、違うものが設定されてしまうのではないか。
うっかり消されないようにと、
iTunes
の環境設定で
読み込んだ曲のアートワークを自動アップデート
は無効にしているはずなのだが、いつの間にか有効になってたりするんだよな。
OSの更新をした時に、初期設定に戻されてしまったのか。
扱わなくなったからって、ダウンロード済みのデータをわざわざ消すことはないだろうと思うが、それが仕様だっていうならしょうがない。 今後のために、今の時点でダウンロード済みの正しいアルバムアートワークのデータをバックアップしておこうと思ったのだが。
昔はダウンロードした画像が画像のままで iTunes のどこかのフォルダの中にあったと思ったが、今は仕様が変わったのか、画像ファイルは見当たらない。 それっぽいディレクトリの中には、拡張子が itc2 のファイルがあるばかり。
で、改めてググってみたら、この itc2 ファイルがアートワークの画像ファイルだった。
- 画像の前にヘッダ情報がついている。
- ヘッダのサイズはプラットフォーム、つまり mac か windows かで違う。 バージョンでも違う。 拡張子が itc もある。
- 現時点のバージョンだと、ヘッダーのサイズは mac が 492 バイトで windows が 500 バイト。
- ヘッダをカットするとそのまま画像ファイルになる。
ということで itc2 ファイルを画像にするのは簡単にできそう。
itc2ファイルの中を覗く
確認の為、適当に見つけた itc2 ファイルをダンプしてみた。 ファイル名は、元の名前が自動生成されたっぽい長いものだったので、キー入力が楽なように test.itc2 とリネームしている。
xxd test.itc2
結果は以下の通り。 ヘッダの末尾辺りを抜粋している。
000001e0: 0000 0000 0000 0000 6461 7461 ffd8 ffe0 ........data.... 000001f0: 0010 4a46 4946 0001 0101 0048 0048 0000 ..JFIF.....H.H..どうやらヘッダーは "data" という文字列で終わり、その後からが画像データらしい。 ここまで確かに 492 バイト。
で、その後ろには jpeg の、というか JFIF の先頭である 0xFFD8 があり、そのさらに少し後ろには "JFIF" があって、この 493 バイト目からのデータが jpeg であることが判る。
itc2ファイルから画像を取り出す
実際にヘッダの 492 バイトをカットして test.jpg という名前で保存してみた。
dd if=test.itc2 of=test.jpg bs=1 skip=492
その結果、出来上がった test.jpg は特に問題なく画像として表示できた。 まあ、そりゃそうだよねって話ではあるが。
ちなみに画像が png の場合は、上記の "JFIF" がある辺りに "PNG" がある。 画像を取り出したい場合は jpeg 同様に、先頭から "data" を目印にヘッダをカットすればいい。
残る問題
ということで、とりあえず itc2 ファイルを画像にすることはできたのだが。
iTunes
で
情報を見る
から
アートワーク
を選択してアルバムアートワークを表示し、画像を
Finder
にドラッグ・ドロップすると、アルバム名の画像ファイルになる。
itc2 ファイルから画像ファイルを作成する際も同じことをやりたい。 なにしろ itc2 ファイルは大量にあるので、作成した画像ファイルを一々表示して、確認して、ファイル名を変えて… なんて、とてもやってられない。 自動でやりたい。
しかし、アルバム名と画像ファイルとを紐付ける手段が不明。
iTunes のライブラリのディレクトリ/ファイル構成は、だいたいこんな感じ。
iTunes ├── Album Artwork ├── アーティスト名 │ ├── アルバム名 │ │ ├── 楽曲ファイルこの構成から察するに、アルバム名とアートワークの画像ファイルを結びつけるには iTunes 上で操作する必要があるのだな。
itl ファイルでその辺の情報を管理しているのかと思ったが、アートワークを設定したり外したりしてライブラリ下のファイルの変化を確認した結果、どうやら楽曲ファイル側で画像の情報を持っているらしい。 画像ファイルは楽曲ファイル側から参照されるだけで、自身はアルバムの情報も楽曲の情報も持っていないらしい。
ということで、次は楽曲ファイルを調べてみよう。
と思ったが、そろそろ眠くなってきたので、調べるのは明日以降で。