This is an old revision of the document!
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. Using this after the input connections has been done matches the mixxx controls to the controls on the controller.
// 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 has 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);