fb2kの再生情報をSamurizeで表示するメモ
AMPIが使えない、foobar2000 ver.1.0以降の曲再生情報をSamurizeで表示する方法のメモ。
用意するもの
foobar2000のプラグイン、"Now Playing Simple"を利用する。
- foo_np_simple.dll – Foobar2000:Now Playing Simple – SkipyWiki
インストール手順
- foo_np_simple.7zをダウンロードしたら解凍し、中身のfoo_np_simple.dllを取り出す
- fb2kが起動しているなら終了する
- fb2kのインストールフォルダ¥components¥へfoo_np_simple.dllを放り込む
これでプラグインのインストールは終了。
今回はfb2k v1.1.17 / foo_np_simple.dll v1.8で試した。
Now Playing Simpleの設定
再生中のトラックの情報のうち、指定した項目を指定したファイルへ出力するプラグインです。
今回出力する情報は以下の7項目。
- 曲名
- アーティスト名
- ディスク名(アルバムタイトル)
- トラックの演奏時間
- 再生開始からの経過時間
- トラックの演奏時間に対する経過時間の割合(プログレスバーで使います)
- 再生中のトラックのパスを取得し、同フォルダ内に置いたジャケット画像(folder.jpg)のパスを出力
では、順番に説明していきます。
設定ウィンドウと項目の説明
foobar2000を起動し、File > Preference > 左側メニューのTool > Now Playing Simpleと辿り設定画面を表示させます。
- 出力先のファイルパスの表示枠。右端(3の上)の"…"をクリックして出力先を決定します
- 出力ファイルの文字エンコード
- どのタイミングでファイルを出力するか。小ウィンドウが出るので選択します
- 条件を入力する場所です。予め定義されたコードを入力します
- 4で入力した結果が表示されます
出力先のファイルパスの指定
とりあえずきちんと出力されるか見るために、出力先を決めます。
今回はSamurizeのclient.exeがあるフォルダ内にOutputというフォルダを作り、その中にfb2k.txtというテキストファイルを出力することにします。
ファイルパスで記述すると、私の場合は C:\Program Files\Samurize\Output\fb2k.txt となります。
ダブルクォートで囲む必要はありません。
文字エンコードの選択
日本語(2バイト文字・全角文字)を扱う場合はANSIを選択します。
これ以外を選択すると文字化けが起こります。
どのタイミングで出力するか
クリックすると以下のウィンドウが表示されます。
1回選択するごとにウィンドウが隠れますが、複数選択可能です。
- On new track – トラックを変更したタイミング
- On Pause – 一時停止したタイミング
- On Stop – 停止したタイミング
- On every second – 1秒毎に
一時停止・停止したタイミングでの出力は、現在の再生状況の取得を行う際に必要になります。
今回は"On new track"にのみチェックを入れます。
出力する情報を設定する
先ほど挙げた7項目を設定ウィンドウの4番の場所に記述していきます。
記述フォーマットはtitle formatting reference (日本語訳)を参考にします。
なお、文中に表示される$char(10)
は改行を、//
はコメント行を示します。
曲名
//曲名
%title% $char(10)
アーティスト名
//アーティスト名
%artist% $char(10)
ディスク名(アルバムタイトル)
//ディスク
%album% $char(10)
演奏時間
//演奏時間
%_length% $char(10)
経過時間
//経過時間
%_time_elapsed% $char(10)
経過時間(パーセント表示・プログレスバー用)
$muldiv(%playback_time_seconds%, 100, %length_seconds%) $char(10)
解説:
$muldiv(a, b, c)
は、a に b を掛け、それから c で割る、の意味。
つまり、経過時間(秒単位) × 100 ÷ トラック長(秒単位) = 経過時間(%) となるわけです。
最大値を100としたプログレスバーで使います。
アルバムジャケット表示
$if($directory_path(%path%)\folder.jpg,$directory_path(%path%)\folder.jpg,no-image)$char(10)
解説:
あらかじめ曲ファイルと同じフォルダに"folder"という名前でジャケット画像をJpg形式で置いておきます。
再生中の曲ファイルがあるフォルダを探し、その中にfolder.jpgがある場合はそのパス(path)を表示させます。
記述が終わったらOKでウィンドウを閉じ、Samurize側での設定を行います。
メーターの追加 > テキストファイル で出力したテキストファイルを指定。
経過時間(パーセント表示)はプログレスバーで、アルバムジャケット表示は画像で。それ以外はテキストで表示させればいいでしょう。