Anmelden:     


Forum: VirtualDJ Technical Support

Topic: Custom MIDI Controller LEDs

Dieses Thema ist veraltet und kann veraltete oder falsche Informationen enthalten.

I'm creating a MIDI controller from scratch for VirtualDJ, using a Teensy 3.2. My current struggle is getting VDJ8 to trigger an LED, or indeed send any kind of message that the Teensy can understand.

I currently have a setup which will trigger an LED when the Teensy receives any MIDI message via USB. I have proven that it works using MIDI-OX, see here for details https://tompushesbuttons1.tumblr.com/post/169946025206/teensy-midi-receive

My goal now is to test that VDJ can send MIDI to the Teensy. I randomly chose FX slot 1 on Deck 1 to be the trigger.

I have a created a definition file for the Teensy, which contains a button and an LED:
<device name="Teensy MIDI" author="TS" description="Teensy MIDI LEDtest0101" version="800" type="MIDI" singledeck="yes" padColumns="1" padRows="1" padSides="1" motor="no" decks="1" drivername="Teensy MIDI" vid="0x16C0
" pid="0x0485">
<button note="0x3C" name="FX1" deck="1"/> <!- MIDI note C4/60->*
<led note="0x3D" name="LED_FX1" channel="1" deck="2" /> <!- MIDI note C#4/61->*
</device>

I have mapped the LED with the following:
effect_active 1 ? on : off

My theory is that this should send a MIDI message to the Teensy whenever Effect 1 is active - but in practise, nothing happens. Where am I going wrong? Is there any way to debug/monitor messages sent by VDJ?

Any light shed is much appreciated! (pun unashamedly intended)

 

geposted Sun 21 Jan 18 @ 5:03 am
Shouldnt the LED_FX1 be deck="1" , same as the button ?
Are you sure its on MIDI channel 1 and not on MIDI channel 0 ? Try channel="0" in your definition.
Some applications/documents refer as Channels 1 to 16, but for VirtualDJ and most MIDI applications, its Channels 0 to 15 (0x00 to 0x0F)

You can try USBLyzer (Google it).. offers a trial period to test.
 

Problem solved by changing to MIDI channel 0 - and you're absolutely right, the Teensy/Arduino numbers the MIDI channels 1-16.
Good spot on the Deck number too, that wasn't helping.
I tried USBLyzer, and it's very useful for confirming what MIDI messages are being sent, great recommendation.

Thank you @djdad, you're a legend as ever!
 

Can you tell me what you used for your mapping file?
 

Just Notepad to create an .xml file, and referenced the Definition guide in the VDJ Wiki
 

I think I followed the wiki but my setup isn't fully working right now:

My device definition: (Pappenspieler.xml)
<?xml version="1.0" encoding="UTF-8"?>
<device name="Teensy MIDI" author="Tom" description="Teensy MIDI controller" version="800" type="MIDI" singledeck="yes" motor="no" decks="1" vid="0x16C0" pid="0x0489">
<slider cc="0x18" name="0-SLIDER24" deck="1"/>
</device>

My mapping: (Pappenspieler.xml)
<?xml version="1.0" encoding="UTF-8"?>
<mapper device="Teensy MIDI" author="Tom" version="800">
</mapper>


When I connect my controller to my PC and launch VDJ this is shown in the log:
MIDI Device Identifying: \\?\usb#vid_16c0&pid_0489&mi_02#7&25026acf&0&0002#{6994ad04-93ef-11d0-a3cc-00a0c9223196}\global (in:0 out:1)
MIDI Device Identified by PID/VID: \\?\usb#vid_16c0&pid_0489&mi_02#7&25026acf&0&0002#{6994ad04-93ef-11d0-a3cc-00a0c9223196}\global : Teensy MIDI controller

So when I look at this I think the controller is connected in a correct way. But when I open VDJ>options>Controllers I can't see the Teensy MIDI.
http://prntscr.com/i43njs
 

Have you tested the MIDI is working on the Teensy with another program like MIDI Trace? Or just straight into a DAW?
 

Yeah had it working without the definition file as SimpleMIDI before. Additionally, I tested with miditrace
 

 

I have the Pro monthly subscription o_O As far as I can tell taht should fit my needs. Using another acount for that btw
 

In that case I'm pretty much out of ideas sorry! I'm also quite new to all this.

My only other thought is that I do my mapping through VDJ itself, rather than writing the .xml. Maybe things get confused if you write the .xml from scratch? More chance of human error there if you don't get all the syntax right... I'm clutching at straws here though. Maybe start another topic, would be cool to see some more Teensy stuff around here!
 

Yeah the teensy is pretty cool.
 

So you create each physical device in the definitions .xml and then add it by VDJ software?
 

Yeah as I understand it, the definition tells VDJ what the MIDI messages coming off the Teensy mean, while the mapper tells VDJ what to do with the message. Don't think this is your issue though.
 

Scholli123 wrote :

My mapping: (Pappenspieler.xml)
<?xml version="1.0" encoding="UTF-8"?>
<mapper device="Teensy MIDI" author="Tom" version="800">
</mapper>

Since your device is not native to VirtualDj try to add at least ONE element on your mapper outside VirtualDj (with Notepad or whatever XML editor you're using)
Afterwards you should be able to see the mapper and all the available elements within VirtualDj
 

Wow ^^ That worked for me :)

Now all my faders, buttons... get recognized correclty.

Thank you very much both!
 



(Alte Themen und Foren werden automatisch geschlossen)