Media Slot Queries
In order to correctly ask for the root menu for a media slot, you need to know what kind of media (rekordbox or unanalyzed) is present in the slot so you can send the proper Tr value in your menu requests. You might also want to show information about the entire media collection, such as its name, size, date created, number of tracks, number of playlists, and free space. All of these things can be determined by sending a packet like the one shown below to port 50002 on the player that holds the slot, with appropriate values for D (the device number you are posing as), Dr (the device owning the slot), and Sr (the slot you’re interested in). These bytes have the same values used in CDJ status packets.
Since this packet uses subtype 00, the length sent in lenr has the
000c, reflecting the twelve bytes which follow it.
The player will respond by sending a packet like the one shown below to port 50002 on the IP address specified in your query packet (so you want to supply your own address to get the response). This contains the information about the media mounted in the slot.
Since this packet uses subtype
00, the length sent in lenr has
009c, reflecting the number of bytes which follow it.
The name of the media stick (as assigned in rekordbox) can be found as
a UTF-16 encoded string starting at byte
2c, and up to
bytes long, padding with trailing null characters. This is followed by
a textual representation of the creation date of the media database,
encoded in the same way, starting at byte
6c, up to
bytes long. (Neither of these fields have meaningful values for
“media” served by rekordbox mobile from its collection on a phone.)
The number of rekordbox tracks present in the database is found in
a7 (this will be zero if there is no rekordbox
database present). The value col at byte
a8 tells the
player what color it should tint its user interface when it has loaded
tracks from the media:
Tr at byte
aa reports the type of tracks available, with
the same values used in CDJ status packets.
In other words, it will have the value
01 when a rekordbox database
is present, and
02 otherwise; this is the same value that must be
sent as Tr in order to make a successful request for the root menu
associated with this media. The value set at byte
indicates whether there is a “My Settings” file present on the media.
If it has a non-zero value, when the user links to that media (or
navigates to its root menu), the player will pop up an alert saying to
press the Menu button to load My Settings (which allows the
player configuration to be quickly restored to the DJ’s preferred
The actual settings are found in the
/PIONEER/folder at the root of the mounted media, in the files
DEVSETTING.DAT. The DJ’s Kuvo profile information is in the same folder, in the file
djprofile.nxs.The details of these files have not yet been explored.
The number of rekordbox playlists present on the media (also zero if
there is no rekordbox database) is found at bytes
Finally, there are two eight-byte numbers at the end of the packet.
The value at bytes
b7 is the total capacity of
the media (in bytes), and the value at bytes
is the number of unused bytes left on it.