Skip to content

Rekordbox Library

For Rekordbox 5 and 6, Now Playing integrates with the local Rekordbox library database rather than the network protocol. This gives it immediate access to the full track catalog and the play history, even when you are mixing on a laptop without any hardware on the network.

The integration lives in the rekordbox-connect package.

Rekordbox stores its library in a SQLCipher-encrypted SQLite database named master.db. Now Playing opens this database in read-only mode and watches for:

  • Track rows — metadata for every track in your collection.
  • Play history — the ordered list of tracks played in the current session, appended as you play.

Rekordbox stores its library path and the encryption password in an options.json configuration file. On first connection, rekordbox-connect:

  1. Reads options.json from Rekordbox’s application support folder.
  2. Extracts the library path and the encrypted password field.
  3. Decrypts the password using a Blowfish cipher.
  4. Opens master.db with the decrypted SQLCipher key.

This avoids any manual configuration — as long as Rekordbox is installed and has been launched at least once, Now Playing can open the database.

The database is polled on a configurable interval (default 2 seconds) using file modification time (mtime). When Rekordbox writes a new row to the play history table, master.db’s mtime changes and a read is triggered.

A rowid-based cursor tracks the last history entry that was processed, so only new rows emit events. This keeps re-reads efficient and prevents duplicate track updates on restart.

FieldNotes
Title, artist, album, genre, labelFrom the track row
BPM, musical keyFrom the track row
File pathUsed to pull embedded artwork via metadata-connect
Play history timestampFrom the history row
Deck number (if present)Rekordbox schema varies by version

The exact column schema changes between Rekordbox 5, 6, and 7. The connector handles the variants that ship with supported versions; for Rekordbox 7.x’s new export format, see Rekordbox OneLibrary.

EventFires When
readyDatabase has been opened and is ready
db-changedmaster.db mtime has advanced
tracksNew track metadata has been read
historyA new play-history entry has appeared

Supported on both macOS and Windows. The library path is read from the platform’s Rekordbox application support location automatically.

The Rekordbox database shows what tracks are in your library and which have been played, but it does not provide live controller state (fader positions, EQ, crossfader). Those come from the MIDI Bridge when a controller is connected, and are used by the mix processor for on-air detection.