Connexion rapide:  

Forum: VirtualDJ Plugins

Sujet Elgato's Stream Deck integration
DJ HeyePRO InfinityMember since 2017
My goal was to integrate Elgato's Stream Deck and Virtual DJ.
(https://www.elgato.com/en/gaming/stream-deck)

I did not want to use the (integrated) Hotkey functionality inside Stream Deck.
Instead I wanted to control VDJ with MIDI commands.

For this to accomplish you need two additional programs:

1 - A virtual MIDI cable/driver
2 - A MIDI 'transmitter'

I have chosen the following programs for that:

1 - loopMIDI from Tobias Erichsen (http://www.tobias-erichsen.de/software/loopmidi.html)
2 - Stream Deck MIDI plugin from from Trevliga Spel

All software is free for non commercial use.

Short installation instructions:

1 - Download/Install the Stream Deck software.
2 - Install the Midi plugin in Stream Deck
3 - Download/Install loopMIDI and create one MIDI port (remember the name for future reference, ex: LoopMidi1)
4 - Create a LoopMidi1 device 'driver' in the VDJ folder Devices (D:\Users\<username>\Documents\VirtualDJ\Devices)
Choose a free MIDI channel number.

Example:
<?xml version="1.0" encoding="UTF-8"?>
<device name="LoopMidi1" drivername="LoopMidi1" description="LoopMidi1" version="850" decks="0" author="XYZ" type="MIDI">
*****
<button note="36" channel="13" name="LM_1"/>
<button note="37" channel="13" name="LM_2"/>
<button note="38" channel="13" name="LM_3"/>
<button note="39" channel="13" name="LM_4"/>
<button note="40" channel="13" name="LM_5"/>
<button note="41" channel="13" name="LM_6"/>
<button note="42" channel="13" name="LM_7"/>
<button note="43" channel="13" name="LM_8"/>
*****
</device>

5 - Create a mapper file in the VDJ folder Mappers (D:\Users\<username>\Documents\VirtualDJ\Mappers)

Example:
<?xml version="1.0" encoding="UTF-8"?>
<mapper device="LoopMidi1" version="850" date="2020-08-08">
<map value="LM_1" action="deck 1 play" />
<map value="LM_2" action="deck 1 stop" />
</mapper>

6 - Create a Stream Deck Midi button (Note On/Off) with the following parameters:
Title: <any title>
Channel: 14
Key: 36[C2]
Velocity: 127
Button type: Hold
Midi Out port: loopmidi1

Explanation of the parameters:

Channel: 14 - MIDI channel
(strange thing happened with me, that it only responded on this channel 14
while the VDJ midi device file revers to channel 13. Maybe a bug?)

Key: 36[C2] - send note 36

Velocity: 127 - velocity value

Button type: Hold - (works best)

Midi out port: Loopmidi1 - midi device/port name configured in loopMIDI

7 - repeat step 6 and change only the Key parameter with 37[C#2/Db2]

That concludes this little tutorial.
Please add comments and/or suggestions for improvements.
 

Posté Sat 08 Aug 20 @ 6:50 pm
 

Posté Sat 08 Aug 20 @ 7:18 pm
Big shout out to DJ Heye for laying the foundation! I went ahead and populated a full Driver XML Template, Mapper Template, and 5 Profile Pages of baseline MIDI buttons in Elgato Stream Deck Profiles and then packaged them all up in this link for a free download.

Follow along the twenty minute video on how to make this happen with the resources I provide

https://djlefave.com/configure-elgato-stream-deck-as-a-midi-controller-for-virtual-dj/
 

Posté Wed 25 Nov 20 @ 4:01 am
 

Posté Wed 25 Nov 20 @ 5:53 pm
hey so its not a bug its a common misconception on how pc's count, and in programing 0 is a number not the absence of one so ...

when you
code in 0 you get out channel 1
code in 1 you get out channel 2
...
code in 13 and get out channel 14

hope that makes sense and wish every program just documented this little misconception better.
 

Posté Wed 19 Jan 22 @ 5:42 pm
Hi guys.

I need help.

I bought X-keys XK-24 streaming deck instead of Elgato's, because of the price and recommendations -https://streammentor.com/best-streaming-deck/.

Can you tell me how can I integrate this streaming deck with VirtualDJ?

Many thanks.
 

Posté Fri 03 Jun 22 @ 7:39 am
NAWTBOYPRO InfinityMember since 2003
Hey guys. What are the advantages of using midi rather than just using the macros inside elgato software?
 

Posté Fri 12 Aug 22 @ 9:28 pm
pimpled this out . if anyone needs help i linked shaders to it as well as samples 126 keys worth
 

Posté Fri 14 Oct 22 @ 3:36 am
NAWTBOY wrote :
Hey guys. What are the advantages of using midi rather than just using the macros inside elgato software?


For one, MIDI does not require you to have the focus on VDJ to execute a script.

 

Posté Thu 26 Jan 23 @ 2:45 pm
grountyControlleristMember since 2023
DJ Heye wrote :

Example:
<?xml version="1.0" encoding="UTF-8"?>
<device name="LoopMidi1" drivername="LoopMidi1" description="LoopMidi1" version="850" decks="0" author="XYZ" type="MIDI">
*****
<button note="36" channel="13" name="LM_1"/>
<button note="37" channel="13" name="LM_2"/>
<button note="38" channel="13" name="LM_3"/>
<button note="39" channel="13" name="LM_4"/>
<button note="40" channel="13" name="LM_5"/>
<button note="41" channel="13" name="LM_6"/>
<button note="42" channel="13" name="LM_7"/>
<button note="43" channel="13" name="LM_8"/>
*****
</device>


Hi DJ HEYE,
very nice work.

I am currently trying to get a Stream Deck + with VDJ to work.
I followed your instructions and it works for the buttons.
Here is some XML code to consider the Stream Deck control dials to work properly.


<slider cc="0x00" zero="0x40" name="ROTARY_KNOB_0" channel="13" />
<slider note="0x01" name="ROTARY_PRESS_0" channel="13" />
 

Posté Sun 17 Mar 24 @ 6:51 pm