(2024年10月19日)JT_LinkerのUDPメッセージ対応にともない、4. JT_Linkerの設定を見直しました。

約2年前に書いた記事「JTDX+JTAlert (IC-7300/IC-9700) 同時起動」の改版記事です。

今年2月の記事「WSJT-X/JTDX+JTAlert マルチキャストIPアドレス設定」で、JTAlertとJTDX間のUDP通信にはマルチキャストアドレスを使った方が良いという話を書きました。
2年前の記事では、昔のなごりでユニキャストアドレスを使ってリグ毎にUDPポート番号を変えて設定していました。これでも動くのですが、最新のJTAlertの作法に従ってマルチキャストアドレスを使う方法で記事を書きなおしておきます。マルチキャストアドレスを使うとUDPポート番号をリグ毎に変える必要がありません。
JTDX、JTAlertも最新版の画像に更新しました。OSもWindows11の画面になります。

また、元記事では2台のリグ用JTDXを同時起動する例を書きましたが、今回は3台のリグ用JTDXを起動する例にします。
私のパソコン性能では2台分のJTDX+JTAlertの同時起動までで、3台同時起動は厳しいですが3台を切換えて使う事は出来ます。3台以上のリグを切換えて使う方もいらっしゃると思うので3台の例にしました。これに伴い記事のタイトルも変更しました。

リグはIC-7300/IC-9700/IC-7000を起動する例で書きますが、単独でFT8通信が動くリグなら手順は同じです。
なお、JTAlertを使っていない方のためにJTDXのみ同時起動する場合の補足説明を青文字で入れておきます。

最初にIC-7300とIC-9700 のJTDX+JTAlert同時起動時の画面例です。
2022-09-22
1920x1080のモニターに2台分のJTDXとJTAlertを横に並べて使っています。




1. 各リグ用JTDXの環境作成

以下は既に1台目のリグ(IC-7300)用のJTDXが使える状態になっている前提で書きます。
最初に元のJTDXから新しい1台目のIC-7300用、2台目のIC-9700用、3台目のIC-7000用のJTDXを作ります。
まず、コマンドプロンプトからJTDXをIC7300の引数付きで起動します。(JTDX64の部分はJTDXのインストール先です。各自のパソコンで違うと思います。)
 C:\JTDX64\bin\jtdx.exe --rig-name=IC7300
MultiJTDX14
C:\Users\XXXXX\AppData\Local\ (XXXXXはユーザー名)の中に「JTDX - IC7300」というフォルダーが作られます。
JTDXはいったん終了します。

次にコマンドプロンプトからJTDXをIC9700の引数付きで起動します。
 C:\JTDX64\bin\jtdx.exe --rig-name=IC9700

C:\Users\XXXXX\AppData\Local\ (XXXXXはユーザー名)の中に「JTDX - IC9700」というフォルダーが作られます。
JTDXはいったん終了します。

更にコマンドプロンプトからJTDXをIC9700の引数付きで起動します。
 C:\JTDX64\bin\jtdx.exe --rig-name=IC9700

C:\Users\XXXXX\AppData\Local\ (XXXXXはユーザー名)の中に「JTDX - IC9700」というフォルダーが作られます。
JTDXはいったん終了します。

元々のJTDXの他にJTDX - IC7300、JTDX - IC9700、IC - 7000のフォルダーが出来ています。
MultiJTDX1
JTDXフォルダーに元のIC-7300用設定情報ファイル JTDX.ini があるので、そちらのJTDX.iniをJTDX - IC7300フォルダー、JTDX - IC9700フォルダー、IC - 7000フォルダーにコピーします。 
JTDX - IC7300フォルダーにはJTDX - IC7300.iniというファイルがあるので、これを消してコピーしたJTDX.iniをJTDX - IC7300.iniにリネームします。(JTDX - IC7300.iniをJTDX.iniの内容に置き換える。)
次にJTDX - IC79700フォルダーにはJTDX - IC9700.iniというファイルがあるので、これを消してコピーしたJTDX.iniをJTDX - IC9700.iniにリネームします。(JTDX - IC9700.iniをJTDX.iniの内容に置き換える。)
更にJTDX - IC79700フォルダーにはJTDX - IC700.iniというファイルがあるので、これを消してコピーしたJTDX.iniをJTDX - IC7000.iniにリネームします。(JTDX - IC7000.iniをJTDX.iniの内容に置き換える。)

再度、コマンドプロンプトからJTDXをIC7300の引数付きで起動します。
 C:\JTDX64\bin\jtdx.exe --rig-name=IC7300

元のJTDXのIC-7300の設定が引き継がれているので、IC-7300用JTDXとして正常に動作しているはずです。
JTDXの左上に「JTDX-IC7300」と表示されています。
MultiJTDX2
IC-7300用JTDXのUDPサーバーを設定します。JTAlertを使わない場合は設定不要です。
UDPサーバーアドレス = 224.0.0.1、UDPサーバーポート = 2237にします。右側の[UDP要求を受け入れる]、[UDP要求があった場合に通知する]、[ウィンドウを復元するUDP要求を受け入れる] をチェックします。
ファイル-->設定-->レポーティング
MultiJTDX6
IC-7300用JTDXは終了します。

次にコマンドプロンプトからJTDXをIC9700の引数付きで起動します。
 C:\JTDX64\bin\jtdx.exe --rig-name=IC9700

JTDXの左上に「JTDX-IC9700」と表示されています。
MultiJTDX3
元のJTDXの設定が引き継がれた状態(この場合IC-7300の設定)で起動するので、2台目リグ用の設定に変更します。
以下は私のIC-9700の例です。
ファイル-->設定-->無線機
MultiJTDX4
ファイル-->設定-->オーディオ
MultiJTDX5
IC-9700用JTDXのUDPサーバーを設定します。設定内容はIC-7300と同じです。JTAlertを使わない場合は設定不要です。
ファイル-->設定-->レポーティング
MultiJTDX7
以上で2台目 IC-9700用のJTDXが出来ました。IC-9700用JTDXが正常動作しているか確認します。
IC-9700用JTDXはいったん終了します。

更にコマンドプロンプトからJTDXをIC7000の引数付きで起動します。
 C:\JTDX64\bin\jtdx.exe --rig-name=IC7000

JTDXの左上に「JTDX-IC7000」と表示されています。
MultiJTDX8
元のJTDXの設定が引き継がれた状態(この場合IC-7300の設定)で起動するので、3台目リグ用の設定に変更します。
以下は私のIC-7000の例です。無線機、オーディオの設定は省略しますが、必要ならIC-7000 FT8通信の設定を参照してください。
IC-7000用JTDXのUDPサーバーを設定します。設定内容はIC-7300と同じです。JTAlertを使わない場合は設定不要です。
ファイル-->設定-->レポーティング
MultiJTDX9
以上で3台目 IC-7000用のJTDXが出来ました。IC-7000用JTDXが正常動作しているか確認します。
IC-7000用JTDXはいったん終了します。

なお、元のJTDXフォルダーは使わないので消しても大丈夫ですが、念のため残してあります。

2. JTAlertの設定

次にJTAlertの設定を変更します。JTAlertを使わない場合は設定不要です。
JTAlertを起動してAuto-Startアプリを設定します。
Settings-->Manage Settings-->Applications/Auto-start
MultiJTDX10
JTAlertからのJTDXの自動起動は停止します。JT_LinkerとHamLogwは2つ目のJTAlert起動時に2重起動になりそうですが問題無いようなので、このままにしました。


3. ADIFファイルの共有

次に複数のJTDXでログファイルを共有するため、ADIFファイル(wsjtx_log.adi)のハードリンクを設定します。
(JTDXとWSJT-Xが作るログファイルはwsjtx_log.adiの他にwsjtx.logがありますが、交信済みの判断にはwsjtx_log.adiが使われるのでwsjtx_log.adiのみ共有すれば良いです。)
コマンドプロンプトからコマンド入力するのは大変なのでバッチファイルを作っています。
私の場合WSJT-Xも使っているので、WSJT-XのADIFファイルを元ファイルとして、JTDX-IC7300、JTDX-IC9700、JTDX-IC7000のADIFファイルにハードリンクを張っています。
WSJT-Xを使っていない方はJTDX-IC7300のADIFファイルを元ファイルにすれば良いと思います。
また、以下の例ではADIFファイルはHAMLOGで出力したものをコピーして使っています。
(参考)ADIF Master による ADIFファイル正規化
ハードリンクだけなら途中の「@echo ハードリンク設定」以降のみ実行すれば良いです。

ADIF共有.batの内容です。
ここから --------------------------- ADIF共有.bat
@echo HAMLOG(JTAlert)のADIFをWSJT-XにコピーしてJTDX-IC7300/JTDX-IC7000/JTDX-IC9700にハードリンクを作る。
@echo 先にHAMLOGからwsjtx_log.adi(全角無し)を出力してADIF Masterで上書き保存しておく。
@pause
@echo WSJT-XとJTDXのadiファイル削除
del C:\Users\Toshi\AppData\Local\WSJT-X\wsjtx_log.adi
del C:\Users\Toshi\AppData\Local\"JTDX - IC7300"\wsjtx_log.adi
del C:\Users\Toshi\AppData\Local\"JTDX - IC9700"\wsjtx_log.adi
del C:\Users\Toshi\AppData\Local\"JTDX - IC7000"\wsjtx_log.adi
@echo ---
@echo HAMLOGからWSJT-Xへadiファイルをコピー
copy C:\Users\toshi\OneDrive\HAMLOG\wsjtx_log.adi C:\Users\Toshi\AppData\Local\WSJT-X\wsjtx_log.adi
@echo ---
@echo ハードリンク設定
@mklink /h C:\Users\Toshi\AppData\Local\"JTDX - IC7300"\wsjtx_log.adi C:\Users\Toshi\AppData\Local\WSJT-X\wsjtx_log.adi
@mklink /h C:\Users\Toshi\AppData\Local\"JTDX - IC9700"\wsjtx_log.adi C:\Users\Toshi\AppData\Local\WSJT-X\wsjtx_log.adi
@mklink /h C:\Users\Toshi\AppData\Local\"JTDX - IC7000"\wsjtx_log.adi C:\Users\Toshi\AppData\Local\WSJT-X\wsjtx_log.adi
@echo ---
@echo ハードリンク確認
@fsutil hardlink list C:\Users\Toshi\AppData\Local\WSJT-X\wsjtx_log.adi
@pause
ここまで --------------------------- 

(注)上記の内容をコピーして使う場合、バッチファイルは文字コードをSHIFT_JIS形式にする必要があるので、メモ帳で「名前を付けて保存」を行うときに [エンコード] をANSIにしてください。

以上の作業後に、コマンドプロンプトから以下の順に起動すればJTDX+JTAlertを2個起動する事が出来ます。JTAlertを使わない場合はJTAlertの起動は不要です。
 C:\JTDX64\bin\jtdx.exe --rig-name=IC7300
 C:\"Program Files (x86)"\HamApps\JTAlert\JTAlert.exe /jtdx
 C:\JTDX64\bin\jtdx.exe --rig-name=IC9700
 C:\"Program Files (x86)"\HamApps\JTAlert\JTAlert.exe /jtdx

毎回コマンドプロンプトから起動するのも大変なのでバッチファイルを作りました。JTAlertを使わない場合はJTAlertの起動は不要です。
(2023年7月変更)JTDXを先に起動するとコマンドプロンプト画面を表示したままになる事があるので、先にJTAlertを起動するように変更しました。

ここから --------------------------- JTDX-IC7300.bat
start C:\"Program Files (x86)"\HamApps\JTAlert\JTAlert.exe /jtdx /myid=IC7300
start C:\JTDX64\bin\jtdx.exe --rig-name=IC7300
ここまで --------------------------- 

ここから --------------------------- JTDX-IC9700.bat
start C:\"Program Files (x86)"\HamApps\JTAlert\JTAlert.exe /jtdx  /myid=IC9700
start C:\JTDX64\bin\jtdx.exe --rig-name=IC9700
ここまで --------------------------- 

ここから --------------------------- JTDX-IC7000.bat
start C:\"Program Files (x86)"\HamApps\JTAlert\JTAlert.exe /jtdx /myid=IC7000
start C:\JTDX64\bin\jtdx.exe --rig-name=IC7000
ここまで --------------------------- 

JTDX-IC7300.bat、JTDX-IC9700.bat、 JTDX-IC7000.batを適当なフォルダー(私の場合 C:\JTDX64)に置いて、それぞれのショートカットを作ってデスクトップに置きました。アイコンはJTDXのアイコンを使いました。
MultiJTDX11
(追記)
JTAlert.起動のコマンドラインに  /myid=リグ名 を付けるとJTAlertのタイトルバーに表示されます。起動しているJTDXとJTAlertの対応が判り易くなります。(Tnx JG1APX)
MultiJTDX15

以上でIC-7300、IC-9700、IC-7000のJTDX+JTAlertを同時起動できます。もちろん、どれか一つのみの起動も問題ありません。JTAlertを使わない場合もJTDXのみを複数起動出来ます。
(注)JTAlertのCallsingsウィンドウの位置は起動順で記憶されているので、起動順番が変わるとCallsingsウィンドウの位置が変わってしまいます。Callsingsウィンドウの位置が違う場合はドラッグして適当な位置に動かしてください。

なお、終了時はJTAlertを終了してもJTDXは終了されないので、個別に終了する必要があります。

最初にも書きましたが、私は現在、IC-7300M、IC-9700、IC-7000MでJTDXとJTAlertを複数起動できるようにしています。同時に3つを起動する事も出来ますが、私のパソコンのCPU(Core i5-8500 CPU @3GHz)ではパワー不足でデコード時間が厳しいので2つまでの同時起動で使っています。
夏の間は6m(IC-7000M)とHF(IC-7300M)を同時モニターしている事が多いです。
(参考)パソコン性能に合わせたJTDXのデコード設定については、JTDXのデコード設定 最適設定を参考にしてください。


4. JT_Linkerの設定

JT_Linkerの設定について補足しておきます。JT_Linkerを使われている方は参考にしてください。
JT_Linker Ver.2024.09.26 からUDPメッセージによるログ転送が使えるようになったので、JT_LinkerのDecoder設定は [UDP Log Data] を使ってください。(2024年10月19日 改版)
JT_Linker13
JTAlertまたはJTDX側の設定は以下の記事を参考にしてください。
 JTDX/WSJT-XとHAMLOGを連携するJT_Linkerのインストールと設定

(補足)私はJT_LinkerによるHAMLOGへのログ転送は、JTAlertからのUDPによるADIF転送を使っています。
JTAlertのADIF転送を使うとJTAlertがQRZ.comから取得したName、QTH情報を取り込むことが出来ます。
DX交信が多いなどでQRZ.com情報を使いたい場合は、JTAlertのADIF転送を指定すると便利です。
JT_LinkerからHAMLOGへName、QTHを転送したい場合、Name(Auto)、QTH(Auto,City 1st)にしておきます。(Name、QTHの文字をクリックして設定します。)
MultiJTDX13

以上