Chapter 39. DJ

From MagicQ version, we support the ability to connect to external DJ systems via a network connection. This allows MagicQ to both see what is currently playing on the connected DJ decks, as well as using the timecode information to be able to synchronise Cue Stacks to a given track.

Further detail of the connection statuses can be found under "SETUP" → "VIEW SYSTEM" → "VIEW STATUS" "Timecode/DJ". Please send across a screenshot of this window along with your query; if you are facing any issues when using any of these protocols.

39.1. Supported Systems

39.1.1. VirtualDJ / OS2L

MagicQ uses the Open Sound 2 Light protocol to communicate with VirtualDJ. To enable this, set the "VirtualDJ OS2L" protocol to "Yes" within the MIDI / Timecode tab of the Setup window. Within VirtualDJ, to enable the connection to MagicQ, go into the Settings window, select Options, and filter by "os2l". Set the "os2l" setting to "yes" or "auto", and set the "os2lDirectIp" setting to the IP address of the MagicQ system, with ":8060" appended on the end to specify the port number.

Currently VirtualDJ will not send data to MagicQ until an initial OS2L command is sent from the software to MagicQ. To configure this, a macro will need to be configured to send "os2l_cmd 1 on". This can be configured in VirtualDJ to either be a key bind or button.

VirtualDJ can run on the same computer as MagicQ, or can be connected remotely to a separate MagicQ system as long as they are connected to the same subnet.


39.1.2. StagelinQ / Engine Prime

MagicQ uses the Engine Prime network architecture to communicate to Denon DJ equipment. To enable this set the "StagelinQ" protocol to "Yes" within the MIDI / Timecode tab of the Setup window. Any connected devices that are within the subnet will appear in the popup when selecting a deck.


39.1.3. TCNet

To connect to a ProDJLink system, you will need to have either the ProDJLink Bridge application (Windows or macOS) application, or ShowKontrol application (macOS only) running on an external system. These applications form a bridge between the ProDJLink network which connects the mixers and decks together, and the TCNet network. To enable this connection, set the "TCNet" protocol to "Yes" within the MIDI / Timecode tab of the Setup window and make sure the ProDJLink bridge application is running on the same subnet as MagicQ. MagicQ should appear as a node within the TCNet tab of the bridge application.


39.2. Deck Configuration

MagicQ supports four DJ decks at once, but these can be mixed from different systems, rather than being limited to a single system. Once a protocol has been enabled, you should be able to select the decks from the "DJ Deck 1-4" options within the MIDI / Timecode tab of the Setup window.

MagicQ also has support for DJ mixer channel configuration. You can configure each DJ Deck mixer channel from the MIDI / Timecode tab. Channels can be set to "Default", which matches the mixer channel to the DJ Deck value, or the channels can be configured with "1-6".

MagicQ supports Auto Detection for DJ Decks when the console starts up or when MagicQ has lost connection to the external DJ Software. This setting can be found in SETUP → MIDI / Timecode → Auto Detect DJ Decks. If there is a connection between the console and the external DJ Software you can force the software to re-detect the DJ Decks by toggling the setting from "Off" to "On" and the DJ Decks will be re-detected.

39.3. Audio Window

The Audio window has two main modes to show either the status of the connected DJ systems, or the status of the audio input beat tracking.

The Audio Window can be loaded by selecting it from the "Window" menu on PC systems, or alternatively by pressing ALT+PAGE. The mode can be changed by using the two soft buttons "View DJ Deck" and "View Beat Track".

When in DJ Deck mode, this window provides an overview of the connected and configured decks, showing the track info, position, BPM, volume, VU level and an overview of the waveform.

Note some DJ systems do not provide all of this information, MagicQ will display the information it can receive as well as displaying what information it cannot receive. If this information is later received, the DJ Deck should update with the relevant information.

DJ Decks can be used to control the timecode for Cue Stacks. If a DJ Deck has the EXACT same title and artist as the Cue Stack Audio file (Cue Stack Options > Audio > Audio file), when the playback is activated and the DJ Deck is playing, the Cue Stack should start playing using the tracks position as the timecode. You are also able to link a DJ Deck to a Cue Stack. This can be done by pressing COPY then the Cue Stack you want to link to, followed by the DJ Deck you want to link from.

Note for the track to auto-link to the Cue Stack, the tracks metadata for title and artist have to be EXACTLY the same on the DJ Deck and in MagicQ.


In Audio Beat Track mode, it will show a running waveform of the audio input, and the beats detected will be shown as red lines in the waveform. A histogram is also shown alongside to show the confidence the algorithm has in each BPM value. The peak will be used to set the BPM in MagicQ. The range of BPM values can be configured using the encoder in the Audio window. This will limit detection to the range of BPMs selected. This is useful in the case there are songs which the algorithm either ends up detecting a beat at either twice or half the actual BPM desired.


39.4. Timecode and Level Synchronisation

To synchronise the playback of a track with a Cue Stack in MagicQ, you must associate the incoming track information together with the required Cue Stack. To do this, load the desired track so that it is showing in the Audio Window, then use the Copy function in MagicQ, select your Cue Stack as the source, then click on the header of the relevant deck in the Audio Window. This will set the "DJ Track" setting on the Cue Stack which corresponds to the track information we can determine from the deck.

Some DJ Systems don’t provide unique track identifiers for tracks, so we have to generate a unique identifier based off the artist name and track title. Because of this, please ensure that any tracks you try to synchronise all have unique names within the relevant system.

To disable the DJ Deck from synchronising with the timecode of the cue stack, then set the "Track DJ Deck timecode" setting within the "Advanced" tab to "No".

To enable the Cue Stack to automatically activate and release when the track is loaded and unloaded from a deck, set the "Activate and Release on DJ System" setting to "Yes" under the "Activate Release" settings of the Cue Stack. When enabled, this will activate the Cue Stacks in the same way they are activated from an execute grid, or from the Stack Store window.

Depending on the "Crossfader Mode" option within the MIDI / Timecode tab, the activated Cue Stack will either be activated at full when set to "Cue Stack 100% when active", or will follow the crossfader and upfader levels if set to "Cue Stack follows volume". Tracking the crossfader and upfader levels is only available on DJ systems which provide this information externally.

39.5. Beat tracking

If a DJ System is connected, then the active deck will be the source of the global beat number within MagicQ which can be used with the "Audio beat step" functionality. When an audio input is configured instead, then the beats will be used to drive a beat count internally to MagicQ.

39.6. Diagnostics

The status of the underlying connections to the different DJ systems can be viewed within the Setup, View System, View Status, DJ/Timecode tab. This will detail connection status and IPs of connected systems to aid in setting up a new system.

39.7. Mixer Channel Configuration

MagicQ supports DJ Mixer Channel Configuration. If your DJ system is configured in a way where your DJ Deck 1 is being controlled via Channel 2 on the Mixer, you can set Channel 2 to control that DJ Layer.

To configure the Mixer Channels, set each "DJ Deck Audio Channel" to the respective Channel that you are using within the MIDI/Timcode tab of the Setup window. Channels can be set to either "Default" or 1 to 6. "Default" uses the Channel number that relates to the DJ Deck, for example, DJ Deck 1 will use Channel 1. Setting the "DJ Deck Audio Channel" to 1 to 6 allows the use of any of the available Channels on the DJ Mixer to control the DJ Decks in MagicQ.

If the the DJ Deck in MagicQ is configured to be controled via Channel 6 and the DJ Mixer being used only has four Channels the setting will need to be changed to be in range of the Mixers Channels.