快速登录:  

Forum: VirtualDJ Technical Support

话题: Xone K2 controller mappings
Hello, I have been using virtual dj 8 with my xone k2 controller for a long time.
But after some recent update it stopped working.

For some strange reason all the names of the knobs and sliders are changed in virtual dj, so my custom mappings all stopped working. I tried to redo all the mappings but I am having a lot of trouble with it this time. I took me a long time to make all those mappings, especially for making all the leds work in multicolor.

Is there a simple way to fix my old mappings?
Or can I downgrade to an older version again?
 

发表时间 Sat 26 Feb 22 @ 1:00 pm
some more info ...

if I look in my old mappings the sliders are:
SLIDER_1_RED
SLIDER_2_RED
SLIDER_3_RED
SLIDER_4_RED

But now it seems to be renamed to
K22D_FADER_INNER and K22D_FADER_OUTER

I don't understand how this could happen, maybe I did something wrong or changed a setting on my controller?
 

发表时间 Sat 26 Feb 22 @ 1:19 pm
locoDogPRO InfinityModeratorMember since 2013
the built in definition for that device was updated recently, I can't recall the reason.
 

发表时间 Sat 26 Feb 22 @ 1:33 pm
Thanks for your answer.
I will keep trying to fix my mappings to work with the new definitions
If I get it working I will share it here
 

发表时间 Sat 26 Feb 22 @ 1:35 pm
It took me a few hours but I managed to customize the default mappings to my likings.
I post the XML file here, maybe I can help some people with it.

Things I changed:
button B: play_pause deck 1
button C: play_pause deck 2
button F: stop deck 1
button G: stop deck 2
button J & K: SYNC
button N: enable/disable headphones deck 1
button O: enable/disable headphones deck 2
button I: pitch+ deck 1
button M: pitch- deck 1
button L: pitch+ deck 2
button P: pitch- deck 2
and finally the knob bottom left now changes the master tempo (and syncs tracks)


<?xml version="1.0" encoding="UTF-8"?>
<mapper device="XONEK2" author="Atomix Productions" version="850" date="2022-02-26">
<info>https://www.virtualdj.com/manuals/hardware/allenheath/k2.html</info>
<map value="2DECKS_MODE" action="get_decks 2 ? true" />
<map value="4DECKS_MODE" action="get_decks 2 ? false : true" />
<map value="SHIFT" action="shift" />
<map value="LED_SHIFT" action="shift ? color &apos;orange&apos; : off" />
<map value="K2_MODE" action="toggle &apos;@$k2mode&apos;" />
<map value="SHIFT_K2_MODE" action="toggle &apos;@$k2topmode&apos;" />
<map value="LED_K2_MODE" action="shift ? var &apos;@$k2topmode&apos; ? color &apos;orange&apos; : color &apos;green&apos; : var &apos;@$k2mode&apos; ? color &apos;red&apos; : color &apos;green&apos;" />
<map value="K22D_MODE" action="toggle &apos;@$k22dmode&apos;" />
<map value="LED_K22D_MODE" action="var &apos;@$k22dmode&apos; ? color &apos;orange&apos; : color &apos;green&apos;" />
<map value="K2_ENCODER" action="effect_select 1 ? effect_select 1 : effect_select 2 ? effect_select 2 : effect_select 3 ? effect_select 3 : loop_double" />
<map value="K2_ENCODER_PUSH" action="effect_select 1 ? effect_select 1 : effect_select 2 ? effect_select 2 : effect_select 3 ? effect_select 3 : loop" />
<map value="SHIFT_K2_ENCODER" action="loop_move" />
<map value="LED_K2_ENCODER" action="effect_select 1 ? color &apos;orange&apos; : effect_select 2 ? color &apos;orange&apos; : effect_select 3 ? color &apos;orange&apos; : loop ? blink 500ms ? color &apos;green&apos; : off : color &apos;green&apos;" />
<map value="K22D_ENCODER_INNER" action="loop_double" />
<map value="K22D_ENCODER_PUSH_INNER" action="loop" />
<map value="SHIFT_K22D_ENCODER_INNER" action="loop_move" />
<map value="LED_K22D_ENCODER_INNER" action="loop ? blink 500ms ? color &apos;green&apos; : off : color &apos;green&apos;" />
<map value="K22D_ENCODER_OUTER" action="effect_select ? effect_select : effect_select 2 ? effect_select 2 : effect_select 3 ? effect_select 3 : filter" />
<map value="K22D_ENCODER_PUSH_OUTER" action="effect_select ? effect_select : effect_select 2 ? effect_select 2 : effect_select 3 ? effect_select 3 : filter 50%" />
<map value="LED_K22D_ENCODER_OUTER" action="filter 50% ? color &apos;green&apos; : color &apos;orange&apos;" />
<map value="K2_KNOB_1" action="var &apos;@$k2topmode&apos; ? effect_slider 1 : eq_high" />
<map value="K2_KNOB_2" action="var &apos;@$k2topmode&apos; ? effect_slider 2 1 : eq_mid" />
<map value="K2_KNOB_3" action="var &apos;@$k2topmode&apos; ? effect_slider 3 1 : eq_low" />
<map value="K2_BUTTON_1" action="var &apos;@$k2topmode&apos; ? effect_active 1 : eq_kill_high" />
<map value="K2_BUTTON_2" action="var &apos;@$k2topmode&apos; ? effect_active 2 : eq_kill_mid" />
<map value="K2_BUTTON_3" action="var &apos;@$k2topmode&apos; ? effect_active 3 : eq_kill_low" />
<map value="SHIFT_K2_BUTTON_1" action="var &apos;@$k2topmode&apos; ? effect_select 1 : eq_kill_high" />
<map value="SHIFT_K2_BUTTON_2" action="var &apos;@$k2topmode&apos; ? effect_select 2 : eq_kill_mid" />
<map value="SHIFT_K2_BUTTON_3" action="var &apos;@$k2topmode&apos; ? effect_select 3 : eq_kill_low" />
<map value="LED_K2_KNOB_1" action="var &apos;@$k2topmode&apos; ? effect_active 1 ? color &apos;orange&apos; : color &apos;green&apos; : eq_kill_high ? color &apos;red&apos; : off" />
<map value="LED_K2_KNOB_2" action="var &apos;@$k2topmode&apos; ? effect_active 2 ? color &apos;orange&apos; : color &apos;green&apos; : eq_kill_mid ? color &apos;red&apos; : off" />
<map value="LED_K2_KNOB_3" action="var &apos;@$k2topmode&apos; ? effect_active 3 ? color &apos;orange&apos; : color &apos;green&apos; : eq_kill_low ? color &apos;red&apos; : off" />
<map value="K22D_KNOB_1_INNER" action="eq_high" />
<map value="K22D_KNOB_2_INNER" action="eq_mid" />
<map value="K22D_KNOB_3_INNER" action="eq_low" />
<map value="K22D_BUTTON_1_INNER" action="eq_kill_high" />
<map value="K22D_BUTTON_2_INNER" action="eq_kill_mid" />
<map value="K22D_BUTTON_3_INNER" action="eq_kill_low" />
<map value="LED_K22D_KNOB_1_INNER" action="eq_kill_high ? color &apos;red&apos;" />
<map value="LED_K22D_KNOB_2_INNER" action="eq_kill_mid ? color &apos;red&apos;" />
<map value="LED_K22D_KNOB_3_INNER" action="eq_kill_low ? color &apos;red&apos;" />
<map value="K22D_KNOB_1_OUTER" action="effect_slider 1" />
<map value="K22D_KNOB_2_OUTER" action="effect_slider 2 1" />
<map value="K22D_KNOB_3_OUTER" action="effect_slider 3 1" />
<map value="K22D_BUTTON_1_OUTER" action="effect_active 1" />
<map value="K22D_BUTTON_2_OUTER" action="effect_active 2" />
<map value="K22D_BUTTON_3_OUTER" action="effect_active 3" />
<map value="LED_K22D_KNOB_1_OUTER" action="effect_active 1 ? color &apos;orange&apos; : color &apos;green&apos;" />
<map value="LED_K22D_KNOB_2_OUTER" action="effect_active 2 ? color &apos;orange&apos; : color &apos;green&apos;" />
<map value="LED_K22D_KNOB_3_OUTER" action="effect_active 3 ? color &apos;orange&apos; : color &apos;green&apos;" />
<map value="SHIFT_K22D_BUTTON_1_OUTER" action="effect_select 1" />
<map value="SHIFT_K22D_BUTTON_3_OUTER" action="effect_select 3" />
<map value="SHIFT_K22D_BUTTON_2_OUTER" action="effect_select 2" />
<map value="K2_BUTTON_ABCD" action="var &apos;@$k2mode&apos; ? hot_cue 1 : pitch_bend +2% 500ms" />
<map value="K2_BUTTON_EFGH" action="var &apos;@$k2mode&apos; ? hot_cue 2 : sync" />
<map value="K2_BUTTON_IJKL" action="var &apos;@$k2mode&apos; ? hot_cue 3 : cue_stop" />
<map value="K2_BUTTON_MNOP" action="var &apos;@$k2mode&apos; ? hot_cue 4 : play_pause" />
<map value="SHIFT_K2_BUTTON_ABCD" action="var &apos;@$k2mode&apos; ? delete_cue 1 : pitch_bend -2% 500ms" />
<map value="SHIFT_K2_BUTTON_EFGH" action="var &apos;@$k2mode&apos; ? delete_cue 2 : pitch_reset" />
<map value="SHIFT_K2_BUTTON_IJKL" action="var &apos;@$k2mode&apos; ? delete_cue 3 : goto_start" />
<map value="SHIFT_K2_BUTTON_MNOP" action="var &apos;@$k2mode&apos; ? delete_cue 4 : play_stutter " />
<map value="LED_BUTTON_ABCD" action="var &apos;@$k2mode&apos; ? hot_cue 4 ? color &apos;red&apos; : off : loaded ? play ? color &apos;green&apos; : blink ? off : color &apos;green&apos; : off" />
<map value="LED_BUTTON_EFGH" action="var &apos;@$k2mode&apos; ? hot_cue 3 ? color &apos;red&apos; : off : loaded ? play ? color &apos;red&apos; : cue ? color &apos;red&apos; : blink ? color &apos;red&apos; : off : off" />
<map value="LED_BUTTON_IJKL" action="var &apos;@$k2mode&apos; ? hot_cue 2 ? color &apos;red&apos; : off : loaded ? is_sync ? color &apos;green&apos; : off" />
<map value="LED_BUTTON_MNOP" action="var &apos;@$k2mode&apos; ? PFL ? color &apos;red&apos; : off" />
<map value="K22D_BUTTON_ABCD_OUTER" action="var &apos;@$k22dmode&apos; ? device_side &apos;left&apos; ? pad 1 : pad 5 : hot_cue 1" />
<map value="K22D_BUTTON_EFGH_OUTER" action="var &apos;@$k22dmode&apos; ? device_side &apos;left&apos; ? pad 2 : pad 6 : hot_cue 2" />
<map value="K22D_BUTTON_IJKL_OUTER" action="var &apos;@$k22dmode&apos; ? device_side &apos;left&apos; ? pad 3 : pad 7 : pitch_bend +2% 500ms" />
<map value="K22D_BUTTON_MNOP_OUTER" action="var &apos;@$k22dmode&apos; ? device_side &apos;left&apos; ? pad 4 : pad 8 : pitch_bend -2% 500ms" />
<map value="K22D_BUTTON_ABCD_INNER" action="var &apos;@$k22dmode&apos; ? device_side &apos;left&apos; ? pad 5 : pad 1 : play_pause" />
<map value="K22D_BUTTON_EFGH_INNER" action="var &apos;@$k22dmode&apos; ? device_side &apos;left&apos; ? pad 6 : pad 2 : cue_stop" />
<map value="K22D_BUTTON_IJKL_INNER" action="var &apos;@$k22dmode&apos; ? device_side &apos;left&apos; ? pad 7 : pad 3 : sync" />
<map value="K22D_BUTTON_MNOP_INNER" action="var &apos;@$k22dmode&apos; ? device_side &apos;left&apos; ? pad 8 : pad 4 : PFL" />
<map value="LED_BUTTON_IJKL_OUTER" action="var &apos;@$k22dmode&apos; ? device_side &apos;left&apos; ? pad 6 ? color &apos;orange&apos; : off : pad 2 ? color &apos;orange&apos; : off : shift ? pitch_bend -2% 500ms ? color &apos;orange&apos; : off : pitch_bend +2% 500ms ? color &apos;orange&apos; : off" />
<map value="LED_BUTTON_MNOP_OUTER" action="var &apos;@$k22dmode&apos; ? device_side &apos;left&apos; ? pad 8 ? color &apos;orange&apos; : off : pad 4 ? color &apos;orange&apos; : off : shift ? pitch_bend -2% 500ms ? color &apos;orange&apos; : off : pitch_bend -2% 500ms ? color &apos;orange&apos; : off" />
<map value="LED_BUTTON_ABCD_INNER" action="var &apos;@$k2mode&apos; ? hot_cue 4 ? color &apos;red&apos; : off : loaded ? play ? color &apos;green&apos; : blink ? off : color &apos;green&apos; : off" />
<map value="LED_BUTTON_EFGH_INNER" action="var &apos;@$k22dmode&apos; ? device_side &apos;left&apos; ? pad 7 ? color &apos;orange&apos; : off : pad 3 ? color &apos;orange&apos; : off : loaded ? play ? color &apos;red&apos; : cue ? color &apos;red&apos; : blink ? color &apos;red&apos; : off : off" />
<map value="LED_BUTTON_IJKL_INNER" action="var &apos;@$k22dmode&apos; ? device_side &apos;left&apos; ? pad 6 ? color &apos;orange&apos; : off : pad 2 ? color &apos;orange&apos; : off : loaded ? is_sync ? color &apos;green&apos; : off" />
<map value="LED_BUTTON_MNOP_INNER" action="var &apos;@$k22dmode&apos; ? device_side &apos;left&apos; ? pad 8 ? color &apos;orange&apos; : off : pad 4 ? color &apos;orange&apos; : off : PFL ? color &apos;red&apos; : off" />
<map value="SHIFT_K22D_BUTTON_ABCD_OUTER" action="var &apos;@$k22dmode&apos; ? device_side &apos;left&apos; ? padshift 1 : padshift 5 : delete_cue 1" />
<map value="SHIFT_K22D_BUTTON_EFGH_OUTER" action="var &apos;@$k22dmode&apos; ? device_side &apos;left&apos; ? padshift 2 : padshift 6 : delete_cue 2" />
<map value="SHIFT_K22D_BUTTON_IJKL_OUTER" action="var &apos;@$k22dmode&apos; ? device_side &apos;left&apos; ? padshift 3 : padshift 7 : delete_cue 3" />
<map value="SHIFT_K22D_BUTTON_MNOP_OUTER" action="var &apos;@$k22dmode&apos; ? device_side &apos;left&apos; ? padshift 4 : padshift 8 : delete_cue 4" />
<map value="SHIFT_K22D_BUTTON_ABCD_INNER" action="var &apos;@$k22dmode&apos; ? device_side &apos;left&apos; ? padshift 5 : padshift 1 : pitch_bend -2% 500ms" />
<map value="SHIFT_K22D_BUTTON_EFGH_INNER" action="var &apos;@$k22dmode&apos; ? device_side &apos;left&apos; ? padshift 6 : padshift 2 : pitch_reset" />
<map value="SHIFT_K22D_BUTTON_IJKL_INNER" action="var &apos;@$k22dmode&apos; ? device_side &apos;left&apos; ? padshift 7 : padshift 3 : goto_start" />
<map value="SHIFT_K22D_BUTTON_MNOP_INNER" action="var &apos;@$k22dmode&apos; ? device_side &apos;left&apos; ? padshift 8 : padshift 4 : play_stutter" />
<map value="K2_ENC_BTM_L" action="browser_scroll" />
<map value="K2_ENC_BTM_R" action="browser_scroll" />
<map value="K2_ENC_BTM_L_PUSH" action="holding ? browser_folder : browser_window &apos;folders&apos; ? browser_enter : deck 1 load" />
<map value="K2_ENC_BTM_R_PUSH" action="holding ? browser_folder : browser_window &apos;folders&apos; ? browser_enter : deck 2 load" />
<map value="SHIFT_K2_ENC_BTM_L_PUSH" action="browser_window &apos;folders&apos; ? browser_enter : deck 3 load" />
<map value="SHIFT_K2_ENC_BTM_R_PUSH" action="browser_window &apos;folders&apos; ? browser_enter : deck 4 load" />
<map value="SHIFT_K2_ENC_BTM_L" action="browser_window" />
<map value="SHIFT_K2_ENC_BTM_R" action="browser_window" />
<map value="SHIFT_K22D_ENC_BTM_L" action="var &apos;@$k22dmode&apos; ? deck left pad_page : browser_scroll" />
<map value="SHIFT_K22D_ENC_BTM_R" action="var &apos;@$k22dmode&apos; ? deck right pad_page : browser_scroll" />
<map value="K22D_ENC_BTM_L" action="param_greater 50% ? deck 1 pitch +0.001 &amp; deck 2 sync : deck 1 pitch -0.001 &amp; deck 2 sync" />
<map value="K22D_ENC_BTM_R" action="browser_scroll" />
<map value="K22D_ENC_BTM_L_PUSH" action="holding ? browser_folder : browser_window &apos;folders&apos; ? browser_enter : deck left load" />
<map value="K22D_ENC_BTM_R_PUSH" action="holding ? browser_folder : browser_window &apos;folders&apos; ? browser_enter : deck right load" />
<map value="K22D_FADER_INNER" action="level" />
</mapper>
 

发表时间 Sat 26 Feb 22 @ 6:39 pm