約1秒後に新しい記事にジャンプします。

(2022年9月23日)JTDXとJTAlertが通信するUDPアドレスをマルチキャストアドレスに変更した新しい記事を書きました。今後は新しい記事を見てください。
JTDX+JTAlert 複数リグ切換え&同時起動(改版2)

(古い記事も残しておきます。)
昨年6月に書いた記事「JTDX+JTAlert 複数同時起動」の見直し版です。

現在私は、IC-7300M、IC-7000M、IC-9700でJTDXとJTAlertを複数同時起動して使っていますが、先にIC-7000M用またはIC-9700用を起動して、その後でIC-7300用を起動するとうまく行かないという問題がありました。
2番目にIC-7300用のJTDXを起動すると以下のエラーが出ます。
JTDX1.png
最近、ネットでJTDXを同時起動する場合、すべてのJTDXを引数付きで起動しないとjtdxjt9.exeのエラーが出るという情報を見つけたので、IC-7300用JTDXも引数付きで起動するようにしたら、起動の順番を気にする必要が無くなりました。(以前のIC-7300M用JTDXは引数無しで起動していました。)

変更後のIC-7300とIC-9700 のJTDX+JTAlert同時起動時の画面です。
JTDX2.png
本記事では所有者が多そうな IC-7300用とIC-9700用の2つのJTDXとJTAlertを同時起動する例を記載しますが、IC-7300、IC-9700以外のリグでも手順は同じです。
作業はコマンドプロンプトやバッチファイルを使うので、初めての方にはハードルが高いかも知れません。詳しい方に手伝ってもらった方が良いかも。(^^;

以下は既に1台目のIC-7300用のJTDXが使える状態になっている前提で書いています。

最初に元のJTDXから新しい1台目のIC-7300用と2台目のIC-9700用のJTDXを作ります。
まず、コマンドプロンプトからJTDXをIC7300の引数付きで起動します。(JTDX64の部分はJTDXのインストール先です。各自のパソコンで違うと思います。)
 C:\JTDX64\bin\jtdx.exe --rig-name=IC7300

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の他にJTDX - IC7300、JTDX - IC9700のディレクトリが出来ています。
JTDX3.png

JTDXディレクトリに元のIC-7300用設定情報ファイル JTDX.ini があるので、そちらのJTDX.iniをJTDX - IC7300ディレクトリとJTDX - IC9700ディレクトリにコピーします。
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をIC7300の引数付きで起動します。
 C:\JTDX64\bin\jtdx.exe --rig-name=IC7300

元のJTDXの設定が引き継がれているので、IC-7300用JTDXとして正常に動作しているはずです。
JTDXの左上に「JTDX-IC7300」と表示されています。
JTDX4.png
IC-7300用JTDXは終了します。

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

JTDXの左上に「JTDX-IC9700」と表示されています。
JTDX8.png
元のJTDXの設定が引き継がれた状態で起動するので、2台目リグ用の設定に変更します。
以下は私のIC-9700の例です。
ファイル-->設定-->無線機
JTDX5.png
ファイル-->設定-->オーディオ
JTDX6.png
ファイル-->設定-->レポーティング
JTDX7.png
UDPサーバーポート番号(UDPサーバーポート数は誤訳ですね。(^^;)を変更します。UDP サーバーポート番号を変えると複数のJTAlertを起動して使う事が出来ます。
一台目のIC-7300用が2237だったので2台目のIC-9700用は2239にしました。(2238はIC-7000M用に使いました。)

以上で2台目 IC-9700用のJTDXが出来ました。IC-9700用JTDXが正常動作しているか確認します。(相手がいないと確認が難しいかもしれませんね。IC-9700 + WSJT-X でFT8運用開始(改版)も参考にしてください。)
IC-9700用JTDXはいったん終了します。

次にJTALertの設定を変更します。
JTALertを起動してAuto-Startアプリを設定します。
Settings-->Manage Settings-->Applications/Auto-start
JTDX9.png
JTAlertからのJTDXの自動起動は停止します。JT_LinkerとHamLogwは2つ目のJTAlert起動時に2重起動になりそうですが問題無いようなので、このままにしました。(一つ目のJTAlertを終了するとJT_LinkerとHAMLOGが終了するので、Closeのチェックは外した方が良いかも知れません。)

次に複数のJTDXでログファイルを共有するため、ADIFファイルのハードリンクを設定します。
コマンドプロンプトからコマンド入力するのは大変なのでバッチファイルを作っています。
私の場合WSJT-Xも使っているので、WSJT-XのADIFファイルを元ファイルとして、JTDX-IC7300とJTDX-IC9700のADIFファイルにハードリンクを張っています。
WSJT-Xを使っていない方はJTDX-IC7300を元ファイルにすれば良いと思います。
また、以下の例ではADIFファイルはHAMLOGで出力したものを持ってきて上書きして使っていますが、ハードリンクだけなら途中の「ハードリンク設定」以降のみ実行すれば良いです。
なお、JTAlertのADIFファイルは私の場合、HAMLOGのディレクトリのHAMLOGから出力したADIFファイルを指定しています。(JTAlertのADIFファイルは共有しません。)

ADIF共有.batの内容です。
ここから --------------------------- ADIF共有.bat
@echo HAMLOG(JTAlert)のADIFをWSJT-XにコピーしてJTDX-IC7300/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
@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
@echo ---
@echo ハードリンク確認
@fsutil hardlink list C:\Users\Toshi\AppData\Local\WSJT-X\wsjtx_log.adi
@pause
ここまで ---------------------------

以上の作業後に、コマンドプロンプトから以下の順に起動すればJTDX+JTAlertを2個起動する事が出来ます。
 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

毎回コマンドプロンプトから起動するのも大変なのでバッチファイルを作りました。
ここから --------------------------- JTDX-IC7300.bat
start C:\JTDX64\bin\jtdx.exe --rig-name=IC7300
start C:\"Program Files (x86)"\HamApps\JTAlert\JTAlert.exe /jtdx
ここまで ---------------------------

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

JTDX-IC7300.batとJTDX-IC9700.batを適当なディレクトリ(私の場合 C:\JTDX64)に置いて、それぞれのショートカットを作ってデスクトップに置きました。アイコンはJTDXのアイコンを使いました。
JTDX10.png

以上でIC-7300とIC-9700のJTDX+JTAlertを同時起動できます。もちろん、どちらか一つのみの起動も問題ありません。
なお、終了時はJTAlertを終了してもJTDXは終了されないので、個別に終了する必要があります。

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

(追記 2020年7月24日)JT_Linkerの設定
JT_Linkerの設定について補足しておきます。JT_Linkerを使われている方は参考にしてください。
本記事の設定では、以下のADIFファイルを共有した状態になっています。
  C:\Users\UserName\AppData\Local\WSJT-X\wsjtx_log.adi      WSJT-XのADIFファイル 共有元
 C:\Users\UserName\AppData\Local\"JTDX - IC7300"\wsjtx_log.adi   IC-7300用JTDXのADIF ハードリンク共有
  C:\Users\UserName\AppData\Local\"JTDX - IC9700"\wsjtx_log.adi   IC-9700用JTDXのADIF ハードリンク共有

さらにJTAlertのADIFファイルがあり、私の場合HAMLOGのディレクトリに置いています。
 C:\Users\UserName\OneDrive\ドキュメント\HAMLOG\wsjtx_log.adi

JT_LinkerのDecoder File Pathの設定は上記のどれか一つを指定します。
私は現在、JTAlertのADIFファイルを指定しています。
JTDX11.png
JTAlertのADIFファイルを指定するとJTAlertがQRZ.comから取得したName、QTH情報を取り込むことが出来ます。
DX交信が多いなどで、HAMLOGのユーザーリスト情報よりQRZ.com情報を使いたい場合は、JTAlertのADIFファイルを指定すると便利です。
JT_LinkerからHAMLOGへName、QTHをHAMLOGに渡したい場合、JT_LinkerのName、QTHにチェックを入れてください。以下の設定ではNameのみ渡るようにしています。
JTDX12.png