evanpurkhiser / prolink-tools

User friendly tools for accessing and using PRO DJ LINK information.
https://prolink.tools
MIT License
222 stars 18 forks source link

[Improvement] Both rekordbox and prolink-tools running at the same time #49

Open TheCrypt0 opened 3 years ago

TheCrypt0 commented 3 years ago

Hi, First of all. THANK YOU. I'm currently using the last Beta and is working flawlessly.

NOTE: This currently does NOT work due to limitations on how Rekordbox handles multiple IPs on Windows. See Updates at the bottom of the post.

I managed to have both rekordbox and prolink-tools running on the same machine by using the ForceBindIP tool.

Easy explanation: have 2 different IPs where each program can bind to the UDP ports required for the Link.

This can be accomplished (on Windows) by:

  1. Downloading and installing the ForceBindIP tool
  2. Setting 2 static IP addresses on the network interface. (E.g. 192.168.1.20 and 192.168.1.21)
  3. Unpacking the downloaded released exe (yeah, the executable itself with 7zip) to find the file "Prolink Tools.exe" (I won't go in much detail on why this is necessary but it is important because the tool we are going to use can inject the DLL on just the first executed process)
  4. Open rekordbox and wait for the link to appear
  5. Running the following command: .\ForceBindIP64.exe HERE_GOES_YOUR_IP Prolink Tools.exe The IP is going to be one of the two you chose on the 2nd step, if one doesn't work try the other (it depends on which one rekordbox has used).
  6. Boom, now you can have both programs running on the same machine!

NOTE: The second step can be avoided if you use 2 network interfaces. (E.g. WiFi and Ethernet)

Of course, this is just a workaround and the actual fix would be to have a setting where the IP the software binds to can be modified to not conflict with rekordbox.

Update: Apparently rekordbox doesn't deal well with multiple IPs on a single network interface. If you have a single NIC you can create another virtual one using Windows's Hyper-V feature, see this stackoverflow answer that explains how.

Update 2: It doesn't work as intended (even with Hyper-V) since rekordbox loses link once the second network interface gets activated. I'm currently out of ideas.

evanpurkhiser commented 3 years ago

Yeah this is rough... Honestly the easiest solution might be to pickup a raspberry pi and run PLT on there

GitCarreck commented 3 years ago

I just tried it on my PC with RB6.6.0. It works with only one IP Adress. So here is what i did:

  1. Downloading & Install ForceBindIP Tool (or just take the files and unzip it to a folder)
  2. Set static IP Address on Netzwerk Interface (e.g. 192.168.10.10)
  3. Unpacking the ProlinkDJTools to the same Folder as the ForceBindIPTool (not only the Prolink Tools.exe, everything!)
  4. Open Rekordbox and link the devices
  5. Running Command "C:\Program Files (x86)\ForceBindIP\ForceBindIP64.exe" 192.168.10.10 "Prolink Tools.exe" (yeah, the same IP Address as set above)
  6. Now you can use both.

There is one thing which doesn't work: You don't see the playing tracks in RB. I think, this is ok, because you don't want to use it in export mode.

codingbott commented 2 years ago

Can we get for Prolink tools the posibility to choose the network card and the IP which the app does bind to?