foobar2000のプレイリストを修正する(ファイルパスを直す)方法

トラブル解消
geralt / Pixabay

こんにちは。不可思議絵の具(Twitter)です。

音楽ファイルのフォルダ変更で使えなくなったfoobar2000のプレイリストを修正する方法を紹介します。

 

私は音楽プレーヤーにfoobar2000を使っているのですが、音楽ファイルの置き場所を変えてしまったので今まで貯めたプレイリストが使えなくなってしまいました。

結局のところ、 foo_playlist_revive プラグインでサクッと問題解決してしまったのですが、せっかくなので調べたことを記録しておきます。

ジャンプ 理屈は良いからプラグインでサクッと直したい方はこちら

スポンサーリンク
スポンサーリンク

プレイリストが使えなくなる原因

プレイリスト内には音楽ファイルへのパスが書き込まれています。
要するに音楽ファイルの一覧表です。

しかし、プレイリストを作ったあとに音楽ファイルを移動してしまうと、「プレイリスト内のパス」と「現物の音楽ファイルのパス(移動後)」でズレが起きてしまいます。

その状態で曲を再生しようとしても、foobar2000的には「音楽ファイルの現物が見つからない」ということになり、曲を再生できません。

これがプレイリストが使えなくなる原因です。

foobar2000のメニューからファイルを移動させても連動して修正してくれないのが痛いところです

 

要するに、foobar2000で管理しているパス情報を新しいものに変更してやれば良いわけですが、私の調べた限り、foobar2000自身にそういった機能は無いようです。

よって、

  1. 一度プレイリストをファイルに書き出し
  2. 中身を修正して
  3. 修正後のプレイリストを読み込ませる

というステップを踏んでやればプレイリストは直ります。

手動で直す方法

手動で直す方法は2通りあります。

  1. fpl形式(バイナリファイル)でプレイリストを出力し、
    UTF8に対応したバイナリエディタでパスを置換する
    →再生回数・レーティング等の詳細情報は維持できるが、普段馴染みのないバイナリエディタが必要
  2. m3u形式(テキストファイル)でプレイリストを出力し、
    UTF8に対応したテキストエディタでパスを置換する
    →テキストエディタを使うので簡単だが、詳細情報は全て失われる
    →「1ファイルFLAC(flac+cue)」に対応できない(FLACファイル内の単曲を認識できない)

 

私の場合、「ほとんどの曲を『1ファイルFLAC(flac+cue)』で管理している」という理由から、①の方法を優先して修正してみましたが、上手く行きませんでした(修正したプレイリストを開いても中身が空っぽ)。

恐らく②の方法なら確実に上手くいくと思うのですが、プレイリストのほとんどを占めるFLACファイルが救えないので、私にとっては意味がありません。

未練がましく、「何かちょうど良いプラグイン無いかな~」と探していたら、foo_playlist_reviveというプラグインがあることを知りました。

自動で直す方法
foo_playlist_reviveプラグインを使う)

ダウンロード

foo_playlist_reviveプラグインを使うと、プレイリスト内の死んだ項目をメディアライブラリの項目と一致するものと置き換えて修復してくれます。

参照 Hydrogenaudioのフォーラム

ファイルへのリンク foo_playlist_revive
(リンク切れの場合、フォーラムの最新情報を確認してください)

使い方

  1. foo_playlist_reviveをインストールします。
  2. 修復したいプレイリストを開きます。
  3. メニューの Edit → Revive Dead Items を選択します。
    (プレイリストが複数あるなら②と③を繰り返し)

これだけ!

これだけで何か良い感じにプレイリストが直ります。
今までの苦労は何だったんだってくらいの簡単操作の神ツールです。

原理的には

Basically the mathcing is based on file size and track length. A matching title field is a positive factor but not determinative.

基本的には(メディアライブラリとプレイリストを)ファイルサイズと演奏時間で比較している
タイトルも考慮するが決定的なものではない。

とのこと。

ちゃんと1ファイルFLAC(flac+cue)でも上手くいくのが素晴らしい。

 

なお、修復できないファイルがあると

Tracks that fail to update due to no or multiple candidates are selected in the playlist.
Please make sure your media files have been scanned into the media library.

プレイリストでは、更新に失敗したトラックが選択されています。
メディアファイルがメディアライブラリにスキャンされていることを確認してください。

という文言が表示され、問題のあった曲が選択状態になります。
(どの曲に問題が起きたのか分かるようになっています)

まとめ

  • プレイリスト内のファイルパスを修正する方法はfoobar2000にない
  • 修正するにはfpl又はm3u形式でファイルに書き出す
  • foo_playlist_reviveはfoobar2000画面上で自動修復してくれる

長いこと面倒くさくて放ったらかしていたのですが、ついに直ってスッキリしました!

(2019/12/02追記)
mp3ファイルはダメになった?

久しぶりにプラグインを使ったのですが、foobar2000のアップデートの影響か、修復に失敗するmp3ファイルが出てきました(全部ダメという訳でもない)。

ただ、問題が起きるのはmp3ファイル(1ファイル=1曲)なので、

  1. foo_playlist_reviveプラグインが更新に失敗したファイルを選択状態にしてくれている)
    選択状態の曲を新規プレイリストに放り込む(=「更新失敗曲の一覧」を作る)
  2. 「更新失敗曲の一覧」を .m3u8 ファイルに保存
  3. テキストエディタでパスを置換
  4. 置換後の .m3u8 ファイルをプレイリスト一覧にドラッグ

という手順で修正できました。

また、パス修正後のプレイリストは曲数が減っていましたが、これはmp3からFLACに変更していたのが原因で、納得できました(FLACファイルを放り込み直して対応)。

 

では(^O^)/

タイトルとURLをコピーしました