QLCplus with VirtualDJ, via Artnet

This is a place for sharing with the community the results you achieved with QLC+, as a sort of use case collection.
You can share photos, videos, personal hardware/software projects, interesting HOWTO that might help other users to achieve great results.
juski
Posts: 50
Joined: Wed Jun 24, 2015 10:28 pm
Real Name: Justin Hornsby

I've been using QLC+ for about 3 years to control my mobile dj lighting & I love it to bits. A couple of guys set about making a plugin for VirtualDJ to output artnet so that points of interest can be set in tracks to trigger lighting programs. I've been using a beta version of the plugin for ages.

Here's an example of something I rushed together for The Greatest Show track (I hate it but sometimes get asked to play it). I thought it'd be nice to give it a little more impact.. so here goes..



The rest of my rig does other things - all the VDJ plugin does is send artnet which triggers buttons on my virtual console. It's not as tight as a timecoded track but close enough for a mobile DJ - it doesn't help when a track isn't metronomic!

Here's a video about how it all works: https://vimeo.com/216547742
User avatar
mcallegari
Posts: 4710
Joined: Sun Apr 12, 2015 9:09 am
Location: Italy
Real Name: Massimo Callegari
Contact:

Hi Justin, thanks a lot for sharing !
Any chance you can point us to the VDJ ArtNet plugin you mentioned so that other users can benefit from the cool features you've shown us ?

Nitpick: instead of referencing ArtNet channel numbers (which is not mnemonic at all), you could create a custom QLC+ input profile and give channels a name. Much easier to remember and to understand ;)
juski
Posts: 50
Joined: Wed Jun 24, 2015 10:28 pm
Real Name: Justin Hornsby

Thanks Massimo.

The VDJ plugin can be downloaded from here: https://www.kepler22b.uk/vdjartnet/

Instructions & other files can be found here:

https://github.com/VDJartnet/VDJartnet

It's on its way to becoming an official plugin for VDJ, just as they've (virtualDJ) added OS2L support in an early release version. It's great they added some sort of native lighting support but I have my doubts about any protocol with autodiscovery etc (I know how 'well' it works for wireless printing etc)

BTW thanks for the tip about creating an input profile - I forgot you can do that!

I guess that's one advantage of OS2L... you can send button names instead of channel numbers. naming channels in QLC+ is all very well, but I'll still have to remember which artnet channel they are to send from virtualDJ. Further edit: I think they slightly missed a trick with OS2L - I just had an idea it'd be neat if you could use it to send function calls rather than button names - eg "run {%QLCFUNCTIONNAME%}"
juski
Posts: 50
Joined: Wed Jun 24, 2015 10:28 pm
Real Name: Justin Hornsby

Here's another (older) video -

Just shows what's possible - all this was just VDJ sending artnet to QLC telling it to run chases I'd programmed. No timecode, only points of interest in VDJ!
Web
Posts: 7
Joined: Tue Apr 24, 2018 8:55 am
Real Name: Rob Webster

What settings did you use in VDJ to send artnet to QLC?

W
juski
Posts: 50
Joined: Wed Jun 24, 2015 10:28 pm
Real Name: Justin Hornsby

You need a plugin described earlier in this thread. There is no setting in VDJ as such.
cnayl
Posts: 2
Joined: Mon Aug 13, 2018 7:34 pm
Real Name:

It would be great if a simple step by step guide to set this up was available - I'm new to both QLC+ and Artnet (and never yet used VDJ scripting) and spent over a day trying to figure out how to set up using what documentation I found online, but was unable to get any results. For someone that didn't create/work on this it seems a bit vague as to what exactly needs to be done. I'm sure it's really easy if you know the exact things to do!
cnayl
Posts: 2
Joined: Mon Aug 13, 2018 7:34 pm
Real Name:

Just tired using the info on VDJ forums and works pretty well. Only question I have is how to turn things off - I tried sending then resending, assuming it would toggle the buton, but that doesn't happen?

https://virtualdj.com/forums/190251/Vir ... _Mac_.html
User avatar
fooschnickens
Posts: 73
Joined: Fri Aug 14, 2015 2:39 am
Real Name: Taylor

cnayl wrote: Tue Aug 28, 2018 10:31 am Just tired using the info on VDJ forums and works pretty well. Only question I have is how to turn things off - I tried sending then resending, assuming it would toggle the buton, but that doesn't happen?

https://virtualdj.com/forums/190251/Vir ... _Mac_.html
You may need to either create a duplicate button for each triggered effect that turns that effect off (eg Button 1: par 1 Red 100%, Button 2: par 1 Red 0%, etc) or group your trigger buttons by type/effect in solo frames and include a blackout button for each frame.
User avatar
EXELBONSAI
Posts: 48
Joined: Fri Jul 20, 2018 9:33 am
Location: Berlin
Real Name:
Contact:

Since we are all happy about the 64 bit version of VDJ ...
Is there a compatible version of VDJArtnet soon?
juski
Posts: 50
Joined: Wed Jun 24, 2015 10:28 pm
Real Name: Justin Hornsby



Just a little look inside one of my 'musical phrase' chases. Am I crazy? Lol

I might be, but I don't know of an easier way to achieve the desired effect...

Chases of chases & scenes. Am I the only one using qlcplus like this? Am I being cruel to qlc? I must say that qlc does a brilliant job of keeping up with it all - most of that sequence is made from chases which fade between states too.
bluescreen25
Posts: 55
Joined: Fri Jul 21, 2017 4:52 pm
Real Name: Ralf Janssen

I am on the way to do other way. Its a cool feature to do with cue-Points in VDJ but you must set for each track. Sometimes for special tracks i do but what i want, is to have some interest pattern for most of dance tracks without to set cue-points. There are some interesting things like rekordbox phrase analysis or SoundSwitch on the market for mobile djs.

But its also possible to get some interesting things out of Virtual DJ through its VDJScript inserted in the VDJArtnet plugin presets. Have a look on photos.
My wish is not to get only the beats out of 8,16,32,64,128 . I think there are possibilities to get Into, Up, Main and Out of a song via a combination of beat bar positions and beat intensity and so on..... (VDJ Script: get_beat_bar, get_beat_counter, get_beat_num, get_beatgrid, get_beatpos and so on).

Someone interested in testing and coding some interesting presets for VDJArtnet plugin ?

@QLC+ : some cool pre-lighting makros such as in rekordbox where it takes the available fixtures and do some complete lighting in makro-steps as low,high,hot and so on....this can be a cool feature in V5.... I think, that the monopol solutions of rekordbox or soundswitch are not necessary to get cool mobile dj lighting. As in some time the DJ-Software will analyse the track and we get via script "get_track_intro" or "get_track_main" and so on...

regards, Ralf
Attachments
IMG_20180916_105307.jpg
IMG_20180916_105208.jpg
IMG_20180916_105201.jpg
Last edited by bluescreen25 on Sun Sep 16, 2018 10:08 am, edited 2 times in total.
bluescreen25
Posts: 55
Joined: Fri Jul 21, 2017 4:52 pm
Real Name: Ralf Janssen

and here the Profil in QLC+

regards, Ralf
Attachments
IMG_20180916_111500.jpg
dickykitch
Posts: 1
Joined: Fri Sep 28, 2018 11:40 am
Real Name: Richard Kitchin

Hi,

Having previously used the VDJ - freestyler plugin, I've been playing around with VDJartnet to QLC+ as an 'upgrade'. I've got the beat grid syncing by connecting the appropriate artnet channel to the tap input of a speed dial widget. However, when I send this as a duration to a function, the duration factor doesn't seem to work correctly. So if I want a function to step every 4th beat for example, setting the duration factor to 4 doesn't seem to work. Anyone else see the same thing?

Thanks
Rich
bluescreen25
Posts: 55
Joined: Fri Jul 21, 2017 4:52 pm
Real Name: Ralf Janssen

Here i made some example presets which can do some jobs.....such as get and send:
- every first beat of 4 or 8 or 16 or 32 beats audible
- every first beat of 16 + Beat-Level (Peak) >50% audible
- stay every first 8 of 16 beats audible
- stay every last 8 of 16 beats audible
- stay every first 16 of 32 beats audible
- stay every last 16 of 32 beats audible

- all Peaks >35% of Intro 32 beats audible
Intro means the first 32 Beats of the track.
You need the helper preset where i set a variable. Put the helper line in a deeper line only. Do not use this channel in QLC+)

- every first beat of 16 beats after Intro 32 audible

Note: Audible means, that in VDJ the crossfader also in Software (look in config of vdj) is active and then the channel-send is doing its job only on master output (crossfader at working deck and line fader is up a little and Play. In other case no command is set.

Next, i have more time, i will code that if you play and then raise fader down or pause, that the command will reset to 0. Its something like "set $VDJartnetsend 0 & is_audible deck active ? &....."
You must know that the artnet-plugin runs in a loop through the config lines.

In QLC+ i made a profil and named all used artnet-channels (=line of config) the same.
In virtual console i made buttons as flash-button to trigger scenes.

Hope it helps and someone has some more ideas to code some cool preset lines 8-)

The last released Windows-dll of artnet works for me included the popup of config and preset windows. But each time i click on config to see the windows, a copy of it will shown. Means, that if i close VDJ there where a lot of same config and preset windows to close. Have someone a newer compiled windows-dll from github where it is fixed ???

regards, Ralf
Attachments
config.txt
(1.82 KiB) Downloaded 1002 times
presets.txt
(4.91 KiB) Downloaded 981 times
bluescreen25
Posts: 55
Joined: Fri Jul 21, 2017 4:52 pm
Real Name: Ralf Janssen

Years ago i developed in Delphi (Pascal),so i tried to compile some github windows versions of VDJArtnet.dll.
The latest version working in low cpu usage, without crashes in VDJ and working config windows coming up every time config button is pressed and only one instance of config windows were made, is from 05/2018. All later windows versions are buggy ....trash.

The developers of plugin made a change in config, so no folder and no config.txt, presets.txt is needed. Only the dll in the Autostart folder of plugins of VDJ.
This change is in my mind not a good idea, because of exchanging presets with other user.

Now the presets.txt is included in the compiled dll (blowing up that file). And if i will include new presets i must recompile a new dll.
After first start of plugin it makes a config.ini and a VDJArtnet.conf file near by the dll (not to edit)

I included my presets shown in last post.
Try out and give a feedback please.

EDIT 14.10.2018:
-included presets : fixed to use with CUE points in VDJ
-included presets : add more presets audible

regards ralf
Attachments
VDJartnet.zip
(49.66 KiB) Downloaded 1034 times
bluescreen25
Posts: 55
Joined: Fri Jul 21, 2017 4:52 pm
Real Name: Ralf Janssen

Windows VDJArtnet plugin Github 10.05.2018 (with own changes 14.10.2018)

-included presets : fixed to use with CUE points in VDJ
-included presets : add more presets audible
-download package : add helping photos to config VDJArtnet and QLC to use CUEs

Download Package

Please some feedbacks 8-)

regards ralf
User avatar
mcallegari
Posts: 4710
Joined: Sun Apr 12, 2015 9:09 am
Location: Italy
Real Name: Massimo Callegari
Contact:

Hey guys, I appreciate the effort you're putting into this !

I was wondering, why ArtNet though ? If I had to do this, I would have picked OSC.
ArtNet is kind of an "anonymous" protocol, while OSC has named signals.

I might try to contact Jonathan Tanner who first wrote VDJartnet and see what he thinks about writing an OSC version as well.
Unless someone else volounteer to attempt it. I can give support on the OSC implementation, since I have already done it in QLC+
bluescreen25
Posts: 55
Joined: Fri Jul 21, 2017 4:52 pm
Real Name: Ralf Janssen

mcallegari wrote: Sun Oct 14, 2018 11:39 am Hey guys, I appreciate the effort you're putting into this !
Made this because at the moment no other chance to get special functions interacting Virtual Dj and QLC are possible.
You wrote, that you will not input OS2L protocol in near future. I understand that OSC exists since years, but VDJ has not done it in software.They have done OS2L.
VDJArtnet is since July 2017 in same buggy beta version. And on github there were sometimes some action, mostly not really testet things so that all goes buggy since 05/2018....
I was wondering, why ArtNet though ? If I had to do this, I would have picked OSC.
ArtNet is kind of an "anonymous" protocol, while OSC has named signals.
i am wondering,too. But what can i do ? Virtual DJ does not, VDJArtnet can not and you will not OS2L.
I might try to contact Jonathan Tanner who first wrote VDJartnet and see what he thinks about writing an OSC version as well.
Unless someone else volounteer to attempt it. I can give support on the OSC implementation, since I have already done it in QLC+
Thats not the solution.
The native protocol in VDJ is that, what in the next years brings best updates in functionality . So if DMX Software goes not the way of this protocol it will ever be a workaround as a plugin. So if VDJ will bring more functions depending on OS2L and the VDJ-OSC-Plugin has not...you are always dependent on plugin developer.
At the end the User is not happy. Interacting DJ_Software with DMX-Software is the future. :D At the moment some guys make a lot of money with hardware boxes like Soundbox for Serato / Virtual Dj or Pioneer Interface....

regards, ralf
User avatar
mcallegari
Posts: 4710
Joined: Sun Apr 12, 2015 9:09 am
Location: Italy
Real Name: Massimo Callegari
Contact:

Alright, then I'm missing something about this VDJartnet plugin architecture.
I thought VDJ exposes some kind of hook when a button is pressed/knob rotated/etc.
If that is the entry point, then ArtNet or OSC is just a different incapsulation of the message into a network protocol.
And for our purposes, OSC would be richer than ArtNet.

I spent some time evaluating OS2L, believe me. I first wanted to see how it works and found this: https://www.virtualdj.com/wiki/OS2L.html
So I downloaded VDJ and Sunlite...installed a gazillion of MB of stuff in my computer...followed the instructions....and....NOTHING !
They don't talk to each other! I traced the network packets on loopback....and....NOTHING !
OS2L advertise this amazingly awesome thing such as auto-connect via mDNSresolver (an Apple project). And it simply doesn't work.
While I understand the theory, I don't see any single good point for reinventing the wheel when existing network protocols are there since ages. All for what ? Auto connect ? Please... Given the proper configuration dialog aren't we all able to enter an IP address...where 99% of the times that IP address is 127.0.0.1...

Plus, mDNSresolver is an Apple alien thing and has cross platform issues. If I remember correctly, it doesn't even compile with MSYS2, which is the QLC+ Windows build environment.

So yes, I don't intend to drag into QLC+ stuff like that for a protocol one single software uses on earth.
I'd rather invest my time writing a OSC plugin and maintain it, if that's even possible.

This is the same principle of those who reinvented the wheel on fixture definitions. There were several open formats available where we could have worked together and eventually improve them, but no, they had to write a new one and then say "this is the new 'open' standard"
Problem of these guys is that they change the specs without any notice, and guess what, from one day to another they change the license and cut you and your little project out.
I'm against that.

For the record: if someone wants to attempt writing a OS2L plugin for QLC+, I will give him support. Just don't expect me to merge that upstream. That will be kept as a separate plugin one will need to install manually. I am even willing to offer some QLC+ website space to host it an advertise it. I just don't want it in the sources.
Post Reply