Serato DJ Pro General Discussion

Talk about Serato DJ Pro, expansion packs and supported hardware

Light output for Denon DN-S3700 in Hybrid Midi Mode.

WildcardX 6:40 PM - 23 March, 2019
Hi, I know Karl Y had helped some one some time back with a midi mapping for a piece of Denon Hardware some time ago and I am hoping he is still around. I remapped my Denon DN-S3700 players for a few functions and even thought the Enable Light Output is engaged it doesn't work. He mentioned in that thread that it may need another trigger so I am hoping he can hel here. The mapping may contain elements of my Mixars DUO MKII mapped to it as well and that is mostly fine except for the mapped FX buttons not lighting when pressed. I also noticed that the Play and Cue Buttons are not lighting as well so help with this will be a bonus. Here is the XML contents below.

<midi app=" 2.0.3.3285">
<control channel="9" event_type="Note On" control="6">
<case>
<condition>
<touch_effect_modifier deck_set="DJ Effects" deck_id="0" slot_id="3" operator="equal" cmp_value="off"/>
<effect_bank_mode deck_set="DJ Effects" deck_id="0" slot_id="0" operator="equal" cmp_value="Multi Mode"/>
</condition>
<userio event="click">
<effect_level_1_slot_enable deck_set="DJ Effects" deck_id="0" slot_id="3">
<translation action_on="press" behaviour="toggle"/>
</effect_level_1_slot_enable>
</userio>
<userio event="output">
<effect_slot_parameter_5_info_state deck_set="DJ Effects" deck_id="0" slot_id="3">
<translation action_on="any">
<alias name="on" value="127"/>
<alias name="off" value="0"/>
</translation>
</effect_slot_parameter_5_info_state>
</userio>
</case>
<case>
<condition>
<effect_bank_mode deck_set="DJ Effects" deck_id="0" slot_id="0" operator="equal" cmp_value="Single Mode"/>
</condition>
<userio event="click">
<effect_slot_parameter_5 deck_set="DJ Effects" deck_id="0" slot_id="0">
<translation action_on="any" behaviour="explicit"/>
</effect_slot_parameter_5>
</userio>
<userio event="output">
<effect_slot_parameter_5_info_state deck_set="DJ Effects" deck_id="0" slot_id="0">
<translation action_on="any">
<alias name="on" value="127"/>
<alias name="off" value="0"/>
</translation>
</effect_slot_parameter_5_info_state>
</userio>
</case>
<case>
<condition>
<effect_bank_mode deck_set="DJ Effects" deck_id="0" slot_id="0" operator="equal" cmp_value="Multi Mode"/>
<touch_effect_modifier deck_set="DJ Effects" deck_id="0" slot_id="3" operator="equal" cmp_value="on"/>
</condition>
<userio event="click">
<effect_level_1_slot_enable deck_set="DJ Effects" deck_id="0" slot_id="3">
<translation action_on="press" behaviour="static" static_value="on"/>
</effect_level_1_slot_enable>
</userio>
<userio event="output">
<effect_slot_parameter_5_info_state deck_set="DJ Effects" deck_id="0" slot_id="3">
<translation action_on="any">
<alias name="on" value="127"/>
<alias name="off" value="0"/>
</translation>
</effect_slot_parameter_5_info_state>
</userio>
</case>
</control>
<control channel="9" event_type="Note On" control="5">
<case>
<condition>
<touch_effect_modifier deck_set="DJ Effects" deck_id="0" slot_id="2" operator="equal" cmp_value="off"/>
<effect_bank_mode deck_set="DJ Effects" deck_id="0" slot_id="0" operator="equal" cmp_value="Multi Mode"/>
</condition>
<userio event="click">
<effect_level_1_slot_enable deck_set="DJ Effects" deck_id="0" slot_id="2">
<translation action_on="press" behaviour="toggle"/>
</effect_level_1_slot_enable>
</userio>
<userio event="output">
<effect_slot_parameter_4_info_state deck_set="DJ Effects" deck_id="0" slot_id="2">
<translation action_on="any">
<alias name="on" value="127"/>
<alias name="off" value="0"/>
</translation>
</effect_slot_parameter_4_info_state>
</userio>
</case>
<case>
<condition>
<effect_bank_mode deck_set="DJ Effects" deck_id="0" slot_id="0" operator="equal" cmp_value="Single Mode"/>
</condition>
<userio event="click">
<effect_slot_parameter_4 deck_set="DJ Effects" deck_id="0" slot_id="0">
<translation action_on="any" behaviour="explicit"/>
</effect_slot_parameter_4>
</userio>
<userio event="output">
<effect_slot_parameter_4_info_state deck_set="DJ Effects" deck_id="0" slot_id="0">
<translation action_on="any">
<alias name="on" value="127"/>
<alias name="off" value="0"/>
</translation>
</effect_slot_parameter_4_info_state>
</userio>
</case>
<case>
<condition>
<effect_bank_mode deck_set="DJ Effects" deck_id="0" slot_id="0" operator="equal" cmp_value="Multi Mode"/>
<touch_effect_modifier deck_set="DJ Effects" deck_id="0" slot_id="2" operator="equal" cmp_value="on"/>
</condition>
<userio event="click">
<effect_level_1_slot_enable deck_set="DJ Effects" deck_id="0" slot_id="2">
<translation action_on="press" behaviour="static" static_value="on"/>
</effect_level_1_slot_enable>
</userio>
<userio event="output">
<effect_slot_parameter_4_info_state deck_set="DJ Effects" deck_id="0" slot_id="2">
<translation action_on="any">
<alias name="on" value="127"/>
<alias name="off" value="0"/>
</translation>
</effect_slot_parameter_4_info_state>
</userio>
</case>
</control>
<control channel="9" event_type="Control Change" data_type="Absolute 7" control="0">
<case>
<condition>
<effect_bank_mode deck_set="DJ Effects" deck_id="0" slot_id="0" operator="equal" cmp_value="Single Mode"/>
</condition>
<userio event="click">
<effect_slot_parameter_1 deck_set="DJ Effects" deck_id="0" slot_id="0">
<translation action_on="any" behaviour="explicit"/>
</effect_slot_parameter_1>
</userio>
</case>
<case>
<condition>
<effect_bank_mode deck_set="DJ Effects" deck_id="0" slot_id="0" operator="equal" cmp_value="Multi Mode"/>
</condition>
<userio event="click">
<effect_level_1_slot_parameter_1 deck_set="DJ Effects" deck_id="0" slot_id="1">
<translation action_on="any" behaviour="explicit"/>
</effect_level_1_slot_parameter_1>
</userio>
</case>
</control>
<control channel="10" event_type="Note On" control="0">
<case>
<condition>
<touch_effect_modifier deck_set="DJ Effects" deck_id="1" slot_id="0" operator="equal" cmp_value="off"/>
<effect_bank_mode deck_set="DJ Effects" deck_id="1" slot_id="0" operator="equal" cmp_value="Single Mode"/>
</condition>
<userio event="click">
<effect_slot_enable deck_set="DJ Effects" deck_id="1" slot_id="0">
<translation action_on="press" behaviour="toggle"/>
</effect_slot_enable>
</userio>
<userio event="output">
<effect_slot_enable deck_set="DJ Effects" deck_id="1" slot_id="0">
<translation action_on="any">
<alias name="on" value="127"/>
<alias name="off" value="0"/>
</translation>
</effect_slot_enable>
</userio>
</case>
<case>
<condition>
<touch_effect_modifier deck_set="DJ Effects" deck_id="1" slot_id="0" operator="equal" cmp_value="on"/>
<effect_bank_mode deck_set="DJ Effects" deck_id="1" slot_id="0" operator="equal" cmp_value="Single Mode"/>
</condition>
<userio event="click">
<effect_slot_enable deck_set="DJ Effects" deck_id="1" slot_id="0">
<translation action_on="press" behaviour="static" static_value="on"/>
</effect_slot_enable>
</userio>
<userio event="output">
<effect_slot_enable deck_set="DJ Effects" deck_id="1" slot_id="0">
<translation action_on="any">
<alias name="on" value="127"/>
<alias name="off" value="0"/>
</translation>
</effect_slot_enable>
</userio>
</case>
<case>
<condition>
<effect_bank_mode deck_set="DJ Effects" deck_id="1" slot_id="0" operator="equal" cmp_value="Multi Mode"/>
<touch_effect_modifier deck_set="DJ Effects" deck_id="1" slot_id="1" operator="equal" cmp_value="off"/>
</condition>
<userio event="click">
<effect_level_1_slot_enable deck_set="DJ Effects" deck_id="1" slot_id="1">
<translation action_on="press" behaviour="toggle"/>
</effect_level_1_slot_enable>
</userio>
<userio event="output">
<effect_level_1_slot_enable deck_set="DJ Effects" deck_id="1" slot_id="1">
<translation action_on="any">
<alias name="on" value="127"/>
<alias name="off" value="0"/>
</translation>
</effect_level_1_slot_enable>
</userio>
</case>
<case>
<condition>
<effect_bank_mode deck_set="DJ Effects" deck_id="1" slot_id="0" operator="equal" cmp_value="Multi Mode"/>
<touch_effect_modifier deck_set="DJ Effects" deck_id="1" slot_id="1" operator="equal" cmp_value="on"/>
</condition>
<userio event="click">
<effect_level_1_slot_enable deck_set="DJ Effects" deck_id="1" slot_id="1">
<translation action_on="press" behaviour="static" static_value="on"/>
</effect_level_1_slot_enable>
</userio>
<userio event="output">
<effect_level_1_slot_enable deck_set="DJ Effects" deck_id="1" slot_id="1">
<translation action_on="any">
<alias name="on" value="127"/>
<alias name="off" value="0"/>
</translation>
</effect_level_1_slot_enable>
</userio>
</case>
</control>
<control channel="10" event_type="Note On" control="6">
<case>
<condition>
<touch_effect_modifier deck_set="DJ Effects" deck_id="1" slot_id="3" operator="equal" cmp_value="off"/>
<effect_bank_mode deck_set="DJ Effects" deck_id="1" slot_id="0" operator="equal" cmp_value="Multi Mode"/>
</condition>
<userio event="click">
<effect_level_1_slot_enable deck_set="DJ Effects" deck_id="1" slot_id="3">
<translation action_on="press" behaviour="toggle"/>
</effect_level_1_slot_enable>
</userio>
<userio event="output">
<effect_slot_parameter_5_info_state deck_set="DJ Effects" deck_id="1" slot_id="3">
<translation action_on="any">
<alias name="on" value="127"/>
<alias name="off" value="0"/>
</translation>
</effect_slot_parameter_5_info_state>
</userio>
</case>
<case>
<condition>
<effect_bank_mode deck_set="DJ Effects" deck_id="1" slot_id="0" operator="equal" cmp_value="Single Mode"/>
</condition>
<userio event="click">
<effect_slot_parameter_5 deck_set="DJ Effects" deck_id="1" slot_id="0">
<translation action_on="any" behaviour="explicit"/>
</effect_slot_parameter_5>
</userio>
<userio event="output">
<effect_slot_parameter_5_info_state deck_set="DJ Effects" deck_id="1" slot_id="0">
<translation action_on="any">
<alias name="on" value="127"/>
<alias name="off" value="0"/>
</translation>
</effect_slot_parameter_5_info_state>
</userio>
</case>
<case>
<condition>
<effect_bank_mode deck_set="DJ Effects" deck_id="1" slot_id="0" operator="equal" cmp_value="Multi Mode"/>
<touch_effect_modifier deck_set="DJ Effects" deck_id="1" slot_id="3" operator="equal" cmp_value="on"/>
</condition>
<userio event="click">
<effect_level_1_slot_enable deck_set="DJ Effects" deck_id="1" slot_id="3">
<translation action_on="press" behaviour="static" static_value="on"/>
</effect_level_1_slot_enable>
</userio>
<userio event="output">
<effect_slot_parameter_5_info_state deck_set="DJ Effects" deck_id="1" slot_id="3">
<translation action_on="any">
<alias name="on" value="127"/>
<alias name="off" value="0"/>
</translation>
</effect_slot_parameter_5_info_state>
</userio>
</case>
</control>
<control channel="10" event_type="Note On" control="5">
<case>
<condition>
<touch_effect_modifier deck_set="DJ Effects" deck_id="1" slot_id="2" operator="equal" cmp_value="off"/>
<effect_bank_mode deck_set="DJ Effects" deck_id="1" slot_id="0" operator="equal" cmp_value="Multi Mode"/>
</condition>
<userio event="click">
<effect_level_1_slot_enable deck_set="DJ Effects" deck_id="1" slot_id="2">
<translation action_on="press" behaviour="toggle"/>
</effect_level_1_slot_enable>
</userio>
<userio event="output">
<effect_slot_parameter_4_info_state deck_set="DJ Effects" deck_id="1" slot_id="2">
<translation action_on="any">
<alias name="on" value="127"/>
<alias name="off" value="0"/>
</translation>
</effect_slot_parameter_4_info_state>
</userio>
</case>
<case>
<condition>
<effect_bank_mode deck_set="DJ Effects" deck_id="1" slot_id="0" operator="equal" cmp_value="Single Mode"/>
</condition>
<userio event="click">
<effect_slot_parameter_4 deck_set="DJ Effects" deck_id="1" slot_id="0">
<translation action_on="any" behaviour="explicit"/>
</effect_slot_parameter_4>
</userio>
<userio event="output">
<effect_slot_parameter_4_info_state deck_set="DJ Effects" deck_id="1" slot_id="0">
<translation action_on="any">
<alias name="on" value="127"/>
<alias name="off" value="0"/>
</translation>
</effect_slot_parameter_4_info_state>
</userio>
</case>
<case>
<condition>
<effect_bank_mode deck_set="DJ Effects" deck_id="1" slot_id="0" operator="equal" cmp_value="Multi Mode"/>
<touch_effect_modifier deck_set="DJ Effects" deck_id="1" slot_id="2" operator="equal" cmp_value="on"/>
</condition>
<userio event="click">
<effect_level_1_slot_enable deck_set="DJ Effects" deck_id="1" slot_id="2">
<translation action_on="press" behaviour="static" static_value="on"/>
</effect_level_1_slot_enable>
</userio>
<userio event="output">
<effect_slot_parameter_4_info_state deck_set="DJ Effects" deck_id="1" slot_id="2">
<translation action_on="any">
<alias name="on" value="127"/>
<alias name="off" value="0"/>
</translation>
</effect_slot_parameter_4_info_state>
</userio>
</case>
</control>
</midi>
raedonquan 7:46 PM - 23 March, 2019
first map one button.... then open the autosave xml in dreamweaver or and text edit program.


where alias name on the value 127 is the midi code... so change that number to 10 then save that file... open sdj and load that map.. see if the button lit up.... it trial and error...


that what i had to do to find out the midi color outputs on the ddj xp1.. too me 4 hours


if you have the denon manual to the 3700 it gives you the hex code for the light out put all you have to do is change it from hex to cc


i had to do that with the sc2000.


good luck and have patients
WildcardX 7:52 PM - 23 March, 2019
Quote:
first map one button.... then open the autosave xml in dreamweaver or and text edit program.


where alias name on the value 127 is the midi code... so change that number to 10 then save that file... open sdj and load that map.. see if the button lit up.... it trial and error...


that what i had to do to find out the midi color outputs on the ddj xp1.. too me 4 hours


if you have the denon manual to the 3700 it gives you the hex code for the light out put all you have to do is change it from hex to cc


i had to do that with the sc2000.


good luck and have patients


Okay I will do that. Have to find that map again. Thank you for the input. I'll have to do that as you said.
raedonquan 7:53 PM - 23 March, 2019
serato.com



this should help
WildcardX 7:57 PM - 23 March, 2019
I think that's the incorrect link as it bring s me back to here.
raedonquan 8:01 PM - 23 March, 2019
try this one

serato.com
WildcardX 8:05 PM - 23 March, 2019
Quote:
try this one

serato.com

Yeah was looking at this link with the response from Karl Y. Couldn't figure out how to start. I just have to sit with it.
raedonquan 8:08 PM - 23 March, 2019
just copy that into you auto save file where the orginal poster said it worked.... i think 19 and 20 was the lighting code...


copy this into the auto xml file then save and rename it to 3700map

<control channel="5" event_type="Note On" control="24">
[u]
<cue_point deck_set="Default" deck_id="0" slot_id="1">
<translation action_on="any" behaviour="explicit"/>
</cue_point>
</userio>
</control>

<control channel="5" event_type="Note On" control="74">
[u]
<cue_point_set deck_set="Default" deck_id="0" slot_id="1">
<translation action_on="any">
<alias name="on" value="19"/>
<alias name="off" value="20"/>
</translation>
</cue_point_set>
</userio>
</control>
WildcardX 8:14 PM - 23 March, 2019
Ok will give it a shot and see. Thank you very much for the feedback. I appreciate it.
raedonquan 8:19 PM - 23 March, 2019
dont mix you xml file with your mixars mapping until you have the 3700 sorted out.. so you dont curupt it
WildcardX 8:20 PM - 23 March, 2019
Got it. I'll map one separately , one button at a time; and work on that.
WildcardX 1:39 PM - 24 March, 2019
Okay, tried it a few times, corrected errors I may have made but getting "Error loading XML" message. I've gone over it a few times before I returned here so I could say I did all within my competence. I wonder if it has something to do with how SDJ Pro now handles XML?
raedonquan 2:24 PM - 24 March, 2019
nope its your file... not saved right... what xml editor are you using?

dreamweaver works the best
WildcardX 3:03 PM - 24 March, 2019
I used the text editor in Linux Mint and Libre Office Writer. The first set of changes didn't throw an error but as I made more then it came. I used the XML from the Serato thread and it did not throw an error when I loaded it but did not bring up lighting. I'm not done exploring though.
WildcardX 6:49 PM - 1 April, 2019
Quick Post update.

I managed to get lighting working on all but one button by individual XML files for each lighted button to their function. The all round mapping generally works with a few conflicts with another mapping I am mixing it with that I have to add then remove midi maping for certain buttons on the Mixars DUO MKII I am using it with with for everything to work as I want. A small price to pay and I guess a pre-performance setup I have to do.

The problem now is combining those tested midi files to get one working midi map. If I can get some assistance with combining these working light output files with the mid map for the non-lighted buttons it would be greatly appreciated.
J.J. 9:34 PM - 1 April, 2019
Radikarl and I were only able to get 1 LED to work on Denon Equipment and Serato DJ. However, the MIDI Out to light all the LED's on Denon Equipment worked great in Scratch Live.

Please let me know if you are able to get more than 1 light to work.
WildcardX 9:39 PM - 1 April, 2019
Quote:
Radikarl and I were only able to get 1 LED to work on Denon Equipment and Serato DJ. However, the MIDI Out to light all the LED's on Denon Equipment worked great in Scratch Live.

Please let me know if you are able to get more than 1 light to work.

I've got all the lights I wanted to work with individual mapping but combining them doesn't work. I started by trying to combine the hot cue buttons I got working individually as FX triggers but when I put them together the XML was either invalid or doing odd stuff. When I combined the Play and Cue, they worked as individual files but only play would work.
WildcardX 6:04 PM - 3 April, 2019
Well after carefully rebuilding my XML to where I now get a legitimate file, the result of just one light working; in my case the Key Adjust light; works as we said before. So it looks like Serato DJ Pro doesn't play well with older hardware that is not officially supported and use "Control Change" for light output. I ended up just activating light output on the Play button and calling it a day. Well it was a good effort.