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
value 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
the value 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 40
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 28
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
bytes a6
and 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:
Value | Meaning |
---|---|
|
Default |
|
Pink |
|
Red |
|
Orange |
|
Yellow |
|
Green |
|
Aqua |
|
Blue |
|
Purple |
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 ab
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
state).
The actual settings are found in the
/PIONEER/
folder at the root of the mounted media, in the filesMYSETTING.DAT
,MYSETTING2.DAT
, andDEVSETTING.DAT
. The DJ’s Kuvo profile information is in the same folder, in the filedjprofile.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 ae
and
af
.
Finally, there are two eight-byte numbers at the end of the packet.
The value at bytes b0
through b7
is the total capacity of
the media (in bytes), and the value at bytes b8
through bf
is the number of unused bytes left on it.