question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

Support starting VirtualCdj on a different network interface

See original GitHub issue

Is your feature request related to a problem? Please describe. I really want to get beat-link working on the same machine as rekordbox. This is because I stream live on twitch (https://twitch.tv/aphexcx) and I use beat-link to show live track metadata as I mix.

Check out this video for an example: https://youtu.be/uyb__t70EC4?t=2082

(If you want to do that too, my code for getting track metadata displayed in OBS is here! https://github.com/aphexcx/dj-link-now-playing)

This of course means I have to play off of my USB drive, because I can’t run rekordbox on my machine and my beat-link code at the same time, because VirtualCdj can’t start if rekordbox is running. It’ll complain with :

Exception in thread "main" java.net.BindException: Address already in use (Bind failed)
	at java.net.PlainDatagramSocketImpl.bind0(Native Method)
	at java.net.AbstractPlainDatagramSocketImpl.bind(AbstractPlainDatagramSocketImpl.java:93)
	at java.net.DatagramSocket.bind(DatagramSocket.java:392)
	at java.net.DatagramSocket.<init>(DatagramSocket.java:242)
	at java.net.DatagramSocket.<init>(DatagramSocket.java:299)
	at org.deepsymmetry.beatlink.VirtualCdj.createVirtualCdj(VirtualCdj.java:902)
	at org.deepsymmetry.beatlink.VirtualCdj.start(VirtualCdj.java:1040)
	at org.deepsymmetry.beatlink.data.MetadataFinder.start(MetadataFinder.java:1454)

Describe the solution you’d like I want to be able to start the VirtualCdj on a different network interface. For example, my computer is connected to my network via a LAN connection and WiFi. I want to be able to run rekordbox on my LAN network interface and start the VirtualCdj on the Wifi network interface.

Describe alternatives you’ve considered I’ve cloned the repo and spent a few hours hacking up the createVirtualCdj() function in VirtualCdj.java to get this working. I’ve gotten as far as seeing the two different network interfaces when it’s running, and then I hardcoded it to use the interface and address associated with my WiFi interface. However, strangely, I still get the BindException above when the socket attempts to set.

I am not sure why. I even switched things around, and made sure rekordbox is running on my WiFi interface (by disconnected the LAN cable and starting the rekordbox LINK feature), and then reconnected the LAN cable and tried to start the VirtualCdj using the LAN address. Still says the address is in use.

FWIW, after inspecting a little bit with my debugger, it appears both interfaces available on my machine seem to have the same broadcast address. Could this be the issue?

Issue Analytics

  • State:closed
  • Created 3 years ago
  • Comments:9 (7 by maintainers)

github_iconTop GitHub Comments

1reaction
brunchboycommented, Jul 2, 2020

Yeah, it frustrated me quite a bit when I ran into it myself! Sorry. Good luck! OBS should be able to talk over the network.

1reaction
brunchboycommented, Jul 2, 2020

So because only one process on a given host can bind to the broadcast address on a given network, only one of Beat Link and rekordbox can operate at once. Binding to a broadcast address binds all network interfaces that are connected to that network.

Read more comments on GitHub >

github_iconTop Results From Across the Web

Remote control using 2 PC's over wireless network - VirtualDJ
I am thinking that, 1) you have a computer set up with a sound system and VDJ running, just like normal, and it...
Read more >
STREAMING AUDIO WITH VDJ ON A HOME NETWORK
VDJ has everything on board you need. First you had to find out your own local IP-Adress. ... After enter, you get displayed...
Read more >
Issue when paths in playlist are to a network drive - VirtualDJ
VirtualDJ will always create a separate local database for external drives. Currently, VirtualDJ doesn't support adding files via UNC paths (\\ ...
Read more >
VirtualDJ - Could not access network location - Virtual DJ
Probably something is left over from a previous installation, stored at some registry and Windows keeps looking at the same incorrect path.
Read more >
VDJPedia - NetworkControlPlugin - VirtualDJ
To install the plugin, go to Config->Extensions, then select Effects->Other and install the plugin called "Network Control" Configuration
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found