コンポーネント (Components)

コンポーネントを導入することで、foobar2000の機能を拡張できます。

導入

ダウンロード

インストール

コンポーネントのファイル形式により、インストールの方法が異なります。

.zipまたは.fb2k-component形式

まずメニューの【File → Preferences】から設定画面を開きます。そして左のツリーの[Component]を選択します。次に[Install]をクリックし、コンポーネントのファイル[foo_*.zip]または[*.fb2k-component]を開きます。その後[Apply]をクリックしfoobar2000を再起動することで、コンポーネントがインストールされ適用されます。

.dll形式

foobar2000のインストール フォルダのuser-componentsフォルダに、.dllファイルと同名のフォルダを作成して、そこにコピーします。その後foobar2000を再起動することで、コンポーネントとして認識されます。

インストール時のエラー

コンポーネントが期待するよりも古いバージョンのfoobar2000を使用していると、コンポーネントの適用時に「Wrong version number; this component appears to have been built with a newer version of the foobar2000 SDK, please download latest version of foobar2000 in order to use it.」のようにエラーとなります。この場合には指示に従いfoobar2000を更新します。

Reason: Not a valid Win32 application.」として読み込みに失敗するときは、コンポーネントが64bitに対応していません。この場合には32bit版のfoobar2000に変更します。

アンインストール

コンポーネントをアンインストールするには、preferencesの【Component】で対象のコンポーネントを右クリックし、[Remove]を選択します。そして指示に従いfoobar2000を再起動すると、user-componentsフォルダからそのコンポーネントのファイルが削除されます。

foobar2000に同梱または手動でインストールしたコンポーネントは表示がグレーアウトし、preferencesからでは削除できません。ですがcomponentsフォルダからそのコンポーネントのファイルを削除して再起動すれば、アンインストールされた状態となります。

Columns UI (foo_ui_columns)

UI要素を、より柔軟にレイアウトできるようになります。

foobar2000: Components Repository - Columns UI

Run Services (foo_run)

外部のプログラムをfoobarから起動できます。

foobar2000: Components Repository - Run Services

設定はPreferencesの【Tools → Run services】で行います。

たとえばAmazonからアルバムを検索するには、

http://www.amazon.co.jp/gp/search?index=music&keywords=$replace(%album%, ,+)

とします。

ZIP/GZIP/RAR/7-Zip Reader (foo_unpack)

圧縮ファイル内のファイルを読み込めるようになります。

圧縮ファイルからは読み込まないようにするには、foo_unpack.dllをcomponentsフォルダから削除します。すでにライブラリに追加されているファイルは、一度ライブラリ外へ移動することで除去できます。

Replaygain

対象とするファイルを選択し、コンテキストメニューの[ReplayGain]からゲインを設定できます。このとき[ReplayGain Scan Results]のStatusに「Corrupted file - peak too high」のように表示されるならば、ファイルが破損しています。

ゲインの適用時に「Could not update tags (Unsupported file format)」と表示されるならば、サポート外のファイル形式です。このコンポーネントは解析結果をそのファイルのメタデータに記録するため、音量情報を書き込めないファイルには適用できません。Implementations - ReplayGain - Hydrogenaudio Knowledgebase

Replaygainの設定はPreferencesの【Advanced → Tools → Replaygain scanner】から行え、ゲインの適用方法はPreferencesの【Playback】にある[ReplayGain]の設定によります。Replaygain つかいかた - foobar2000 Wiki

設定されたゲインは、

  • %replaygain_track_gain%
  • %replaygain_track_peak%

のタグで取得できます。よってトラックゲインが設定されていないMP3ファイルは、次のように検索することで見つけられます。

(%replaygain_track_gain% MISSING) AND (%codec% IS mp3)

Facets (foo_facets)

既定では3つのペインが表示されますが、これはレイアウトと同様に追加と削除できます。個々のペインに表示する内容は、ヘッダのコンテキストメニューのColumnsから指定できます。またそこのStatisticsで、個々の項目の統計情報を表示できます。指定可能なColumnsやStatisticsは、Preferencesの【Media Library → Facets】で変更できます。

Preferencesの【Media Library】の[Library viewer selection playlist]と[Activate when changed]を有効にすると、項目を選択したときにPlaylistに反映されるようになります。

期待する結果を得られないときは、[Filters]の指定を確認します。

Filters

既定値
Name Pattern
Lossless "$info(encoding)" IS lossless
Lossy "$info(encoding)" IS lossy
Missing ReplayGain %replaygain_track_gain% MISSING
Most played ALL SORT DESCENDING BY %play_count%
Never played %play_count% MISSING
Played often %play_count% GREATER 9
Random order ALL SORT BY "$rand()"
Recently added %added% DURING LAST 1 WEEK
Recently played %last_played% DURING LAST 1 WEEK
Top rated %rating% IS 5

Playlist Tools (foo_utils)

Playlist Organizer (foo_plorg)

プレイリストをツリー表示できます。

foobar2000: Components Repository - Playlist Organizer

その動作と表示形式は、Preferencesの【Playlist Organizer】で変更できます。

Playback Statistics (foo_playcount)

再生数のカウントや、曲に対する評価 (rating) の設定をできます。

foobar2000: Components Repository - Playback Statistics

Playback Statisticsのデータには、次の構文によりアクセスできます。

フィールド 説明
%first_played% 最初に再生された日時。未再生ならば'N/A'
%last_played% 最後に再生された日時。未再生ならば'N/A'
%play_count% 再生回数。
%played_per_day% 1日あたりの再生回数。これは最初と最後に再生された日時から算出される。
%added% ライブラリに追加された日時。
%rating% 曲の評価。1~5の数値。未評価ならば'?'
%rating_stars% 曲の評価。星の数で表される。たとえば、★★★
%rating_stars_fixed% 曲の評価。星の数で表される。たとえば、★★★☆☆
Title formatting fields - Hydrogenaudio Knowledgebase

foobar2000以外のツールでタグを編集すると、これらの情報は失われることがあります。

%rating_stars%では「★」記号で表示されますが、これを変更するには$repeat()で%rating%の数だけ文字を出力します。

$repeat(*,%rating%)

%rating_stars_fixed%による表示形式も同様に変更できます。未評価の場合も考慮するならば、次のようにします。

$if(%rating%,$repeat(*,%rating%)$repeat(-,$sub(5,%rating%)),?)

他の環境へのデータの移行

Playback Statisticsが記録した情報は、メニューの【Library → Playback Statistics → Export statistics】で保存でき、Import statisticsから読み込みます。これにより他の環境へデータを移行できます。

Waveform Seekbar (foo_wave_seekbar)

音声を波形表示し、それをクリックすることでシークできるようになります。

foobar2000: Components Repository - Waveform Seekbar

このコンポーネントを利用するには、インストール後UI要素として追加します。

作成された波形は、%APPDATA%\foobar2000\またはインストール フォルダにwavecache.dbの名前で保存されます。これが肥大化したときには、メニューの【Library → Waveform Seekbar】から

  • Remove Dead Waveforms … 存在しないファイルのデータの削除
  • Compact Waveform Database … データベースの不要領域の開放

でサイズを縮小できます。もしくはwavecache.dbを削除すれば、必要な分だけが再度生成されます。

WASAPI output support (foo_out_wasapi)

WASAPIを使用した音声出力を有効にできます。

サウンドデバイスを占有するため、ほかのアプリケーションの音が鳴らなくなります。

foobar2000: Components Repository - WASAPI output support

これを使用するには、インストール後にPreferencesの【Playback → Output】の[Device]の項目から「WASAPI」から始まるものを選択します。選択肢は大別すると2種類あり、

  • WASAPI (event) :
  • WASAPI (push) :

このうち「event」は追加されたモードで、システムへの負荷が小さくなっています。すべてのデバイスでサポートされるわけではありませんが、可能ならばこちらを使用すべきです。WASAPI - JRiverWiki

MIDI decoder (MIDI synthesizer host) (foo_midi)

MIDIを再生できるようになります。対応するのは、以下の形式です。

  • General MIDI files
    • .mid
    • .kar
  • RIFF MIDI files
    • .rmi
  • Proprietary format
    • .mids
    • .mds
    • .hmi
    • .hmp
    • .mus
    • .xmi
    • .lds

foobar2000: Components Repository - MIDI decoder

インストール後、設定はPreferencesの【Playback → Input → MIDI synthesizer host】から行えます。ただし初期状態では、満足な音質で演奏されないかも知れません。そのような場合にはBASSMIDI Driverをインストールし、好みのSoundFontを設定します。そのSoundFontの選択は、[SoundFont:]のラベル横のテキストボックスをクリックして表示される、ファイル選択ダイアログから行えます。

パスの変更などによりこのSoundFontを読み込めないと、「Decoding failure at 0:00.000 (Unsupported format or corrupted file):」として再生に失敗します。