Brute-force player connections

The PGJTT assumes that players will be entering sessions with command strings that include standard “remotename” (-K) strings in a format that ranges from Player1 … Player20.  But what if participants can’t control the command-string on their side of the session (like using a Jacktrip Virtual Studio device, which uses its MAC address as the remote name)?

Here’s a brute-force way to update a standard PGJTT so that those players can be connected.  I’m working on the script that will automate this (along with addressing several other drawbacks to the way my Connect Players scripts work).  Hopefully, it’ll be done soon and this page will disappear.

Steps:

Navigate to /usr/local/bin/JMess_Templates/  There you will find the 20 files that can be used to assign a custom remotename (MAC address in this example) to a Player number.  Warning: tedious finicky cut/paste exercise to follow.  Be very careful not to add spaces around the strings, for example.

Edit the file that corresponds to the Player number you want to assign the MAC address to.  In this example we’ll assign (imaginary) MAC address 00000ABB28FC to the Player4 slot in the PGJTT mixer by editing the JMess_Player4.xml file in the Mousepad text editor that comes with Debian11.  Are you starting to see why this needs a script?

Here’s the original file highlighting the instances of “Player4” that need to be changed.  Global-replace is not your friend here.

<jmess>
<!--  --> 
<!-- Jacktrip-receives to regular-ins -->
<!-- Player4 -->
<!--  -->
  <connection>
    <output>Player4:receive_1</output>
    <input>ardour:-a Player4/audio_in 1</input>
  </connection>
  <connection>
    <output>Player4:receive_2</output>
    <input>ardour:-a Player4/audio_in 2</input>
  </connection>
<!--  --> 
<!-- Jacktrip-broadcast-receives to broadcast-ins -->
<!-- Player4-->
<!--  -->
  <connection>
    <output>Player4:broadcast_1</output>
    <input>ardour:-Br Player4/audio_in 1</input>
  </connection>
  <connection>
    <output>Player4:broadcast_2</output>
    <input>ardour:-Br Player4/audio_in 2</input>
  </connection>
<!--  --> 
<!-- mix-minus and self-mix outs to jacktrip-sends -->
<!-- Players 1-5 -->
<!--  -->    
  <connection>
    <output>ardour:-mm Player4/audio_out 1</output>
    <input>Player4:send_1</input>
  </connection>
  <connection>
    <output>ardour:-mm Player4/audio_out 2</output>
    <input>Player4:send_2</input>
  </connection>
</jmess>

And here’s that same file edited so that our imaginary friend at 00000ABB28FC  can connect into the Player4 slot.

<jmess>
<!--  --> 
<!-- Jacktrip-receives to regular-ins -->
<!-- Player4 -->
<!--  -->
  <connection>
    <output>00000ABB28FC:receive_1</output>
    <input>ardour:-a Player4/audio_in 1</input>
  </connection>
  <connection>
    <output>00000ABB28FC:receive_2</output>
    <input>ardour:-a Player4/audio_in 2</input>
  </connection>
<!--  --> 
<!-- Jacktrip-broadcast-receives to broadcast-ins -->
<!-- Player4-->
<!--  -->
  <connection>
    <output>00000ABB28FC:broadcast_1</output>
    <input>ardour:-Br Player4/audio_in 1</input>
  </connection>
  <connection>
    <output>00000ABB28FC:broadcast_2</output>
    <input>ardour:-Br Player4/audio_in 2</input>
  </connection>
<!--  --> 
<!-- mix-minus and self-mix outs to jacktrip-sends -->
<!-- Players 1-5 -->
<!--  -->    
  <connection>
    <output>ardour:-mm 00000ABB28FC/audio_out 1</output>
    <input>Player4:send_1</input>
  </connection>
  <connection>
    <output>ardour:-mm 00000ABB28FC/audio_out 2</output>
    <input>Player4:send_2</input>
  </connection>
</jmess>

Once you’ve debugged these rascals, you’ll be wanting to back them up somewhere off the server.