Technical FAQ
In-depth answers about Active Loops in rekordbox XML, Pioneer's POSITION_MARK format, Serato’s Markers2 tag, hot cues vs memory cues and more. For general questions see the home page FAQ.
Active Loops and the Rekordbox XML format
Pioneer's rekordbox XML format (rekordbox.xml) does not have a field for storing the "Active Loop" state. Every loop — whether it was a Hot Loop, a Memory Loop, or an Active Loop — is written as a generic POSITION_MARK element with Type="4" Num="-1". Once serialised to XML, it is impossible to tell them apart. When you re-import the file the loop will appear as a plain Memory Loop and will not trigger automatically on playback. This is a structural limitation of the XML format, not a bug in DJ Cue Bridge.
In Rekordbox's internal database (master.db), loops carry an "active" flag that tells the software to auto-trigger the loop when the playhead passes a certain point.
• Hot Loop — a loop assigned to a hot cue pad (A–H). Pressing the pad starts the loop.
• Memory Loop — a loop stored as a white marker (Num=-1). Visible on all CDJs without a connected laptop.
• Active Loop — a Memory Loop with the "active" flag set; the CDJ/XDJ begins looping automatically.
The active flag lives only inside master.db. The XML export format has no equivalent attribute, so the distinction is lost as soon as you export.
Inside a rekordbox.xml file each cue or loop is a POSITION_MARK element. The Type attribute indicates the kind of marker:
• Type="0" → regular cue point (hot cue or memory cue)
• Type="1" → fade-in marker
• Type="2" → fade-out marker
• Type="3" → load marker
• Type="4" → loop (has both Start and End attributes)
Num is the pad assignment: values 0–7 map to hot cue pads A–H; Num="-1" means the marker is a Memory marker (no pad assigned, white on the CDJ waveform). So Type="4" Num="-1" is a Memory Loop — Pioneer's XML cannot encode anything more specific than that.
No. Once Rekordbox has written the XML, the active-loop flag is gone. The only way to preserve Active Loops is to keep your library in Rekordbox's own database (master.db) and avoid relying on XML round-trips for that information. DJ Cue Bridge faithfully converts everything the XML format supports, but it cannot invent data that Pioneer chose not to include.
Rekordbox hot cues vs memory cues — what to choose
Hot Cues (Num 0–7, colored pads A–H) are only accessible when a laptop running Rekordbox is connected to the CDJ. On a standalone CDJ-3000 or XDJ-RX3 loading from a USB drive they are visible but cannot be triggered without pad hardware (or by pressing the pad on a compatible player).
Memory Cues (Num=-1, white diamonds on the waveform) are always visible on all Pioneer players regardless of whether a laptop is connected. They can be jumped to manually and work even on older CDJ-2000 hardware.
For most DJ setups — especially club riders where you plug a USB into house CDJs — Memory Cues are the safer choice. DJ Cue Bridge offers a "Both" option that writes each point twice (as a hot cue and as a memory cue) so you get the best of both worlds.
If you used the "Hot Cues" mode in DJ Cue Bridge the markers are stored with Num=0–7 (pad assignments). On a standalone Pioneer player loading from USB, hot cues are visible in Rekordbox Performance mode when exported to the USB, but require you to export the library to the drive first. If you see no markers at all, check that:
1. You re-exported the library to the USB after importing the rekordbox.xml in Rekordbox.
2. The file in Rekordbox is linked to the correct audio file path.
If you want guaranteed visibility without those steps, re-run the conversion with the "Memory Cues" or "Both" option.
Serato Markers2 tag — how it works
Serato stores cue points, loops, flip data and beatgrid information directly inside the audio file as custom ID3 tags (for MP3/AIFF) or Vorbis comment blocks (for FLAC). The main tag used is called "Serato Markers2". It contains a base64-encoded binary payload that encodes all cue and loop data.
DJ Cue Bridge decodes this payload, extracts the cue points and loops, and re-encodes them in the target format. Because everything is tag-based, no Serato library file is needed — just the audio files themselves.
Both. Serato writes tags into the audio file (Serato Markers_, Serato Markers2, Serato BeatGrid, etc.) and also maintains a library database in ~/Music/Serato. DJ Cue Bridge reads from the embedded tags, so it works even if you move files or have no Serato library. However, BPM and key data not embedded in tags cannot be extracted.
Serato supports up to 8 hot cues (0–7) and 9 loop slots. Rekordbox XML also supports 8 pads. If you see fewer cue points than expected:
• Serato stores "empty" slots as cue points with no color and no name — DJ Cue Bridge skips those.
• If the Serato Markers2 tag is corrupted or uses an unsupported encoding variant, decoding may fail silently for individual entries.
• Loops in Serato can have the loop disabled (stored but off) — DJ Cue Bridge imports them as inactive Memory Loops since Rekordbox XML has no "disabled loop" concept.
Engine DJ and Mixed In Key — read-only support
Engine DJ stores its entire library in an SQLite database (m.db) with a schema that changes between software versions. Writing back to a live database without knowing its exact schema version risks corrupting the library — losing all your playlists, crate organisation and metadata. For this reason DJ Cue Bridge currently supports reading from Engine DJ but not writing to it. The recommended workflow is: Engine DJ → Rekordbox XML → import into Rekordbox.
Mixed In Key does not have a published, stable API or file format for writing cue points. The CUEPOINTS Vorbis tag (FLAC) and TXXX:CUEPOINTS ID3 tag (MP3) that MIK creates are proprietary; writing arbitrary data there risks MIK overwriting or corrupting them on the next analysis. DJ Cue Bridge reads those tags but does not write to them to avoid data loss.
File formats and audio quality
For Rekordbox, Traktor, Virtual DJ and Engine DJ conversions: no. DJ Cue Bridge only outputs a library file (rekordbox.xml, collection.nml, database.xml). Your audio files are never touched.
For Serato as a target: yes — cue points are written into the ID3/Vorbis tags of the audio files. You download a modified copy of each file; the original on disk is never overwritten. The audio data itself (the PCM waveform) is never re-encoded or modified in any way — only the metadata tags change.
FLAC and MP3 for tag-based codecs (Serato, Mixed In Key). For library-file codecs (Rekordbox XML, Traktor NML, Virtual DJ XML, Engine DJ SQLite) any audio format works because the library file references files by path rather than embedding data inside them.
AIFF, WAV and other formats are displayed in the track list but tag writing for those formats is not yet implemented — if you need Serato cue points in an AIFF file, convert the track to FLAC first.
Yes. Select Traktor as the source, load your collection.nml, select Serato DJ as the target. For each track that has an audio file loadable by the browser (FLAC or MP3), DJ Cue Bridge will write the Serato Markers2 tag with the converted cue points.
Note: Traktor's collection.nml contains file paths but not the audio data. DJ Cue Bridge needs the actual audio files loaded via the file picker so it can write the tags. For large collections, load the NML first and then drag the audio folder — the tool will match tracks automatically.
Compatibility and limits
There is no hard coded limit. Processing runs in a Web Worker (background thread) so the UI stays responsive during conversion. In practice:
• Up to ~2 000 audio files (FLAC/MP3) — works well on any modern computer with 8 GB RAM.
• Large library XML files (Traktor NML, Rekordbox XML) with 10 000+ tracks — the XML is parsed in memory; memory usage is proportional to collection size.
For very large collections (>5 000 tracks) use library-file mode rather than individual audio files for best performance.
Yes. DJ Cue Bridge is a Progressive Web App. After the first visit all assets are cached by the browser's service worker. You can add it to your home screen (iOS/Android) or install it as a desktop app (Chrome/Edge → "Install DJ Cue Bridge"). It will work without an internet connection — useful in a DJ booth without Wi-Fi.
No. All processing happens locally in your browser using JavaScript, WebAssembly (for SQLite) and the File System Access API. No data is ever sent to a server. The site has no backend; it is a static bundle hosted on OVH. DJ Cue Bridge has no user accounts, no analytics tracking and no telemetry.