My-Setting Files Format#
This document explains the file format of the following Rekordbox My-Setting files:
DEVSETTING.DATDJMMYSETTING.DATMYSETTING.DATMYSETTING2.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 |