My-Setting Files Format#
This document explains the file format of the following Rekordbox My-Setting files:
DEVSETTING.DAT
DJMMYSETTING.DAT
MYSETTING.DAT
MYSETTING2.DAT
My-Setting File Structure#
The My-Setting files of Rekordbox are made up of a file header, a body structure containing the main data and a file footer. In contrast to the analysis files the My-Setting files use little endian data types.
The files start with a single byte len_strings
specifying the combined size of the
string data fields (should be always 96). The next 3 bytes are always zero.
The first 4 bytes can also be interpreted as a little endian 32-bit integer.
After that the My-Setting files contain three 32 byte long ASCII strings.
The first 32 byte field brand
contains the name of the brand. The value seems to
depend on the file:
File |
Value |
---|---|
|
|
|
|
|
|
|
|
The next 32 byte long field software
describes the name of the software. The value
seems to always be “rekordbox”. The last string in the file header is version
,
which describes some kind of version number.
The last value of the header is len_data
, which describes
the size of the data
data in bytes. The total length of the header is 104 bytes.
The My-Setting files end with an 4 byte long file footer, which contain a 2 byte checksum
and an 2 byte unknown value, which seems to always be 0x00
. The checksum is calculated
over the contents of the data
field, except for DJMSETTING.DAT
files where
the checksum is calculated over all preceding bytes including the length fields and
uses the CRC16 XMODEM algorithm [1].
My-Settings File Body#
After the file header of the My-Settings files the main data begins. The format depends
on the kind of file. All settings are stored as enums, starting at the value
0x80 = 129
. Note that even integers are not stored directly but mapped to the enum
values, for example 0x80
-> 1, 0x81
-> 2, etc. Sometimes the enum values are
shifted by one: 0x81
-> 1, 0x82
-> 2, etc.
MySetting Body#
The payload of the MYSETTING.DAT
file is 40 bytes long and contains the main
settings for Pioneer audio players (CDJ’s).
Byte |
Name |
Description |
---|---|---|
1-8 |
Usually |
|
9 |
on_air_display |
|
10 |
lcd_brightness |
|
11 |
quantize |
|
12 |
auto_cue_level |
See encodings section |
13 |
language |
See encodings section |
14 |
Usually |
|
15 |
jog_ring_brightness |
|
16 |
jog_ring_indicator |
|
17 |
slip_flashing |
|
18-20 |
Usually |
|
21 |
disc_slot_illumination |
|
22 |
eject_lock |
|
23 |
sync |
|
24 |
play_mode |
|
25 |
quantize_beat_value |
|
26 |
hotcue_autoload |
|
27 |
hotcue_color |
|
28-29 |
Always |
|
30 |
needle_lock |
|
31-32 |
Always |
|
33 |
time_mode |
|
34 |
jog_mode |
|
35 |
auto_cue |
|
36 |
master_tempo |
|
37 |
tempo_range |
|
38 |
phase_meter |
|
39-40 |
Always |
MySetting2 Body#
The payload of the MYSETTING2.DAT
file is 40 bytes long and contains additional
settings for Pioneer audio players (CDJ).
Byte |
Name |
Description |
---|---|---|
1 |
vinyl_speed_adjust |
|
2 |
jog_display_mode |
|
3 |
pad_button_brightness |
|
4 |
jog_lcd_brightness |
|
5 |
waveform_divisions |
|
6-10 |
Always |
|
11 |
waveform |
|
12 |
Usually |
|
13 |
beat_jump_beat_value |
See encodings section |
14-30 |
Always |
DjmMySetting Body#
The payload of the DJMMYSETTING.DAT
file is 52 bytes long and contains the main
settings for Pioneer mixers (DJM).
Byte |
Name |
Description |
---|---|---|
1-12 |
Usually |
|
13 |
channel_fader_curve |
|
14 |
cross_fader_curve |
|
15 |
headphones_pre_eq |
|
16 |
headphones_mono_split |
|
17 |
beat_fx_quantize |
|
18 |
mic_low_cut |
|
19 |
talk_over_mode |
|
20 |
talk_over_level |
See encodings section |
21 |
midi_channel |
|
22 |
midi_button_type |
|
23 |
display_brightness |
|
24 |
indicator_brightness |
|
25 |
channel_fader_curve_long |
|
26-52 |
Always |
DevSetting Body#
The DEVSETTING.DAT
file is not yet understood well. Its payload is 32 bytes long.
Encodings#
The auto-cue levels in the MYSETTING.DAT
files are encoded as follows:
Value |
Name |
---|---|
|
minus_36db |
|
minus_42db |
|
minus_48db |
|
minus_54db |
|
minus_60db |
|
minus_66db |
|
minus_72db |
|
minus_78db |
|
memory |
The languages in the MYSETTING.DAT
files are encoded as follows:
Value |
Name |
---|---|
|
english |
|
french |
|
english |
|
german |
|
italian |
|
dutch |
|
spanish |
|
russian |
|
korean |
|
chinese_simplified |
|
chinese_traditional |
|
japanese |
|
portuguese |
|
swedish |
|
czech |
|
hungarian |
|
danish |
|
greek |
|
turkish |
The beat jump beat value in the MYSETTING2.DAT
files are encoded as follows:
Value |
Name |
---|---|
|
half |
|
one |
|
two |
|
four |
|
eight |
|
sixteen |
|
thirtytwo |
|
sixtyfour |
The talk-over level in the DJMMYSETTING.DAT
files are encoded as follows:
Value |
Name |
---|---|
|
minus_24db |
|
minus_18db |
|
minus_12db |
|
minus_6db |