2008/04/07

メタデータが消えた話

従来 PC上のディスクで各々管理していた音楽データ、動画データ、写真データをNAS上へと移動させました。

音楽と動画データは iTunes で、写真データは Picasa2 で、それぞれ管理していたものです。

動画データは主にビデオクリップで、iTunes上「ビデオの種類」は「ミュージックビデオ」に設定していました。一方 Picasa2 では、ディレクトリ単位で束ねることが出来る「コレクション」と、ディレクトリを意識することなく集約出来る「アルバム」を使っていました。

これらのデータをそのまま何も考えずに、NASへ移動。その後、iTunesとPicasa2へ再登録。すると、なんと(?)、iTunesでは、動画ファイルの「ビデオの種類」と再生回数が、Picasa2では、「アルバム」属性が消えてしまいました!

iTunesの謎は、その他の属性は残っていた事です。再生回数はiTunesアプリケーションで管理されているのかも、という点で納得できますが(再登録した時点で、別ファイルとして認識されている筈です)、なぜ、「ビデオの種類」だけが「ムービー」になってしまうのでしょう... (^^; これだけ、iTunes管理なのかな?

というわけで、「ムービーファイルだけど、アルバム名が登録されているもの関しては、ミュージックビデオにする」という WSH 用のスクリプトを作って、ひとまず問題解決。無保証ですが貼っておきます。基本はiTunes COM for Windows SDKのコードです。
/*
*/
var ALBUM_NAME = "foobar";

var ITTrackKindFile = 1;
var ITVideoKindNone = 0;
var ITVideoKindMusicVideo = 2;
var iTunesApp = WScript.CreateObject("iTunes.Application");
var mainLibrary = iTunesApp.LibraryPlaylist;
var tracks = mainLibrary.Tracks;
var numTracks = tracks.Count;

while (numTracks != 0) {
var currTrack = tracks.Item(numTracks);

if (currTrack.Kind == ITTrackKindFile) {
if (currTrack.Album == ALBUM_NAME) {
if ((currTrack.VideoKind != ITVideoKindNone)
&& (currTrack.VideoKind != ITVideoKindMusicVideo)) {
currTrack.VideoKind = ITVideoKindMusicVideo
}
}
}
numTracks--;
}

WScript.Echo("done.");
残念ながら再生回数は、闇へと葬り去られてしまいました。暫く、未再生の曲だけを聴く、という運用にしていたので、若干厳しい。まぁ、忘れているような曲に出会える楽しみはあるかな。

Picasa2の件は、コレクション情報だけが同ディレクトリ内に置かれたPicasa.ini ファイル内に書かれていることを考えれば納得は行きます。ディレクトリをまたがる情報をディレクトリに格納するわけには行きませんから。

が、こちらは、復活が難しい...。アルバムとしては、今までに飲んだ「酒」情報を集めていたのですが(おぃ)、ボトル写真の特徴でも抽出して、似た画像を集めるしかないのだろうか!? 面倒な...。

どちらも、実はデータの export / import などを適切に行えば、情報は失われないで済んだのかも知れませんね。安易に、「同じデータを、同じアプリケーションに食わせれば全てのデータは維持されるよね」と考え、実験をしなかった所に今回の敗因がありました。

所詮私の管理しているデータなんて、メタデータが消えたところで被害規模はタカが知れていますが、「子供の通年ベストショット」などを一所懸命選択している方などにとっては、結構な衝撃なのでは、と思います。結果、こうやって、細かな所で、現実的に特定アプリケーションへロックインされて行くことになるのかも知れませんね...。

0 件のコメント:

コメントを投稿