coaxのcoaxdのチューナーを、TVTestやEDCBからBonDriverとして使うためのものです。
BonDriver本体、デバイス設定やチャンネル定義を作成するTVTestプラグイン、カードリーダー用のwinscard.dllの3つでできています。
TVTestのフォルダーに次のように置きます。
TVTest.exe
BonDriver_coax.dll
winscard.dll
coaxd.exe ← coax の coaxd。ここに置けば必要なときに自動で起動します
firmware\ ← coax の利用時にファームウェアが必要なデバイスはこのフォルダに設置します
Plugins\
coax.tvtp ← coax_plugin.dll の名前を変えたもの
coaxdはcoaxのリリースから入手してください。
ファームウェアの入手と置き方はcoaxの説明にあります。
あとはプラグインに従ってください。
- TVTestでBonDriverに
BonDriver_coax.dllを選びます。 - 「プラグイン」メニューの「coax」でウィンドウを開きます。
- 「経路と空間の設定...」で、どのチューナーで何(地デジ、BS/CS、ケーブルなど)を受けるかを決めます。
- 「チャンネルスキャン」を押します。受かったチャンネルが設定ファイルに書かれます。
- 最後にTVTestのチャンネルスキャンをします。
設定はDLLの隣のBonDriver_coax.iniに入ります。
手動で編集する必要はなく、「設定ファイルを開く」で内容を確認できます。
winscard.dllは、チューナーに内蔵のカードスロットをTVTestからカードリーダーとして使えるようにします。
外付けのカードリーダーもそのまま使えます。
内蔵スロットが無い機器なら置かなくても構いません。
32bitのTVTestには32bit版、64bitには64bit版を使ってください。
BonDriver_coax.dll(Linux版のEDCBならBonDriver_coax.so)をEDCBのBonDriverフォルダーに置きます。
EDCBはBonDriver_coax(…).ChSet4.txtが無いとチューナーとして一覧に表示しないので、最初にEpgDataCap_Bonでチャンネルスキャンをしてください。
設定ファイルはTVTestで作ったものをそのまま使えます。
そのOSの上でそのOS向けに組むなら、rustupだけで組めます(WindowsはVisual StudioのC++ビルドツールも)。
cargo build --release # 64bit Windows(MSVC)
cargo build --release -p bondriver_coax # Linux版のEDCB(組んだ機械のglibc以降で動く)クロスビルドはzigを使います(32bit Windowsや、古いglibcのボード向けも)。PATHの通ったzigとcargo install cargo-zigbuildがあれば、どのOSからでも同じ手順で組めます。
cargo win # 64bit Windows
cargo win32 # 32bit Windows
cargo linux # Linux版のEDCB(glibc 2.17以降。arm64 は linux-arm64、armhf は linux-armhf)成果物はtarget/release/(ターゲットを指定したときはtarget/<ターゲット>/release/)に出ます。
Linux版はlibBonDriver_coax.soとして出るので、BonDriver_coax.soに名前を変えて置いてください。
動作の確認には、ホストと同じ順でBonDriverを呼ぶbondriver-probeが使えます。
bondriver-probe BonDriver_coax.dll # チャンネルを列挙する
bondriver-probe BonDriver_coax.dll 0 3 out.ts # 空間0のチャンネル3を受けて書き出すApache-2.0です。 全文はLICENSEにあります。