Serato DJ Pro General Discussion

Talk about Serato DJ Pro, expansion packs and supported hardware

Need help with MIDI mapping the REV7

Raef 5:29 AM - 19 March, 2023
Hi everyone,

I'm trying to get help please with MIDI mapping my REV7 to do some preferred functions.

The desired outcome is to have the following buttons ALWAYS with their lights on and have the Serato functions as follows:

HARDWARE BUTTON = SERATO FUNCTION
Channel 1 - Note 31 = Beat jump backward
Channel 1 - Note 28 = Beat jump forward
Channel 1 - Note 101 = 1/2 Beat Jump <<<<< I can't figure out the MIDI mapping for this
Channel 1 - Note 100 = x2 Beat Jump <<<<< I can't figure out the MIDI mapping for this
Channel 1 - Note 18 = 1/2 Loop Length
Channel 1 - Note 19 = x2 Loop Length
Channel 1 - Note 16 = Loop In
Channel 1 - Note 17 = Loop Out
Channel 2 - Note 31 = Beat jump backward
Channel 2 - Note 28 = Beat jump forward
Channel 2 - Note 101 = 1/2 Beat Jump <<<<< I can't figure out the MIDI mapping for this
Channel 2 - Note 100 = x2 Beat Jump <<<<< I can't figure out the MIDI mapping for this
Channel 2 - Note 18 = 1/2 Loop Length
Channel 2 - Note 19 = x2 Loop Length
Channel 2 - Note 16 = Loop In
Channel 2 - Note 17 = Loop Out

As you'll see from the XML file i'll post below, I have the majority of the above sorted, i just for the life of me can't figure out the MIDI mapping for 1/2 / x2 Beat Jump or how to keep the lights always on.

Any help is appreciated, thank you.


<midi app=" 3.0.0.767">
<control channel="2" event_type="Note On" control="19">
<userio event="click">
<loop_length_double deck_set="Default" deck_id="1" slot_id="0">
<translation action_on="press" behaviour="explicit"/>
</loop_length_double>
</userio>
<userio event="output">
<loop_length_double deck_set="Default" deck_id="1" slot_id="0">
<translation action_on="any">
<alias name="on" value="127"/>
<alias name="off" value="0"/>
</translation>
</loop_length_double>
</userio>
</control>
<control channel="2" event_type="Note On" control="18">
<userio event="click">
<loop_length_half deck_set="Default" deck_id="1" slot_id="0">
<translation action_on="press" behaviour="explicit"/>
</loop_length_half>
</userio>
<userio event="output">
<loop_length_half deck_set="Default" deck_id="1" slot_id="0">
<translation action_on="any">
<alias name="on" value="127"/>
<alias name="off" value="0"/>
</translation>
</loop_length_half>
</userio>
</control>
<control channel="2" event_type="Note On" control="28">
<userio event="click">
<beat_jump deck_set="Default" deck_id="1" slot_id="0">
<translation action_on="press" behaviour="static" static_value="forward"/>
</beat_jump>
</userio>
<userio event="output">
<beat_jump deck_set="Default" deck_id="1" slot_id="0">
<translation action_on="any">
<alias name="none" value="0"/>
<alias name="backward" value="0"/>
<alias name="forward" value="127"/>
</translation>
</beat_jump>
</userio>
</control>
<control channel="1" event_type="Note On" control="16">
<userio event="click">
<loop_in deck_set="Default" deck_id="0" slot_id="0">
<translation action_on="press" behaviour="explicit"/>
</loop_in>
</userio>
<userio event="output">
<loop_in deck_set="Default" deck_id="0" slot_id="0">
<translation action_on="any">
<alias name="on" value="127"/>
<alias name="off" value="0"/>
</translation>
</loop_in>
<loop_in deck_set="Default" deck_id="0" slot_id="0">
<translation action_on="any">
<alias name="on" value="127"/>
<alias name="off" value="0"/>
</translation>
</loop_in>
<loop_in deck_set="Default" deck_id="0" slot_id="0">
<translation action_on="any">
<alias name="on" value="127"/>
<alias name="off" value="0"/>
</translation>
</loop_in>
</userio>
</control>
<control channel="1" event_type="Note On" control="100">
<userio event="click">
<beat_jump_shift_range deck_set="Default" deck_id="0" slot_id="2">
<translation action_on="press" behaviour="explicit"/>
</beat_jump_shift_range>
</userio>
<userio event="output">
<beat_jump_shift_range deck_set="Default" deck_id="0" slot_id="2">
<translation action_on="any">
<alias name="on" value="127"/>
<alias name="off" value="0"/>
</translation>
</beat_jump_shift_range>
</userio>
</control>
<control channel="2" event_type="Note On" control="17">
<userio event="click">
<loop_out deck_set="Default" deck_id="1" slot_id="0">
<translation action_on="press" behaviour="explicit"/>
</loop_out>
</userio>
<userio event="output">
<loop_out deck_set="Default" deck_id="1" slot_id="0">
<translation action_on="any">
<alias name="on" value="127"/>
<alias name="off" value="0"/>
</translation>
</loop_out>
<loop_out deck_set="Default" deck_id="1" slot_id="0">
<translation action_on="any">
<alias name="on" value="127"/>
<alias name="off" value="0"/>
</translation>
</loop_out>
<loop_out deck_set="Default" deck_id="1" slot_id="0">
<translation action_on="any">
<alias name="on" value="127"/>
<alias name="off" value="0"/>
</translation>
</loop_out>
</userio>
</control>
<control channel="2" event_type="Note On" control="16">
<userio event="click">
<loop_in deck_set="Default" deck_id="1" slot_id="0">
<translation action_on="press" behaviour="explicit"/>
</loop_in>
</userio>
<userio event="output">
<loop_in deck_set="Default" deck_id="1" slot_id="0">
<translation action_on="any">
<alias name="on" value="127"/>
<alias name="off" value="0"/>
</translation>
</loop_in>
<loop_in deck_set="Default" deck_id="1" slot_id="0">
<translation action_on="any">
<alias name="on" value="127"/>
<alias name="off" value="0"/>
</translation>
</loop_in>
<loop_in deck_set="Default" deck_id="1" slot_id="0">
<translation action_on="any">
<alias name="on" value="127"/>
<alias name="off" value="0"/>
</translation>
</loop_in>
</userio>
</control>
<control channel="1" event_type="Note On" control="17">
<userio event="click">
<loop_out deck_set="Default" deck_id="0" slot_id="0">
<translation action_on="press" behaviour="explicit"/>
</loop_out>
</userio>
<userio event="output">
<loop_out deck_set="Default" deck_id="0" slot_id="0">
<translation action_on="any">
<alias name="on" value="127"/>
<alias name="off" value="0"/>
</translation>
</loop_out>
<loop_out deck_set="Default" deck_id="0" slot_id="0">
<translation action_on="any">
<alias name="on" value="127"/>
<alias name="off" value="0"/>
</translation>
</loop_out>
<loop_out deck_set="Default" deck_id="0" slot_id="0">
<translation action_on="any">
<alias name="on" value="127"/>
<alias name="off" value="0"/>
</translation>
</loop_out>
</userio>
</control>
<control channel="1" event_type="Note On" control="19">
<userio event="click">
<loop_length_double deck_set="Default" deck_id="0" slot_id="0">
<translation action_on="press" behaviour="explicit"/>
</loop_length_double>
</userio>
<userio event="output">
<loop_length_double deck_set="Default" deck_id="0" slot_id="0">
<translation action_on="any">
<alias name="on" value="127"/>
<alias name="off" value="0"/>
</translation>
</loop_length_double>
</userio>
</control>
<control channel="1" event_type="Note On" control="18">
<userio event="click">
<loop_length_half deck_set="Default" deck_id="0" slot_id="0">
<translation action_on="press" behaviour="explicit"/>
</loop_length_half>
</userio>
<userio event="output">
<loop_length_half deck_set="Default" deck_id="0" slot_id="0">
<translation action_on="any">
<alias name="on" value="127"/>
<alias name="off" value="0"/>
</translation>
</loop_length_half>
</userio>
</control>
<control channel="2" event_type="Note On" control="100">
<userio event="click">
<beat_jump_shift_range deck_set="Default" deck_id="1" slot_id="2">
<translation action_on="press" behaviour="explicit"/>
</beat_jump_shift_range>
</userio>
<userio event="output">
<beat_jump_shift_range deck_set="Default" deck_id="1" slot_id="2">
<translation action_on="any">
<alias name="on" value="127"/>
<alias name="off" value="0"/>
</translation>
</beat_jump_shift_range>
</userio>
</control>
<control channel="2" event_type="Note On" control="101">
<userio event="click">
<beat_jump_shift_range deck_set="Default" deck_id="1" slot_id="1">
<translation action_on="press" behaviour="explicit"/>
</beat_jump_shift_range>
</userio>
<userio event="output">
<beat_jump_shift_range deck_set="Default" deck_id="1" slot_id="1">
<translation action_on="any">
<alias name="on" value="127"/>
<alias name="off" value="0"/>
</translation>
</beat_jump_shift_range>
</userio>
</control>
<control channel="2" event_type="Note On" control="31">
<userio event="click">
<beat_jump deck_set="Default" deck_id="1" slot_id="0">
<translation action_on="press" behaviour="static" static_value="backward"/>
</beat_jump>
</userio>
<userio event="output">
<beat_jump deck_set="Default" deck_id="1" slot_id="0">
<translation action_on="any">
<alias name="none" value="0"/>
<alias name="backward" value="127"/>
<alias name="forward" value="0"/>
</translation>
</beat_jump>
</userio>
</control>
<control channel="1" event_type="Note On" control="101">
<userio event="click">
<beat_jump_shift_range deck_set="Default" deck_id="0" slot_id="1">
<translation action_on="press" behaviour="explicit"/>
</beat_jump_shift_range>
</userio>
<userio event="output">
<beat_jump_shift_range deck_set="Default" deck_id="0" slot_id="1">
<translation action_on="any">
<alias name="on" value="127"/>
<alias name="off" value="0"/>
</translation>
</beat_jump_shift_range>
</userio>
</control>
<control channel="1" event_type="Note On" control="28">
<userio event="click">
<beat_jump deck_set="Default" deck_id="0" slot_id="0">
<translation action_on="press" behaviour="static" static_value="forward"/>
</beat_jump>
</userio>
<userio event="output">
<beat_jump deck_set="Default" deck_id="0" slot_id="0">
<translation action_on="any">
<alias name="none" value="0"/>
<alias name="backward" value="0"/>
<alias name="forward" value="127"/>
</translation>
</beat_jump>
</userio>
</control>
<control channel="1" event_type="Note On" control="31">
<userio event="click">
<beat_jump deck_set="Default" deck_id="0" slot_id="0">
<translation action_on="press" behaviour="static" static_value="backward"/>
</beat_jump>
</userio>
<userio event="output">
<beat_jump deck_set="Default" deck_id="0" slot_id="0">
<translation action_on="any">
<alias name="none" value="0"/>
<alias name="backward" value="127"/>
<alias name="forward" value="0"/>
</translation>
</beat_jump>
</userio>
</control>
</midi>