Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

Sign In with Twitter

Need help writing virtual dj controller definition file

edited March 2019 in Hardware

Hi there, I'm working with following documentation, trying to get my LED's going on my Block while it's connected to Virtual DJ.

I've got the following rudimentary controller definition file created, and really I'm just trying to get 1 button working, once I figure that out I should be able to handle the rest of the xml scripting. 

<?xml version="1.0" encoding="UTF-8"?>
<device name="Block" author="Livid" sysexid="F0 7E 00 06 02 00 01 61 01 00 03 00 07 03 01 00 F7" type="MIDI" drivername="Block" decks="2">
    <led note="0x00" name="LED_0-BUTTON0" />
    <button note="0x00" name="0-BUTTON0" />

I've gotten to mapping the hardware just fine and would like to get the LEDs triggering. 
I'm having a hard time making sense of section 6.2 of the Block documentation, with respect to the authoring of the virtual dj controller definition file. 



  • By default, the leds on the 8x8 grid respond to notes 0-63 on midi channel 1 (0x00).

    Values above 64 turn the LED on, and values below 64 turn the LED off.

    You can alternatively turn the leds on/off using sysex messages.
    This method changes all LEDs at once.

    All LEDs On:
    [240, 0, 1, 97, 3, 4, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 247]

    All LEDs Off:
    [240, 0, 1, 97, 3, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 247]

    Let us know if we can help you more with this!
  • edited March 2019

    I am still misunderstanding something. 
    Can you correct the following LED Definition, to what it should be to turn on LED 00?

    <led note="0x00" cc="0x00" value="0x64" ccoff="0x00" name="LED_0-BUTTON0" />

    • note - the MIDI note
    • cc - the MIDI cc
    • value - the CC value
    • ccoff - (optional) a different MIDI cc to which to send "value" to turn the LED off


    Alternatively, I couldn't figure out the ledsysex definition either;

    <ledsysex value="F0 00 01 61 03 09 00 00 00 F7">
    <led sendstatic="true" name="LED_0-BUTTON0" bit="0x00" deck="1"/>

    I am unsure what bit should be, and also unsure how to figure out column/row CR in the value string to map a single LED; F0 00 01 61 03 09 LL HH CR F7
  • The message that you are referring to is designed to change the MIDI Mapping of individual LEDs. It does not control it's state.

    You can control led state of all LEDs, using the message detailed in the Livid Support message from March 8th.
    There is no sysex message that can turn on/off a single LED.

    You can control the state of individual LEDs using standard MIDI Messages
    (By default this is Note messages, though the leds can be reconfigured by CC messages.)

    With block's default settings, I turn the top-left button of the 8x8 grids led to on using the following message:
    [0x90, 0x00, 0x7F]
    I turn it off using this message
    [0x90, 0x00, 0x00]

    On a side note, the CR codes are listed in the sysex section of the Block User Guide.
    You shouldn't really need them to light leds, though.

    When converting CR codes to hex, each number gets it's own 'hex' digit, and must be subtracted by one.

    So 1.1 translated to sysex becomes 0x00.
    Similarly 5.8 translated to sysex becomes 0x47.

    let us know if we can help you more with this.
Sign In or Register to comment.