Answers to frequently asked questions.

What is djctl?

djctl tells you what’s playing on your Denon StagelinQ-capable DJ device running in standalone mode. When coupled with OBS or similar software, it can be used to display a live updating overlay of what’s playing during your DJ set.

How do you pronounce djctl?

It’s short for “DJ control” but any of the following are acceptable:

  • DJ control
  • DJ C-T-L
  • DJ cuddle

Why are you creating yet another “what’s playing” DJ application?

Numerous solutions exist to support DJ software and non-Denon hardware. However, support for Denon equipment running in standalone mode is not yet common. The djctl project is committed to developing features that specifically leverage the unique capabilities of Denon hardware.

Which Denon devices work with djctl?

djctl has been tested and known to work with the following Denon hardware:

  • Prime 4

Alpha testers have also tested the following devices and confirmed as working:

  • Prime GO

The djctl project would like to test with other StagelinQ capable devices to confirm compatibility. Specifically, the following all-in-one devices may work but are unconfirmed:

  • Prime 2

Experimental support is available for SC players paired with an X mixer. This includes the following equipment:

  • SC5000
  • SC5000M
  • SC6000
  • SC6000M
  • X1800
  • X1850

What is StagelinQ?

StagelinQ is a proprietary communications protocol featured on select Denon DJ devices. Official Denon integrations with Resolume and SoundSwitch leverage this protocol.

djctl also uses this protocol, albeit a reverse-engineered implementation. Please see this Twitter thead along with this Denon DJ forum thread for all the nerdy details.

Does djctl support track identification for controllers running in computer/USB mode?

No. Currently, djctl is designed to operate with Denon devices running in standalone mode.

What operating systems are supported?

djctl targets support for the following operating systems and platforms:

Operating SystemPlatform

It is technically possible for us to build executables that target other less mainstream operating system and platform combinations. The djctl project will work with the community to determine demand for alternative build targets.

How does djctl identify track transitions?

djctl supports a both a “volume” detection algorithm and a “lead” detection algorithm.

The “volume” algorithm promotes a track to “featured” state when it is the only audible track present in the mix. Other tracks that may have been playing during a transition must no longer be present in the mix. To prevent triggering premature track transitions during cuts or scratches, a user-definable delay timer can be configured.

The volume threshold that defines whether a track is still in the mix is configurable. When lowered from its default of 100%, a new track can be promoted to “featured” even with mixing styles that incorporate double drops or long transitions where the outgoing track faders remain partially up.

The “lead” algorithm follows the active play state on a deck. A track is lead if you press play and no other track is also in the play state. When you engage play on a new track, this new track doesn’t transition into lead state until the other track has been stopped.

Is there a graphical user interface (GUI) available?

No, djctl is a command line application only. There are no immediate plans to create a GUI.