According to the list of MIDI manufacturer IDs, Serato has a MIDI manufacturer ID of
[0x00, 0x20, 0x7F].
Controller manufacturers and Serato use this manufacturer ID to exchange sysex messages from the computer to the controller to trigger some functions of the controller.
Currently, the only identified System Exclusive MIDI message using this ID is described below.
It appears that Serato sends the
F0 00 20 7F 03 01 F7 sysex message to the Serato certified controllers to ask them to send back the status of each item on the control surface (the value of all knobs and sliders) which means:
After receiving this message, the controller sends back a MIDI message for each item (knob, slider, …) sending its current value.
// The SysEx message to send to the controller to force the midi controller // to send the status of every item on the control surface. var ControllerStatusSysex = [0xF0, 0x00, 0x20, 0x7F, 0x03, 0x01, 0xF7];
and send it at the end of your
init() function, after connections have been made:
// After midi controller receive this Outbound Message request SysEx Message, // midi controller will send the status of every item on the // control surface. (Mixxx will be initialized with current values) midi.sendSysexMsg(ControllerStatusSysex, ControllerStatusSysex.length);
This should make Mixxx match the state of your controller when Mixxx starts up and the mapping is loaded.