Play Detection
When a DJ loads a track into a deck, that track is not necessarily what the audience is hearing. A DJ might browse and load several candidates before the one that actually plays reaches the speakers. Play detection is the system that figures out which track is truly on air and triggers the overlay update only at the right moment.
How Play Detection Works
Section titled “How Play Detection Works”Every time the desktop app sees a new track appear in DJ software, it sends that information to the cloud. Before the overlay is updated, the mix processor evaluates the track and decides how to handle it. That evaluation follows one of three named strategies depending on what hardware and software are connected.
BYPASS — Software Only
Section titled “BYPASS — Software Only”Used when no hardware controller or mixer is connected. Because there is no fader or crossfader data to analyse, the mix processor cannot determine which deck the audience is hearing. Instead it emits each incoming track immediately as the current on-air track.
This is the right behaviour for setups that use DJ software without a physical controller, or for simple one-deck broadcast scenarios.
When it applies:
- DJ software only (no USB controller, no MIDI mixer, no CDJs)
- Rekordbox or Serato connected via database reading with no hardware signals
SIMULATED — Hardware On-Air Flag
Section titled “SIMULATED — Hardware On-Air Flag”Used when the connected hardware can report directly which channel is on air. Pioneer DJM mixers expose a hardware on-air indicator over PRO DJ LINK. When this flag arrives with a track, the mix processor trusts it immediately and marks that deck as the live deck without any further scoring.
This is the most accurate strategy because the mixer itself is the source of truth. There is no debounce guessing — the track updates the moment the hardware says the channel is live.
When it applies:
- Pioneer CDJs or XDJs connected via PRO DJ LINK with a DJM mixer
- Hardware on-air flag is present in the incoming track message
SCORING — Controller Signals
Section titled “SCORING — Controller Signals”Used when hardware is connected and provides mixer signals such as fader positions and EQ state, but no direct on-air flag is available. The mix processor scores each channel using a weighted combination of signals, and the channel with the highest score becomes the on-air deck.
This is the strategy that most controller and MIDI mixer setups use. Each incoming signal is compared against configured weights, and the results are normalised to a 0–1 scale so channels can be compared fairly.
When it applies:
- MIDI controller with channel faders (DDJ series, any mappable controller)
- StagelinQ-connected setup with a mixer
- Any setup where channel fader data is available
How the Mix Processor Decides Which Track to Display
Section titled “How the Mix Processor Decides Which Track to Display”The mix processor receives three streams of information from the desktop app:
- Track metadata — what is loaded on each deck (artist, title, album)
- Controller state — real-time mixer signal values (faders, EQ, crossfader)
- Desktop state — what hardware is connected and what signals are available
With this information it maintains a queue of the two most recently loaded tracks and continuously scores each channel. When a channel’s score exceeds all others and holds that position for the configured debounce period, the track on that channel is published as on air.
Scoring in Detail
Section titled “Scoring in Detail”Each channel receives a combined score based on the signals your hardware exposes. Signals are weighted by how strongly they indicate audibility. The exact weights vary by DJ style preset — for example, hip-hop and R&B weight the crossfader heavily while house and techno emphasise channel faders and EQ.
| Signal | Typical Weight | Notes |
|---|---|---|
| Channel fader | High | Fully closed fader pins score to zero regardless |
| Play state | High | Paused or stopped deck pins score to zero |
| Hardware on-air flag | Medium-High | Direct mixer indicator, highly trusted |
| Tempo master | Medium | The sync master is likely the lead deck |
| Crossfader | Variable | Low for house/techno, high for hip-hop / open format |
| EQ bass, mid, high | Low | Useful for bass-swap and EQ-cut mixing styles |
| Filter | Low | Accounts for filter sweep transitions |
| Jog touch | Low | Touching the jog may indicate active manipulation |
Two conditions immediately pin a channel’s score to zero regardless of other signals:
- Channel fader fully closed. No audio can reach the main output.
- Deck not playing. A paused or stopped deck cannot be on air.
After all signals are evaluated, the score is normalised to a 0–1 range. If a channel’s normalised score drops below the configured minimum threshold, it is not considered a candidate even if it is technically the highest scorer.
Debounce
Section titled “Debounce”To prevent the overlay from flipping back and forth during transitions, a debounce timer holds the change until the new leader has maintained its position for a configured duration. This duration is part of the DJ Style preset. Genres with slow blends (House, Techno, Trance) use longer debounce times; genres with fast cuts (Hip-Hop, Hardstyle) use shorter ones.
Choosing the Right Setup
Section titled “Choosing the Right Setup”If you are using DJ software without a hardware controller, the BYPASS strategy is automatic and requires no configuration. Your overlay will update each time a new track is loaded.
If you are using CDJs or XDJs with a DJM mixer over PRO DJ LINK, the SIMULATED strategy activates automatically when the on-air flag is detected. No configuration is needed.
If you are using a MIDI controller or a mixer with fader data, the SCORING strategy is active and you can tune the signal weights through the On-Air Detection settings. See On-Air Detection for the available presets and custom weight configuration.