Quick Sign In:  

Forum: VirtualDJ Technical Support

Topic: Custom MIDI Controller LEDs

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

K0mixPRO InfinityMember since 2012
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
djdadPRO InfinityDevelopment ManagerMember since 2005
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.
 

geposted Sun 21 Jan 18 @ 2:07 pm
K0mixPRO InfinityMember since 2012
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!
 

geposted Sun 21 Jan 18 @ 11:40 pm
Can you tell me what you used for your mapping file?
 

geposted Mon 22 Jan 18 @ 5:22 pm
K0mixPRO InfinityMember since 2012
Just Notepad to create an .xml file, and referenced the Definition guide in the VDJ Wiki
 

geposted Mon 22 Jan 18 @ 8:00 pm
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
 

geposted Mon 22 Jan 18 @ 8:11 pm
K0mixPRO InfinityMember since 2012
Have you tested the MIDI is working on the Teensy with another program like MIDI Trace? Or just straight into a DAW?
 

geposted Mon 22 Jan 18 @ 8:17 pm
Yeah had it working without the definition file as SimpleMIDI before. Additionally, I tested with miditrace
 

geposted Mon 22 Jan 18 @ 8:58 pm
K0mixPRO InfinityMember since 2012
 

geposted Mon 22 Jan 18 @ 9:04 pm
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
 

geposted Mon 22 Jan 18 @ 9:10 pm
K0mixPRO InfinityMember since 2012
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!
 

geposted Mon 22 Jan 18 @ 9:16 pm
Yeah the teensy is pretty cool.
 

geposted Mon 22 Jan 18 @ 9:25 pm
So you create each physical device in the definitions .xml and then add it by VDJ software?
 

geposted Mon 22 Jan 18 @ 9:26 pm
K0mixPRO InfinityMember since 2012
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.
 

geposted Mon 22 Jan 18 @ 9:28 pm
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
 

geposted Mon 22 Jan 18 @ 9:29 pm
Wow ^^ That worked for me :)

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

Thank you very much both!
 

geposted Mon 22 Jan 18 @ 9:31 pm


(Alte Themen und Foren werden automatisch geschlossen)