foobar2000 v0.9.4.4でCustom Info使ってる環境での話。
パスが変わると、
メディアライブラリ、プレイリスト、再生回数、レーティングなどの情報が飛ぶ
まんま全部である。
Custom Infoのデータベースを修正する
custominfo_sqlite.db
が対象のファイル。
以下のような簡単なスクリプトで修正できる。
import sqlite3 #settings FROM = 'file://' + r'\\from-server\sounds' TO = 'file://' + r'\\to-server\music' #custorminfo_sqlite.db con = sqlite3.connect('custominfo_sqlite.db') try: con.execute( """ UPDATE quicktag SET url = ? || substr(url, ?, 1024) WHERE url like ? """, [TO, len(FROM) + 1, FROM + '%'] ) con.commit() print 'success.' except Exception, ex: con.rollback() print ex
FROMとTOを適当に書き換えて使う。
修正できないデータを消す
database.fpl
本体が管理してる、メディアライブラリのデータだが、問題ないので破棄する。
foobar2000を起動、メディアライブラリのパスを新しいものに変更して再スキャンする
スキャンが終わると、PlaylistTreeでの、@databaseなクエリなども正常に動くようになる。
残りはプレイリスト
独自形式?のようで、対応が難しそう。とりあえず破棄した。
暇があったら対応できるのかどうか調べてみよう。