Skip to content

StageLinQ

StageLinQ is the protocol Denon DJ uses to share state between Prime-series players and mixers. Now Playing implements it in the stagelinq package, connecting over the local network to read track metadata, deck state, and mixer signals in real time.

  • Denon SC6000 / SC6000M standalone media players.
  • Denon SC5000 / SC5000M standalone media players.
  • Denon Prime 4, Prime 2, Prime Go all-in-one units.
  • Denon X1850 / X1800 DJ mixers.
  • Engine DJ desktop software (shares the same protocol).

The package discovers Denon devices on the network using mDNS service discovery. Once a device is found, it opens a TCP connection and negotiates the StageLinQ services available on that device:

  • StateMap — a real-time state tracker covering 200+ per-deck values (current track, playback state, BPM, sync state, loop state, mixer positions).
  • BeatInfo — per-beat tempo and beat-position messages.
  • FileTransfer — lets Now Playing read metadata from the player’s database without a physical USB mount.
  • TimeSync and Broadcast — auxiliary services used for clock synchronisation.

Now Playing subscribes to the state values it cares about. Denon hardware streams changes back as they happen, so tracking is event-driven rather than polling.

FieldStageLinQ Service
Track title, artist, albumStateMap
Track file path and database keyStateMap
BPM and musical keyStateMap
Playback state (playing / paused / cued)StateMap
Channel fader and crossfader positionsStateMap
Deck sync state and master deckStateMap
Beat position and live tempoBeatInfo
ArtworkFileTransfer (from player database)
  • macOS — fully supported.
  • Windows — fully supported.

Wired Ethernet is recommended for the same reasons as PRO DJ LINK: real-time beat and state data flows continuously, and packet loss on Wi-Fi causes missed updates.

Engine DJ desktop software speaks the same StageLinQ protocol over the local network. If you mix with Engine DJ on a laptop (rather than with Prime hardware), enabling StageLinQ as a source picks up the desktop app the same way it would pick up a physical player.