Hi all,
ok I have now purchased the Intech TEK2 controller and trying to create a definition file. Simple Midi works, but since I also would like to get the LEDs to work, I am going the definition file route. Its my first time and I am struggling.
What I have so far.
<device name="GRID" author="SoundSilence" description="Grid Controller" version="800" type="MIDI" vid="EE0x303a" pid="0x8123" >
The controller is recognised by VDJ when I start it up, so vid and pid seems to be right.
Then I started to define a button. E.g. button 1 on the controller was shown in Simple Midi as "0-BUTTON36" (on/off).
Midi Monitor shows:
Source: From Grid
Message: Note On
Chan: 1
Data: C1 127
My first line then was:
<button note="0x36" name="PLAY" channel="1" deck="1" />
However, VDJ is not reacting and also when pushing the button there are no entries in the "Activity" field in the controller mapping page.
What am I doing wrong?
Thank you for help.
ok I have now purchased the Intech TEK2 controller and trying to create a definition file. Simple Midi works, but since I also would like to get the LEDs to work, I am going the definition file route. Its my first time and I am struggling.
What I have so far.
<device name="GRID" author="SoundSilence" description="Grid Controller" version="800" type="MIDI" vid="EE0x303a" pid="0x8123" >
The controller is recognised by VDJ when I start it up, so vid and pid seems to be right.
Then I started to define a button. E.g. button 1 on the controller was shown in Simple Midi as "0-BUTTON36" (on/off).
Midi Monitor shows:
Source: From Grid
Message: Note On
Chan: 1
Data: C1 127
My first line then was:
<button note="0x36" name="PLAY" channel="1" deck="1" />
However, VDJ is not reacting and also when pushing the button there are no entries in the "Activity" field in the controller mapping page.
What am I doing wrong?
Thank you for help.
Posté 2 days ago @ 3:02 pm
Which midi monitor?, a lot of them get it wrong and say the first midi channel is 01, the first midi channel is actually channel 00
Also your VID starting EE0x doesn't make sense, it should start 0x
Also are you sure the note is 0x36, not note 36 which would be 0x24
Also your VID starting EE0x doesn't make sense, it should start 0x
Also are you sure the note is 0x36, not note 36 which would be 0x24
Posté 2 days ago @ 3:12 pm
Hi locodog, thanks for your reply.
Sorry for the confusion. Ignore the "EE", I had added that to quickly switch to the Simple Midi mapping again.
I used the midi monitor here: https://www.snoize.com/MIDIMonitor/
You are right, it is note 36. Simple Midi said "0-BUTTON36". I tried now with 0x24, but it still does not work.
This is the actual file:
<device name="GRID" author="SoundSilence" description="Grid Controller" version="800" type="MIDI" vid="0x303a" pid="0x8123" decks="2" >
<button note="0x24" name="PLAY1" channel="1" deck="1" />
</device>
Any more idea?
Sorry for the confusion. Ignore the "EE", I had added that to quickly switch to the Simple Midi mapping again.
I used the midi monitor here: https://www.snoize.com/MIDIMonitor/
You are right, it is note 36. Simple Midi said "0-BUTTON36". I tried now with 0x24, but it still does not work.
This is the actual file:
<device name="GRID" author="SoundSilence" description="Grid Controller" version="800" type="MIDI" vid="0x303a" pid="0x8123" decks="2" >
<button note="0x24" name="PLAY1" channel="1" deck="1" />
</device>
Any more idea?
Posté 2 days ago @ 3:48 pm
channel="0"
Posté 2 days ago @ 3:49 pm
Oh wow, I tried channel 0 as you mentioned, and now it works!
<button note="0x24" name="PLAY1" channel="0" deck="1" />
Thanks!
Can you give me a hint how I can then now tell the corresponding LED to turn ON when the deck is running?
<button note="0x24" name="PLAY1" channel="0" deck="1" />
Thanks!
Can you give me a hint how I can then now tell the corresponding LED to turn ON when the deck is running?
Posté 2 days ago @ 3:50 pm
note and channel for the LED?,
if the same as the input
<led note="0x24" channel="0x00" name="LED_PLAY1" default="PLAY1" deck="1" />
default means it will just look at the state of the play1 button script logic and just follow that, as long as another script hasn't been assigned to the LED
if the same as the input
<led note="0x24" channel="0x00" name="LED_PLAY1" default="PLAY1" deck="1" />
default means it will just look at the state of the play1 button script logic and just follow that, as long as another script hasn't been assigned to the LED
Posté 2 days ago @ 4:08 pm
Thanks. I tried that, doesnt work.
The Intech controller is very complex, especially as all buttons and LED are configurable within the Grid Editor. I tried listening on any midi events that are sent from VDJ, e.g. when one deck is playing, but it seems VDJ is not sending anything.
Any more ideas?
The Intech controller is very complex, especially as all buttons and LED are configurable within the Grid Editor. I tried listening on any midi events that are sent from VDJ, e.g. when one deck is playing, but it seems VDJ is not sending anything.
Any more ideas?
Posté 2 days ago @ 5:32 pm
script the LED to
blink
blink
Posté 2 days ago @ 5:40 pm
Hm, I am afraid I dont understand what you mean.
The Grid Editor for the controller needs an incoming midi event, so that I can assign that to lighting the LED.
Why is VDJ not sending midi events?
The Grid Editor for the controller needs an incoming midi event, so that I can assign that to lighting the LED.
Why is VDJ not sending midi events?
Posté 2 days ago @ 5:47 pm
in the mapping window, go to the LED entry and give it the script
blink
blink
Posté 2 days ago @ 5:51 pm
Does not work.
As I said there needs to be a midi message sent to the controller. If I knew which one VDJ sends (if it does), then I could edit the controller accordingly.
As I said there needs to be a midi message sent to the controller. If I knew which one VDJ sends (if it does), then I could edit the controller accordingly.
Posté 2 days ago @ 6:00 pm
blink
is a message, it will make the LED entry blink on/off which will send midi out on the channel and note defined.
is a message, it will make the LED entry blink on/off which will send midi out on the channel and note defined.
Posté 2 days ago @ 6:28 pm
Ok, I tried, also with blink. There is no midi sent out from VDJ to the controller.
Can it be that only build in definitions send midi, and manual added definitions not?
Can it be that only build in definitions send midi, and manual added definitions not?
Posté 2 days ago @ 10:07 pm
post your def so far.
also your mapping
definition files whole reason for existing is midi out.
also your mapping
definition files whole reason for existing is midi out.
Posté 2 days ago @ 10:25 pm
Ok, I have:
<device name="GRID" author="SoundSilence" description="Grid Controller" version="800" type="MIDI" vid="0x303a" pid="0x8123" decks="2" >
<button cc="0x20" name="PLAY1" channel="0" deck="1" />
<led cc="0x20" value="0x5C" name="LED_PLAY1" channel="0" default="PLAY1" deck="1" />
</device>
Note: I changed the corresponding button on the controller to cc32, it works fine. The LED should have the same address. I am not sure about the value though.
Mapping:
<?xml version="1.0" encoding="UTF-8"?>
<mapper device="GRID" version="850" date="2025-06-02">
<map value="PLAY1" action="deck 1 play ? stop : play" />
<map value="LED_PLAY1" action="blink" />
</mapper>
I tried also "play" or "play ? on : off" as values for "LED_PLAY1", no change.
Hope this is helpful.
I am also confused as in midi monitor I can never see any messages coming from VDJ. Is there another way to see that VDJ is actually sending midi messages?
Thanks.
<device name="GRID" author="SoundSilence" description="Grid Controller" version="800" type="MIDI" vid="0x303a" pid="0x8123" decks="2" >
<button cc="0x20" name="PLAY1" channel="0" deck="1" />
<led cc="0x20" value="0x5C" name="LED_PLAY1" channel="0" default="PLAY1" deck="1" />
</device>
Note: I changed the corresponding button on the controller to cc32, it works fine. The LED should have the same address. I am not sure about the value though.
Mapping:
<?xml version="1.0" encoding="UTF-8"?>
<mapper device="GRID" version="850" date="2025-06-02">
<map value="PLAY1" action="deck 1 play ? stop : play" />
<map value="LED_PLAY1" action="blink" />
</mapper>
I tried also "play" or "play ? on : off" as values for "LED_PLAY1", no change.
Hope this is helpful.
I am also confused as in midi monitor I can never see any messages coming from VDJ. Is there another way to see that VDJ is actually sending midi messages?
Thanks.
Posté 2 days ago @ 6:10 am
Hey Locodog, I found the solution!
There was a hidden setting in the controller editor that actually switched OFF receiving MIDI. Oh my...
So now it works!
Thanks for your support!
There was a hidden setting in the controller editor that actually switched OFF receiving MIDI. Oh my...
So now it works!
Thanks for your support!
Posté yesterday @ 7:09 am
Sound&Silence wrote :
<led cc="0x20" value="0x5C" name="LED_PLAY1" channel="0" default="PLAY1" deck="1" />
Unless this is an RGB led where each value is a different color, then for the vast majority of LEDs, value would/should be 0x7F (127 decimal)
Also a lot of devices use one of the followng two logics:
0=OFF, Any other value=ON
7F=ON, Any other value=OFF
If your led works with value=0x5C, then it mostl likely falls to the first logic.
Try to use value=0x7F, and if the LED works as expected, use that value for ALL leds.
BTW: VirtualDJ groups the buttons that appear on the same deck automatically.
You don't have to define PLAY1, PLAY2, PLAY3 and PLAY4 in order to have "4 different play buttons, one for each deck"
The best way to do this,is to give the SAME name on all four buttons.
By using your code as an example you can write
<button cc="0x20" name="PLAY1" channel="0" deck="1" />
<button cc="0x20" name="PLAY2" channel="1" deck="2" />
<button cc="0x20" name="PLAY3" channel="2" deck="3" />
<button cc="0x20" name="PLAY4" channel="3" deck="4" />
OR
<button cc="0x20" name="PLAY" channel="0" deck="1" />
<button cc="0x20" name="PLAY" channel="1" deck="2" />
<button cc="0x20" name="PLAY" channel="2" deck="3" />
<button cc="0x20" name="PLAY" channel="3" deck="4" />
The FIRST way is the WRONG way to do it.
The SECOND one is the CORRECT one.
Finally when your definition has deck="1" or deck="2" e.t.c. on elements, then on your mapper, you don't need to repeat the deck.
In other words, on your mapper you DON'T need to type <map value="PLAY1" action="deck 1 play ? stop : play" />
Instead you can type <map value="PLAY1" action="play ? stop : play" />
VirtualDJ knows on which deck yo apply the map because of the definition.
On the mapper, you specify deck only when you want to overide the deck that's on the definition file.
PS: That's why you can combine all "PLAY" buttons under one name.
VirtualDJ applies the action to the correct deck by looking up the deck on the definition. ;)
Posté yesterday @ 11:27 am
Sound&Silence wrote :
Hey Locodog, I found the solution!
Congrats, you now 'own' this software a little bit more.
Get those encoders working also the attached LED s [which I guess you'll use a <bar> element for].
Then grab yourself a beer for a difficult job done.
Posté yesterday @ 12:41 pm