Stagelinq protocol API availability? (Part 1)

Absolutely fantastic. Here we go for the test!

EDIT: I’ve given it a blast and like someone else on the Prime 4, found nothing happened after following all the instructions. I like the new walkthrough that is now done in steps and how you can define the time in Serato DJ. Nice!

@crimsonsimon only made his code for the SC5000 (possibly SC6000 too?). As the Prime 4 maybe slightly different, could this be the issue? Stagelinq protocol API - #21 by crimsonsimon

@icedream who grabbed the original code had a Prime 4, maybe there is clues there? Stagelinq protocol API - #23 by icedream

Good job @erikrichardlarson

@KDonaldson

Just wondering if denon dj can add a plug in/option like this officially and linked to Dropbox.

Creating a wireless solution.

Then the text file written to Dropbox can be added as a source to OBS or SLOBS.

This would be nice

2 Likes

Hey guys,

Just tested the latest GitHub Release on Denon X1800+2x SC5000 connected via ethernet cable into one switch with Windows PC and also MAC.

Tested on PC: not working at all, unbox_denon_poller crashes 5 seconds after running Tested o MAC: Not working as well and gives following error after allowing firewall:

Uncaught Exception:

Error: EROFS: read-only file system, open ‘/private/var/folders/b6/h9bg2bzj1891_jnp_27yl8z00000gq/T/AppTranslocation/BACA3568-6348-44E6-B764-B247C5965D1D/d/unbox.app/Contents/Resources/app/src/config.json’

at Object.openSync (fs.js:440:3)

at Object.func [as openSync] (electron/js2c/asar.js:140:31)

at Object.writeFileSync (fs.js:1265:35)

at IpcMainImpl. (/private/var/folders/b6/h9bg2bzj1891_jnp_27yl8z00000gq/T/AppTranslocation/BACA3568-6348-44E6-B764-B247C5965D1D/d/unbox.app/Contents/Resources/app/src/index.js:271:10)

at IpcMainImpl.emit (events.js:223:5)

at WebContents. (electron/js2c/browser_init.js:173:8161)

at WebContents.emit (events.js:223:5)

unbox_denon_poller gives the following: Last login: Tue Mar 9 10:35:18 on console

The default interactive shell is now zsh.

To update your account to use zsh, please run chsh -s /bin/zsh.

For more details, please visit https://support.apple.com/kb/HT208050.

/Users/ReOrderDJ/Downloads/unbox-mac/unbox.app/Contents/Resources/app/src/denon/unbox_denon_poller ; exit;

Mac-mini:~ ReOrderDJ$ /Users/ReOrderDJ/Downloads/unbox-mac/unbox.app/Contents/Resources/app/src/denon/unbox_denon_poller ; exit;

2021/03/09 14:00:27 Listening for devices for 15s

2021/03/09 14:00:28 192.168.1.12 “sc5000” “OfflineAnalyzer” “1.0.0”

2021/03/09 14:00:28 192.168.1.12 “sc5000” “JP07” “1.6.0”

2021/03/09 14:00:28 192.168.1.8 “sc5000” “JP07” “1.6.0”

2021/03/09 14:00:42 192.168.1.12 “Found Device”

2021/03/09 14:00:42 192.168.1.12 “Found Device”

2021/03/09 14:00:42 192.168.1.8 “Found Device”

2021/03/09 14:00:42 192.168.1.8 “Found StageLinQ Device on Network”

2021/03/09 14:00:42 192.168.1.12 “Found StageLinQ Device on Network”

2021/03/09 14:00:42 192.168.1.12 “Found StageLinQ Device on Network”

2021/03/09 14:00:42 attempting to connect to this device…

2021/03/09 14:00:42 attempting to connect to this device…

2021/03/09 14:00:42 attempting to connect to this device…

2021/03/09 14:00:42 requesting device data services…

2021/03/09 14:00:42 requesting device data services…

2021/03/09 14:00:42 requesting device data services…

2021/03/09 14:00:42 offers StateMap at port 37167

2021/03/09 14:00:42 offers FileTransfer at port 39687

2021/03/09 14:00:42 end of list of device data services

2021/03/09 14:00:42 offers StateMap at port 41729

2021/03/09 14:00:42 192.168.1.8 Art Of Trance Madagascar (Alex M.O.R.P.H. Extended Remix)

2021/03/09 14:00:42 192.168.1.12 Franky Wah & AETHO Should Have Seen It Coming feat. AETHO (Extended Mix)

2021/03/09 14:01:32 WARNING: EOF

2021/03/09 14:01:32 offers Broadcast at port 34021

2021/03/09 14:01:32 offers Syncing at port 35625

2021/03/09 14:01:32 offers TimeSynchronization at port 41497

2021/03/09 14:01:32 offers BeatInfo at port 39833

2021/03/09 14:01:32 offers FileTransfer at port 43053

2021/03/09 14:01:32 end of list of device data services

2021/03/09 14:01:32 WARNING: EOF

2021/03/09 14:01:32 offers Broadcast at port 34383

2021/03/09 14:01:32 offers Syncing at port 34337

2021/03/09 14:01:32 offers TimeSynchronization at port 44167

2021/03/09 14:01:32 offers BeatInfo at port 35917

2021/03/09 14:01:32 offers FileTransfer at port 35425

2021/03/09 14:01:32 end of list of device data services

Any idea what I might be doing wrong please? It works at my friends denons really well!

1 Like

Just getting you all up to date on what I’m working on, I’ve meanwhile written a standalone tool that uses the go-stagelinq Library to feed now playing data into the OBS Tuna plugin. I plan on building on top of it so it can write to a text file in a configurable format or machine-friendly standard output and then pushing the code to the GitHub repository later. It tries to be intelligent about when to actually display the metadata depending on some fader value based trickery.

I have also built an HTML-based alternative overlay that uses OBS Tuna’s optional webserver (so it can also be used with something else than just the Prime 4), it replicates the design used by ASOT quite a bit. If there’s interest in it, I can upload that as well.

I ran a quick’n’dirty test with above mentioned things (and a few more individualities that aren’t easy to pack into a general tool as of right now, such as display of album art and label since it’s hacked in from data coming from the audio library on my network-attached storage): Twitch – it’s by far not perfect but it’s getting there.

Someone already reported that they had trouble making more than a single deck show up with its metadata using go-stagelinq on SC5000s, so I wonder if we’re dealing with something like a race condition due to two devices responding at the same time or if there’s minor differences in the network protocol. I can’t test it out since I only have the Prime 4 to test with.

2 Likes

Update on my end, I managed to run the app trough terminal and it came online and Green. Also I turned WifI OFF on both decks and used cable only

Unfortunately the system picks up the track not according to faders on up position but what ever gets loaded in the deck and PLAY/HOT CUE is pushed. Also the other deck must be paused to get ID picked up from Other player.

The Stagelinq Soundswitch software reads the fader positions from my djm900. I’m already a soundswitch user. Is it possible to have a version of this that just reads loaded tracks, irregardless of fader position?

I haven’t managed to get it to come on in green yet, Serato DJ I can but not Denon mode. Started up Unbox when the Prime 4 was already on, I have WiFi off on my MacBook (like you have to in SoundSwitch) and also use LAN connection, still nothing. I will keep going though.

This is something that I wanted to avoid as the Serato mode does this. In Serato mode, I load a track and it is displayed while I’m cuing it up. It can be a few minutes before I drop the track yet it is on screen.

This is an interesting one. I’ll keep my eye out for that.

@icedream I checked your stream (and gave you a follow) and like how that works too. I’m not 100% familiar with Tuna as I think it’s Windows only? Your overlay looks great too.

Yeah that’s possible, let’s try to debug with the djm900 too and see what data comes through when a Pioneer mixer is in the setup.

Nice yeah the Mac version seems to be working once the app is moved from your downloads folder into your documents or apps folder.

The line faders are used, but not the crossfader so that could be causing this behavior? Basically the line faders have to be up for some time before the track is reported out, and bringing up a new deck and down the old one should allow for the new deck to report out. If this is still causing issues I’ll send over a debug script that we can test out to see what’s going on.

1 Like

Is the Windows version still not working at all?

Thank you! :slight_smile: According to the plugin’s page on the OBS site it seems to support Linux as well, but not Mac. I’m kinda abusing it as a middle man for metadata rather than an actual OBS source but it works pretty well for this purpose so far!

1 Like

Hmmm I’ll send over a debug script later and we can take a look at the output to see what’s going on here.

1 Like

nothing at all there ;(

I tried the Windows Version. It polls only one track, and then it gets quiet … Only when I start the polling.exe in the app folder, it seems to read the next track and display it on screen.

Will try to move it out from the download folder an try it on a normal diskspace.

Maybe download folder has any restrictions in windows.

Okay … it stays at it functions. nothing changed when copy it to another folder. Will now also try to restart windows, because it asked for som firewall changings. Maybe we need a restart, before firewall gets updated.

But very nice that it show the tracks when restarting it :wink:

UPDATE:

Windows Nothing is happening!

MAC: It starts from Apps folder, and turns green after a while but only sometimes, not every time. I am not sure what is happening.

So not all four decks are read at the moment which could be part of the issue? Right now it’s just Decks 1 and 2, and their layers. This could be the issue on Mac at least, not sure what’s going on with Windows.

Yeah we’re getting closer, odd that it would poll one track then stop updating, what decks are you transitioning between?

1 Like

From deck one to deck two. In four deck mode i havent checked jet. But I was able to hack a function now. I start the poller manually via my stream deck, and everytime i do a transition ready, i press a key on my streamdeck to start the poller. that works perfect. hope we will get it automatically via fader readout. seems like it only listens once and then it closes the connection. (but the terminal window stays open.) I used the advanced launcher (Bar Raider) with this options: "Max instances 1 - Kill existing instances - Delay of 2 seconds - Show dot if process is running (but that can also be disabled).

Okay the the decks 3 and 4 are invisible for the poller.

(By the way … I forgot: it´s an prime 4)

1 Like

Alright here are two quick debug scripts, you can just unzip and double click to start the script. It should log out to the console the line faders and the deck that is being logged with track details. This should give us a better sense of what the state of the decks is when a track is logged. Also it’s logging all four decks now. Feel free to post your output here if you’re running into issues and we can see what might be going on.

Mac debug script

Windows debug script

1 Like

Four deck mode should work with the debugger below, is there anything printed out before the script closes? Or do the below debug scripts close at all?