Windows
Windows を離れた人間が作った Windows の音楽プレイヤー
Windows は Foobar2000 の本拠地で、そこでの出来はとてもいい。このページはそれを正直に認めた上で、それでも rox を試す理由を具体的に書きます。
まず気まずい話から
Windows を使っていて、Foobar2000 が好みどおりに設定してあり、何年も安定しているなら、rox はアップグレードではありません。Foobar2000 には 20 年分のコンポーネントがあり、フットプリントは小さく、もう驚かされることもありません。こういうページでそれを取り繕うのは、読む人の午後を潰す一番手っ取り早い方法です。
それでも見る理由は、狭いけれど本物です。同時に使っている Linux や Mac のマシンでも、同じプレイヤーと同じレイアウトが欲しい。ソースが読めて、ライセンスがクローズドなフリーウェアではなく AGPL であってほしい。あるいは、見た目全部を誰かに送れる 1 つのファイルにしたい。自分のマシンでしか組み上がらないコンポーネントと設定とスクリプトのフォルダーではなく。
インストール
好きな場所に展開して rox.exe を実行するだけ。インストーラーもサービスもアンインストール項目もなく、閉じれば裏で動くものも残りません。
ポータブルモードはライブラリ、設定、キャッシュを実行ファイルの隣の rox-data フォルダーに置くので、全体が USB メモリに収まります。1 回だけなら --portable、恒久的にするなら実行ファイルの隣に portable という名前の空ファイルを置いてください。
バイナリはコード署名していないので、初回は SmartScreen が止めます。詳細情報から実行してください。署名証明書には無料のプレイヤーには出せないお金がかかります。その警告を不具合のように装うより、そう言うほうがましです。
rox.exe --portableWASAPI の排他出力
排他モードは WASAPI exclusive でエンドポイントを取り、ファイル自身のレートとビット深度を、何も挟まずにコンバーターの手前へ置きます。rox はデバイスが実際に受けた値を返すので、ハードウェアが 192 kHz を黙って断っていたら、フォーラムの言い争いではなく表示で分かります。
エンドポイントを掴んでいるあいだ、そのデバイスからはマシンの他の何も鳴りません。それが排他の意味であり、既定になっていない理由です。
Windows 連携の残り
メディアキーと再生中のオーバーレイは SMTC を通ります。組み込みアプリと同じ仕組みなので、音量キーのパネルに曲が出て、再生ボタンも効きます。
トレイアイコンとトレイに残す動作があるので、最後のウィンドウを閉じても音楽は止まらず、アイコンから戻れます。ワークスペースでウィンドウ枠を外すこともできますし、枠は残してリサイズ用の縁だけ落とせば、影とスナップレイアウトと Win+方向キーはそのままで、縁のドラッグだけを手放せます。
Windows でできないこと
- 単一インスタンスの制御はありません。Linux と macOS では 2 回目の起動が動いている rox にファイルを渡しますが、Windows では 2 つ目が立ち上がります。
- x86_64 のみ、バイナリは未署名なので SmartScreen が一度出ます。
- プラグイン API がないので、特定の Foobar2000 コンポーネントに相当するものはここにありません。
ここで組んだものは 1 つのファイルで、隣の Linux や Mac のマシンでもそのまま開きます。週末をかけた設定が 1 つの OS に取り残された経験があるなら、そこが午後をかける価値のある部分です。
自分のライブラリに向けてみる
AGPL のもとで自由に使えるオープンソース。アカウントは不要で、閉じれば裏で動くものも残りません。
どんな見た目か、Foobar2000 との比較全文、または上の排他出力が実際に何をしているかは ReplayGain とビットパーフェクト で。 同じプレイヤーが Linux と macOS にも。