Button LEDS- creating a midi definition file for Virtual DJ

Hello! I just got my Yaeltex device and I’m mapping it on Virtual DJ to use as a controller. I’ve set all the encoders and analogs the way I want in Kilowhat. I can map the devices in Virtual DJ easily by turning an encoder or pressing a button to get the signal in Virtual DJ and then assigning whatever I want to it. However, I can’t figure out how to grab the LEDs for the buttons, so I can’t assign any functionality to them.

I’ve been reading up on how to define midi devices in Virtual DJ at
https://www.virtualdj.com/wiki/ControllerDefinitionMIDI.html but it’s complicated and I haven’t figured it out. Is there a way to generate an xml midi definition file from Kilowhat, or can anyone tell me how I can get these LEDs for mapping in Virtual DJ?

Thank you!

1 Like

For reference- when I activate a button or slider or encoder on the device, I can see that activity and map a function to that button/encoder etc in the VDJ Mapper. But I can’t figure out how to easily get the LED functions mapped.

Well, I eventually figured out most of it. I had to make a custom definition xml file and define all the buttons, encoders, sliders, and LEDs. In the examples on the Virtual DJ forum and in the manual, all the definitions were like <button note=“0x01” … but I needed to change those from “0x01” to “1”, “0x05” to “5” etc. In Kilowhat I changed the feedback behavior from fixed color to value to color. The only leds I’m having trouble getting to follow with virtual dj now are the rings around my encoders. Anyway, here’s some sample text of the virtual DJ definition in case anyone searches for this later.

<color cc="28" name="LED_BUT_SM_L_OUTER_R_1" deck= "1" values="1=red,39=green,82=blue,106=magenta,63=cyan,23=yellow,127=white,black=0,orange=8,darkred=124,darkgreen=49,darkyellow=22,darkcyan=72,darkmagenta=115,darkorange=10"/>
<color cc="29" name="LED_BUT_SM_L_OUTER_R_2" deck= "1" values="1=red,39=green,82=blue,106=magenta,63=cyan,23=yellow,127=white,black=0,orange=8,darkred=124,darkgreen=49,darkyellow=22,darkcyan=72,darkmagenta=115,darkorange=10"/>
<color cc="30" name="LED_BUT_SM_L_OUTER_R_3" deck= "1" values="1=red,39=green,82=blue,106=magenta,63=cyan,23=yellow,127=white,black=0,orange=8,darkred=124,darkgreen=49,darkyellow=22,darkcyan=72,darkmagenta=115,darkorange=10"/>
<color cc="31" name="LED_BUT_SM_L_OUTER_R_4" deck= "1" values="1=red,39=green,82=blue,106=magenta,63=cyan,23=yellow,127=white,black=0,orange=8,darkred=124,darkgreen=49,darkyellow=22,darkcyan=72,darkmagenta=115,darkorange=10"/>
<color cc="32" name="LED_BUT_SM_L_OUTER_R_5" deck= "1" values="1=red,39=green,82=blue,106=magenta,63=cyan,23=yellow,127=white,black=0,orange=8,darkred=124,darkgreen=49,darkyellow=22,darkcyan=72,darkmagenta=115,darkorange=10"/>
<color cc="33" name="LED_BUT_SM_L_OUTER_R_6" deck= "1" values="1=red,39=green,82=blue,106=magenta,63=cyan,23=yellow,127=white,black=0,orange=8,darkred=124,darkgreen=49,darkyellow=22,darkcyan=72,darkmagenta=115,darkorange=10"/>
<color cc="34" name="LED_BUT_SM_L_OUTER_R_7" deck= "1" values="1=red,39=green,82=blue,106=magenta,63=cyan,23=yellow,127=white,black=0,orange=8,darkred=124,darkgreen=49,darkyellow=22,darkcyan=72,darkmagenta=115,darkorange=10"/>
<color cc="35" name="LED_BUT_SM_L_OUTER_R_8" deck= "1" values="1=red,39=green,82=blue,106=magenta,63=cyan,23=yellow,127=white,black=0,orange=8,darkred=124,darkgreen=49,darkyellow=22,darkcyan=72,darkmagenta=115,darkorange=10"/>
1 Like

Hey @glenn.sloat, welcome to the forum and happy new year :slight_smile:

Wow, that VIRTUALDJ mapping looks like a complex but also a powerful process. Regarding the encoder rings, to control them remotely, you need to send back to the controller the same Continuos Control (CC) value that the encoder is sending to the software.

I would check the “LEDs” or “Progress bars and VU-meters” part on the VIRTUAL DJ Wiki link you’ve sent.

Hello Mateo. Ahh, thank you so much. I will look into that :slight_smile: