Getting Track IDs out of Traktor

atm0s
atm0s Member Posts: 6 Newcomer

I've been playing around with streaming my sets to Twitch via OBS, and wondering how best to get my Track IDs displayed.

The only "automatic" method I've been able to uncover is broadcasting my set using Icecast. Track song and title are included in the metadata that's sent out - which I've managed to parse and display. I've also tested the app Now Playing 2 and it appears to depend on Icecast as well.

The problem I'm encountering is that Traktor updates Icecast almost immediately upon playing the next track I'm cueing in. So while Track A is being heard over the speakers, Track B gets displayed as the "current" track well before it's ever mixed in.

Is this expected behavior, user error (which is highly likely lol), or a bug maybe? It would seem to me that Icecast should be updated when a certain "condition" is met - perhaps whenever Traktor switches the Tempo Master from Track A to Track B, or the crossfader has reached some percentage (to the left or right).

Unless I've got something misconfigured or my workflow's completely busted, I'm at my wit's end trying to get this working as I'd expect.

Best Answer

  • lord-carlos
    lord-carlos Member Posts: 3,294 Expert
    Answer ✓

    Are you using external mixing mode?

    If that is the case traktor does not know where the crossfader or volume fader is.

    I use the broadcasting way it it seems to work just fine. With internal mixing mode.

    There are about 4 programs on github that show track ID one way or another. Some hook into the display for S5 controller, some the broadcasting way. But all fail when you use external mixing mode.

    I use nowplaying1, which is not a thing anymore, but there is nowplaying2 https://www.nowplaying2.com/

Answers

  • lord-carlos
    lord-carlos Member Posts: 3,294 Expert
    Answer ✓

    Are you using external mixing mode?

    If that is the case traktor does not know where the crossfader or volume fader is.

    I use the broadcasting way it it seems to work just fine. With internal mixing mode.

    There are about 4 programs on github that show track ID one way or another. Some hook into the display for S5 controller, some the broadcasting way. But all fail when you use external mixing mode.

    I use nowplaying1, which is not a thing anymore, but there is nowplaying2 https://www.nowplaying2.com/

  • atm0s
    atm0s Member Posts: 6 Newcomer

    I'm using internal mixing mode, with a Kontrol S2 MK2. I was just looking at switching the mixing mode last night and couldn't even figure out how to get external mixing mode how to work lol.

    Now Playing 2 appears to use the broadcasting method as well - and I've read posts from users reporting the same thing I am.

  • lord-carlos
    lord-carlos Member Posts: 3,294 Expert

    Well you use external mixing mode with .. an external mixer ;-) Not when you use a midi controller like the s2.

    How do you mix in a track, volume fader, EQ or crossfader?

    I could take a look at my parst recordings and see how exact the track id is.

  • atm0s
    atm0s Member Posts: 6 Newcomer
    edited September 2023

    Normally I use the crossfader, but I tried with volume faders and the result is the same.

    I made a quick video demonstrating what's happening ... I'm a newb so I can't post links, but it's: youtu (dot) be / osmxnnu2b5g

    I've got Deadmau5 playing on the left deck, crossfader all the way to the left. When I cue up another song on the right deck and hit play (on the S2), after about a second or two, you can see Traktor "blinks" like it's updating, and then Now Playing 2 updates.

    Then I cue up another track on the right deck and hit play in Traktor itself - the same thing happens... Traktor blinks/updates and then Now Playing updates.... all with the left track playing Deadmau5 the entire time.

  • lord-carlos
    lord-carlos Member Posts: 3,294 Expert

    I just checked an older recording of mine. When cueing with volume fader down nowplaying1 does not show the track yet for me :/ Weird.


  • atm0s
    atm0s Member Posts: 6 Newcomer

    I appreciate you looking into it lord-carlos .... Your setup appears to work like I would expect. Also, someone marked my question as answered but I'm still experiencing the problem.

    I suspect it's a bug, or maybe just some confluence of my hardware & settings. I'm going to keep fiddling with it. Something about the Tracklist refreshing 1-2 secs after starting the cued up track leads me to believe Traktor updating its database might be causing the issue. I'm not sure. It's a stretch, and not much I can do about it lol.

  • Fritz
    Fritz Member Posts: 30 Member
    edited October 2023

    Im using Now playing 2 aswell.

    As soon as you hit play on a different deck a signal is sent to now playing and a timer starts counting down. When the track is still playing, now playing updates, regardless of fader positions. You can set this update timer in the now playing settings. I have mine on 40 seconds.

  • lord-carlos
    lord-carlos Member Posts: 3,294 Expert

    Maybe I can find the installer for nowplaying1

    Here is also an open source command line tool that works with the icecast implementation. https://github.com/radusuciu/traktor_nowplaying

  • atm0s
    atm0s Member Posts: 6 Newcomer
    edited October 2023

    @ Fritz I saw that as an option but that still seems prone to misfiring. I tend to mix on the fly, so if I find Track B early into Track A, I could still run into the same problem. Conversely if I find Track B close to the _end_ of Track A, it could be a while until the ID changes to Track B.

    I've actually ended up writing a small React app with my developer partner. Essentially, on my DJ laptop is a web page that updates whenever Traktor does. Then, when I'm done with a mix, all I have to do is a hit a button to send the Track ID to my other computer running OBS. It's a bit more manual than I would like, but it was the only solution I could come up with that gave me somewhat precise control.

  • mixedbyalex
    mixedbyalex Member Posts: 2 Newcomer

    @ atmOs - same issue with Traktor running in external mode - Any chance to share the React app with instructions - Eventually NI folks may sort this out by adding a check box in the broadcast settings such as "BROADCAST ONLY ACTIVE MASTER TEMPO TRACK" - Thank You! Alex

  • lord-carlos
    lord-carlos Member Posts: 3,294 Expert

    In external mixing mode traktor does not know what track is active on the speakers, only if it's playing or not. It does not know about where the mixers faders are.

    How does master tempo switch in external mixing mode? When you pause the old track?

  • mixedbyalex
    mixedbyalex Member Posts: 2 Newcomer

    @ lord-carlos - I am using Traktor with the TRAKTOR SCRATCH AUDIO 6, a pair of Technics SL-1200M3D and Pioneer DJM-800 - I am pretty sure the master tempo changes to the "playing track" when I pick up the needle after a mix - I'll pay close attention next time I play

  • atm0s
    atm0s Member Posts: 6 Newcomer

    So it's been a couple months and I'm gonna call it - this is definitely a bug (maybe it's only a MacOS problem).

    I was feeling somewhat dejected about the state of Traktor and its lack of updates (and my S2 MK2 was 10 years old). So I decided to explore... greener pastures. I trialed djay pro and ordered a Reloop Mixon 8. One of the first things I tested out was how it handled the current playing track. Djay writes the track info to a file.... and from what I've read, it uses the volumes of Deck A and B to determine which is the current track. Guess what? It worked perfectly, exactly how I expected. When I finished a transition, the file was updated with the correct track.

    But... The Mixon 8 had its quirks. Plus, it did not "feel" quite as good as my Traktor S2. So I returned it. And bought a S4 MK3 and returned to the Traktor ecosystem wholesale. I thought maybe upgrading might fix the problem. It didn't. The track info still gets updated prematurely.

    I've filed an official bug report with NI. We'll see how that goes.

    @mixedbyalex - I'll see if we can get the app in a state where it's shareable. I think it would work for other DJs? Not sure if everyone's workflow is the same as mine. I have a small web interface on my DJ laptop that looks like the attached image. It monitors Icecast every 10 secs and displays that as what's "On Deck" - essentially a stop-gap. When I've completed a transition and the right track info is On Deck, I click "Update Live Track". That then broadcasts HTML to OBS with the correct live track information. I can also use it to hide/show the live track in OBS.


  • ErikMinekus
    ErikMinekus Member Posts: 96 Advisor
    edited March 14

    My API client sends track data for all decks to a web server, so you can decide which track is live based on if it's playing, if it's the master deck, and even the on-air level (combination of crossfader and channel volume). Of course the last property only works in internal mixing mode.

  • lord-carlos
    lord-carlos Member Posts: 3,294 Expert

    I started writing a small program that listens to the midi signals from my xone mixer so I can use your program with an external mixer.

    Have not come far yet. Thanks for making it possible.

Back To Top