Possible workaround for a JackTrip bug in Windows
There is a bug in JackTrip v1.2.1 on Windows that affects some machines. The symptom is that when you try to Connect, JamTrip says "connected" but the Log shows that jacktrip has exited due to a parameter mismatch, something like this:
Waiting for Peer... ERROR: Peer Buffer Size is : 60 Local Buffer Size is : 256 Make sure both machines use same buffer size --------------------------------------------------- ERROR: Peer Sampling Rate is : 0 Local Sampling Rate is : 48000 Make sure both machines use the same Sampling Rate --------------------------------------------------- ERROR: Peer Audio Bit Resolution is : 0 Local Audio Bit Resolution is : 16 Make sure both machines use the same Bit Resolution --------------------------------------------------- Received Connection from Peer! Stopping JackTrip... JackTrip Processes STOPPED!
The bug is intermittent, and if you disconnect and reconnect many times, you might succeed after a while, but that's a nuisance. The bug is apparently not present in the previous version,1.2. We don't yet know if it's present in version 1.3. Using 1.3 is easier, so let's try that first.
Download JackTrip 1.3 from CCRMA or use this direct link. This is a single standalone file, no installation required. Your job is to copy it into JamTrip's installation folder, replacing the one JamTrip came with. Here's how:
- Open a Windows Explorer however you like (e.g., Win+E), and copy (or type) this into the address field: %appdata%\..\Local\Programs\jamtrip\resources\resources\bin\win32
- You should see a single file, jacktrip.exe (or simply "jacktrip" if you have file types hidden). Rename it to something else, say "jacktrip-1.2.1.exe". Then move or copy the jacktrip.exe file you downloaded in the previous paragraph into this folder.
If all went well, JamTrip will now use v1.3.
If that didn't work, let's try v1.2. This will require some crufty kludgery. The following assumes you are tech savvy (more so than the above).
Download JackTrip v1.2 here. Run it. Remember the directory it installs in (you can pick a memorable one to make this easier). By default it's C:\Users\yourusername\jacktrip1.2IsHere. If you keep an Explorer window open to this folder, the next steps will be slightly easier. You'll also need the JamTrip folder we located a few paragraphs back.
Bring up an elevated Command Prompt. And I do mean Command Prompt (cmd), not PowerShell. On Windows 7, it's a simple matter of typing "cmd" at the Start menu, and right-clicking "Run as Administrator". However, recent versions of Windows 10 make it really hard to find cmd, so it may be easier to go thru PowerShell. Simplest method: type Win+X for the "expert" menu. If you're lucky enough to find "Command Prompt (admin)" there, simply select it. Otherwise, select "PowerShell (administrator)", and when the window opens, type "cmd" into that window. Another way on Windows 10 is to go to your Start menu and start typing "PowerShell". After a few characters of that the "Windows PowerShell" app will appear as the best match, and there will be a "Run as Administrator" option to the right that you can click. Again, once the window opens, type "cmd" to get into Command Prompt.
Whichever of the above routes you took, there should have been a UAC prompt along the way that you had to approve, just like when you install software. If you didn't get it, then you did not succeed in running as administrator.
Here are the commands you need to type in the command prompt window. "Path#1" and "Path#2" are the paths to these folders:
- The parent of the JamTrip installation's win32 folder we located earlier. The parent folder's path ends in \resources\bin, and the folder contains the subfolders "darwin" and "win32".
- The folder where you just installed JackTrip v1.2.
cd Path#1
ren win32 win32-1.2.1
mklink /d win32 Path#2
If you did it correctly, the system will respond "symbolic link created for win32 <<===>> Path#2". For example, this is what the whole interaction looks like on my machine:
C:\>cd C:\Users\vanme\AppData\Local\Programs\jamtrip\resources\resources\bin C:\Users\vanme\AppData\Local\Programs\jamtrip\resources\resources\bin>ren win32 win32-1.2.1 C:\Users\vanme\AppData\Local\Programs\jamtrip\resources\resources\bin>mklink /d win32 C:\Users\vanme\jacktrip1.2IsHere symbolic link created for win32 <<===>> C:\Users\vanme\jacktrip1.2IsHere
Once you've done this, if you double click on "win32" in the JamTrip resources\bin folder, you'll see a whole bunch of files, one of which is jacktrip.exe. JamTrip will now use that executable when it tries to make a connection.