Quick Sign In:  

Forum: VirtualDJ Technical Support

Topic: Sending "current track" info to another app or computer
Is there a way to either automatically send the current track data to another application, or for another application to ask Virtual DJ what's playing?

What I want to be able to do is to display the current track name on a monitor or panel so that the audience can see it. That end of things will be controlled by a different computer, so I need to get the track data in text form out of VDJ and into somewhere that I can package it up and deliver it across the network to MadMapper to display it somewhere.

I could regularly poll the history XML file and make that info available over OSC to the MadMapper controller, but I was hoping that there might already be something built-in that would do it. Maybe a direct OSC interrogation of VDJ? Or does it publish it by HTTP already? I know the info can be sent out if you're broadcasting to IceCast, so it must be available somewhere.

Any ideas?

[edit: I just noticed that the "history XML" file isn't xml at all, but is just the tracklist.txt file in the "~/VirtualDJ/History" folder. This would be easy to parse, but opening it, reading to the last line, then closing it again every five seconds (so it's reasonably up to date) would be a daft amount of file access if there was already a neat API way of doing it.]

Posted Fri 21 Aug 20 @ 11:33 pm

Posted Sat 22 Aug 20 @ 1:05 am

Cheers. That looked encouraging until I saw it was Windows only. Probably should have mentioned I'm on Mac, but as I assumed there would be a core function for this I didn't think it would make a difference.

I'll probably code something to parse the tracklist.txt file.

Posted Sat 22 Aug 20 @ 8:04 am
I'm actually 'looking' for the same thing, but for my stream and maybe some interactive website in the future for people to use at partys where i DJ.
Right now for my stream i'm broadcasting to caster.fm and pulling the info from there with the NodeJS icy module. I did previously manage to connect VDJ to a local Icecast server, but that didn't work recently so i went with caster.fm, even though it's a workaround.
I also tried making a VDJ plugin to expose the currently playing track info over WebSocket or some other HTTP technology, but i'm not a C++ programmer.
I also made a parser for the history file which listens to changes using the fs-watcher. So right now it outputs the currently playing track on the console. Depending on how you want to end up displaying the track, maybe we should team up.

Posted Sat 22 Aug 20 @ 9:50 am
This is something I'm looking for also.
Output to a text file or formatted HTML file would work to use as a browser source.

What about GET Requests.

If a core functionality was to be implemented Published OSC would be helpful.

Posted Thu 28 Jan 21 @ 3:43 am
I have been after something to do this on Mac for ages now. There is the plug-in for windows but not for Mac. You can get app & programs to do it on Serato & Rekordbox on GitHub. But nothing for VDJ on Mac like you said there is a history.txt file so if someone program savvy could write a app to take the last line & put it in it own txt file would be gr8

Posted Thu 28 Jan 21 @ 10:44 am
Not sure if you're still looking for a plugin to list the currently playing track, but I created a Mac and Windows plugin that follows the master deck / doesn't just poll the history file since that doesn't really reflect what's actually playing. The track details like Artist, Title, and Remixer are sent over a local websocket connection so you can do whatever you want with the data. I can't share links here, but you can find them if you search my name "erikrichardlarson unbox" on google. They're designed to work with unbox, but you can also connect to the websocket server yourself if needed.

The idea for GET requests is interesting, what is the use case for that? Would be happy to build out some more functionality into the plugins, just let me know what y'all are looking for.

Posted 2 days ago @ 7:35 pm