Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/kepabilbao67-bot/musicplayer2/llms.txt

Use this file to discover all available pages before exploring further.

NEON DJ registers a keydown listener on window via window.addEventListener('keydown', ...) that fires on every keystroke while the app is open. The listener immediately checks the focused element’s tag: if the focus is on an <input>, <select>, or <textarea>, the shortcut is skipped so you can still type normally into track search fields or file pickers. As long as no text field has focus, all shortcuts below are active.
window.addEventListener('keydown', e => {
  const tag = (e.target.tagName || '').toLowerCase();
  if (tag === 'input' || tag === 'select' || tag === 'textarea') return;
  // ... key dispatch
});
There are four shortcut groups: Deck A controls, Deck B controls, global crossfader, and FX pad triggers.
Some keys (Q, P) call e.preventDefault() to avoid triggering browser defaults (e.g. scroll or form submission). The arrow keys also prevent default to stop the page from scrolling horizontally.

All Deck A shortcuts mirror standard DJ controller left-hand positions — Q/A/Z/S form a vertical column on a QWERTY keyboard.
KeyActionTechnical Detail
QPlay / Pause Deck ACalls deckA.toggle(). If stopped, starts playback from current offset. If playing, pauses and stores position. The PLAY button glows green when active.
ACUE Deck ACalls deckA.seek(0), jumping the playhead to position 0:00. If the deck was playing, playback resumes from the start.
ZLoop 4 Deck ACalls deckA.toggleLoop(). First press anchors a 4-beat loop at the current playhead. Second press releases the loop. The LOOP 4 button glows purple while active.
SSync Deck ACalls deckA.sync(). Matches Deck A’s playback rate to Deck B’s current BPM and aligns the beat phase within the current bar. The SYNC button flashes amber for 600 ms.

Full Quick-Reference Table

The complete shortcut list at a glance:
KeyDeckAction
QAPlay / Pause
AACUE (jump to start)
ZAToggle Loop 4
SASync to Deck B
PBPlay / Pause
LBCUE (jump to start)
MBToggle Loop 4
KBSync to Deck A
GlobalCrossfader left (−5)
GlobalCrossfader right (+5)
1FXRiser
2FXAirhorn
3FXImpact
4FXZap
5FXFlanger throw
6FXTape Stop (all decks)
7FXEcho throw

Tips for Live Use

  1. Start Deck A playing with Q.
  2. While Deck A runs, press K to sync Deck B’s BPM and phase to Deck A.
  3. Start Deck B with P.
  4. Slowly fade the crossfader with (hold or repeat) to bring Deck B into the mix.
  5. When you’re ready to cut, press rapidly to return to Deck A, then stop Deck B with P.
Hot cues are not yet bound to keyboard shortcuts — they require a mouse click on the HOT 1/2/3 buttons. Set your cue points before the live moment, then jump to them with a click during the mix.
Trigger a RISER (1) about 2 seconds before your drop, then fire an AIRHORN (2) or IMPACT (3) right at the peak. While the riser is rising, switch the crossfader with so the other deck is already in place when the airhorn lands.

Build docs developers (and LLMs) love