Loading Tracks and Settings
Rekordbox provides a few mechanisms by which linked players can be remotely managed. This section explores the packets used.
Loading Tracks
When running rekordbox, you can tell a player to load a track from the collection by dragging the track onto the player icon. This is implemented by a command that tells the player to load the track, and that command can be used to cause any player to load a track which is available somewhere on the network (whether in the rekordbox collection, or in a media slot on another player).
To do that, send a packet like the one shown below to port 50002 on the player that you want to cause to load the track, with appropriate values for D (the device number you are posing as), Dr (the device from which the track should be loaded), Sr (the slot from which the track should be loaded), Tr (the type of the track), and rekordbox (the track ID). These are the same values used in CDJ status packets.
Since this packet uses subtype 00, the length sent in lenr has the
value 0034
, reflecting the number of bytes which follow it.
at byte 40
(destination_device, zero-based)
reflects the player number on which the track is supposed to be
loaded. Unlike most device numbers in the protcol, this value numbers
the players starting with 0 (for player number D this has the value
D - 1). So for instance when loading a track on player 1,
will be 00
. Sending this seems not to be required, as
the player will load the track even if this byte does not have the
correct value.
Assuming the track can be loaded, the player will respond with a
packet whose type indicator (at byte 0a
) has the value 1a
to acknowledge the command, and will load the specified track.
Unfortunately, although the XDJ-XZ is able to load tracks from a
rekordbox collection when rekordbox tells it to, it does not seem to
be able to be remotely instructed to load tracks from its own USBs, or
from other players. The packets that rekordbox sends to achieve this
are slightly different from the one shown above, in that
byte |
Loading Settings
When rekordbox is linked to a player you can also tell it to apply the My Settings configuration to that player immediately by navigating to
and scrolling down to find the section “Remote Settings using Pro DJ Link”. When you send the settings, a 116-byte packet like the one shown below is sent to port 50002 on the target player.This is unusual for a port 50002 packet in that byte 1f
immediately following the name has the value 02
rather than the 01
we usually see, and there is no subtype byte following it. Instead, we
follow that with D (the device number we are posing as), and Ds
(the device we are sending this packet to, in order to apply the
settings). lenr has the value 0050
, reflecting the number of
bytes which follow it.
The value OAD at byte 2c
controls the player’s On Air
Display feature. The value 80
turns it off, and 81
turns it on.
The value Bl at byte 2d
controls the brightness of the
player’s LCD screen. Legal values range from 81
(the least bright)
to 85
(maximum brightness).
The value Q at byte 2e
controls the player’s Quantize mode.
The value 80
turns it off, and 81
turns it on.
The value ACL at byte 2f
controls the player’s Auto Cue
Level, with the following meanings:
Value | Meaning |
---|---|
|
-36 dB |
|
-42 dB |
|
-48 dB |
|
-54 dB |
|
-60 dB |
|
-66 dB |
|
-72 dB |
|
-78 dB |
|
Memory |
The value L at byte 30
sets the Language used in the player
interface, with the following meanings:
Value | Meaning |
---|---|
|
English |
|
French |
|
German |
|
Italian |
|
Dutch |
|
Spanish |
|
Russian |
|
Korean |
|
Simplified Chinese |
|
Traditional Chinese |
|
Japanese |
|
Portuguese |
|
Swedish |
|
Czech |
|
Magyar |
|
Danish |
|
Greek |
|
Turkish |
The value Bjr at byte 32
controls the brightness of the
player’s jog ring. The value 80
turns off jog ring illumination,
81
illuminates it dimly, and 82
illuminates it brightly.
The value Ijr at byte 33
controls the Jog Ring Indicator
feature of the player (I beleve this causes it to flash when a track
is nearing the end). The value 80
turns the indicator off, and 81
turns it on.
The value SF at byte 34
controls the player’s Slip Flashing
feature. The value 80
turns it off, and 81
turns it on.
The value Bds at byte 38
controls the the brightness of
the player’s disc slot illumination. The value 80
turns it off, and
81
illuminates it dimly, and 82
illuminates it brightly.
The value Lel at byte 39
controls the player’s Eject/Load
Lock feature. The value 80
unlocks it, and 81
locks it.
The value Sync at byte 3a
controls the player’s Sync
feature. The value 80
turns it off, and 81
turns it on.
The value APM at byte 3b
controls the player’s Auto Play
Mode. The value 80
activates auto play (continue), and 81
chooses
Single Play.
The value Qbv at byte 3c
controls beat value used when
Quantize is in effect. The value 80
quantizes at the full beat
level, 81
quantizes at half beats, 82
at quarter beats, and 83
at eighth beats.
The value Ahc at byte 3d
controls the player’s Hot Cue Auto
Load feature. The value 80
turns it off, 81
turns it on, and 82
allows the rekordbox track-level setting to control whether the hot
cues should be loaded when loading the track.
The value Chc at byte 3e
controls the player’s Hot Cue
Color feature. The value 80
turns it off, and 81
turns it on.
The value Ln at byte 41
controls the player’s Needle
Lock feature. The value 80
unlocks it, and 81
locks it.
The value Time at byte 44
controls the Time Mode displayed on
the player. The value 80
displays Elapsed time, while 81
displays
Remaining time.
The value Jog at byte 45
controls the player Jog Mode. The
value 80
selects CDJ mode, while 81
selects Vinyl mode.
The value AC at byte 46
controls the player’s Auto Cue
feature. The value 80
turns it off, and 81
turns it on.
The value MT at byte 47
controls the player’s Master Tempo
feature. The value 80
turns it off, and 81
turns it on.
The value Rt at byte 48
controls the player’s Tempo
Range. The value 80
selects ±6, 81 selects ±10, 82 selects ±16, and
83 selects Wide.
The value PM at byte 49
controls the player’s Phase Meter
type. The value 80
selects type 1, and 81
selects type 2.
The value VSA at byte 4c
controls the player’s Vinyl Speed
Adjust feature. The value 80
selects Touch & Release, 81
selects
Touch, and 82
selects Release.
The value JD at byte 4d
controls the player’s Jog Display
mode. The value 80
selects Auto, 81
selects Info, 82
selects
Simple, and 83
selects Artwork.
The value Bpb at byte 4e
controls the brightness of the
player’s performance pads/buttons. Legal values range from 81
(the
least bright) to 84
(maximum brightness).
The value Bjl at byte 4f
controls the brightness of the
player’s jog wheel LCD screen. Legal values range from 81
(the least
bright) to 85
(maximum brightness).
The My Settings preferences page in rekordbox also has a Mixer section, with a variety of options in it. However, changing these had no effect on the packet that rekordbox sent, and did not seem to have eny effect on the mixer section of my XDJ-XZ, either. My best guess is that these settings might simply not be controllable remotely from rekordbox yet. If anyone can find evidence otherwise, please open an issue, or get in touch on the Zulip stream to share what you have discovered. |