私は今まで、自作コンポーネントで再生回数、レート(評価)、最後に再生した日時を管理してきた。これらのデータをMusicBeeに引き継ぐために、一旦、iTunesを経由する。foobar2000の標準機能にはないため、どうにもならないのと、MusicBeeにはiTunesからのインポート機能があるからだ。
私の自作コンポーネントは各トラックのデータをiTunesに書き戻せるようにCOMを使って紐付けておいた。iTunes Storeを使っているのと、CDのインポートにはiTunesを使い続けていたからである。
iTunesのCOMを使っている人には分かると思うが、トラックのPersistentIDを保存しておいたのだ。これでiTunesのトラックを一意に取得できるので、データを確実に書き戻せる。
データベースの書記作成にRubyスクリプトを使ったので、書き戻しにもRubyスクリプトを使った。注意が必要だったのは最後に再生した日時である。自分のデータはJSTの形式だったのだが、これをそのままRubyのTime型に変換する(Parseする)と時差の分、ズレるので、9時間の調整を行った。
iTunesに戻した後、iTunesでライブラリをXMLに書き出して、そのXMLからMusicBeeのiTunesからインポートの機能を使ってデータをインポートした。使い始める直前にスクリプトを走らせ、MusicBeeのインポートを実行したので最後の状態で引き継ぎを行うことができた。
次は、自宅サーバへの再生履歴を送信するプラグインの作成について書くことにする。
コメント