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.
User avatar
mcallegari
Posts: 4482
Joined: Sun Apr 12, 2015 9:09 am
Location: Italy
Real Name: Massimo Callegari
Contact:

Guys, we've got preliminary OS2L
Nicotux
Posts: 12
Joined: Tue Feb 26, 2019 10:08 pm
Real Name: Nicolas Vignot

os2L, That's a good news!

I totally rewrote the backend of VDJArtnet plugin with another name "DMXArtNet" and feel... it is much more integrated into VDJ. It seems not having the old issues, handles 4 universes by instance and can be loaded in multiple decks and have its own config folder. As it is experimental it may fail.
Use "About" button to know the config file it looks for depending on deck it is loaded on
config files are like the VDJArtnet ones, but can have multiple - up to 4 - set of 512 channels separated with a "+U n" tag where n is the universe number
with one universe only, it is exactly the same
Preliminary of extra commands is implemented using values greather than 255
256 do not modify the existing value, 257 negate the value ....

windows dll always in http://nicotux.trollab.org/vdj/DMXArtNet/
there is no mac compilation

As os2l is to be implemented... I can't certify there will be any final release
yokosuna
Posts: 204
Joined: Tue Mar 22, 2016 9:07 am
Real Name:

Thx for work ! Great !

But I have some issues.
First, for VDJ 64 Bit, is it still "plugins" or "plugins64" ?
Second, if it is "plugins64", I copied the dll to "plugins64\soundeffect\" - correct ?
WIll the config directory be "plugins64\soundeffects\DMXArtNetNtxData" or
"plugins64\DMXArtNetNtxData\" or even "plugins\DMXArtNetNtxData\" ?
Last but not least, I tried "plugins64\DMXArtNetNtxData" an by pressing "config" I get the error
"ucrtbased.dll not found" and then "MSVCP140D.dll not found", "VCRUNTIME140D.dll". Seems like the debug version.
Pressing the "About" button does nothing at all.

Again, thx very much for your efforts.
yokosuna
Posts: 204
Joined: Tue Mar 22, 2016 9:07 am
Real Name:

Well, I downloaded your sourcecode and found by myself.

Code: Select all

	GetStringInfo("get_vdj_folder", pathC, MAX_PATH);
	std::ostringstream pp(pathC);
		pp << pp.str() <<
#if (defined(VDJ_WIN))
#ifndef VDJ_IS_WIN64
		"\\Plugins\\"
#else
		"\\Plugins64\\"
#endif
		<< "DMXArtNetNtxData\\";
#elif (defined(VDJ_MAC))
		"/Plugins64/DMXArtNetNtxData/";
#endif
So, I´m pretty sure that "plugins64\DMXArtNetNtxData/" is the right path.
Tried compiling your source for 64bit brought an error "fatal error LNK1561: entry point must be defined"
So I looked at your project configuration and found that the 64bit release is targeting an EXE. So I changed it to DLL.
Also be sure that you are _not_ using shared multithreaded-dll (/MD) but pure multithreaded standard libs (/MT)
Now, it compiled without issues.
More to come...
Nicotux
Posts: 12
Joined: Tue Feb 26, 2019 10:08 pm
Real Name: Nicolas Vignot

My fault, I apologise, the source code was an old one. Current one matching the dll uploaded to server
Nicotux
Posts: 12
Joined: Tue Feb 26, 2019 10:08 pm
Real Name: Nicolas Vignot

missing dlls because this is a debug version of VDJartnetConfig.exe that needs debug version of the dlls.

Updated
Both release versions 32 & 64 bits are in the config folder
yokosuna
Posts: 204
Joined: Tue Mar 22, 2016 9:07 am
Real Name:

Thx.

You provide a "VDJartnetConfig64.exe" but you try to spawn to "VDJartnetConfig.exe" instead ... is this correct ?
The "About" windows is not popping up, so I suspect the function is still crashing...

Otherwise - the DLL is working, congrat !
Nicotux
Posts: 12
Joined: Tue Feb 26, 2019 10:08 pm
Real Name: Nicolas Vignot

You provide a "DMXArtNetNtx_1_Audio.conf", but upon startup, "DMXArtNetNtx_Master_Audio.conf" will be requested...
Right, as explain in the readme, the name of the config file depends on the deck the plugin is loaded on, 1 is for deck 1, 2 for deck 2 ... Master for master, mic for mic, sampler for sampler ... and Audio/video depend on the bus... i'm learning the vdj plugin API with this plugin
if you load it in master video "DMXArtNetNtx_Master_Video.conf" will be requested... this allow to load multiple configs for multiple sets of 4 universes, all possibly being activated at the same time or individually. A set of 4 universes share the same host:port all config must have their own host:port and host can be the same as far as the ports differ
You provide a "VDJartnetConfig64.exe" but you try to spawn to "VDJartnetConfig.exe" instead ... is this correct ?
yes I compiled both with their original names however i forget to add "64" in the dll because i used the old 32bit for tests, this old "tool" is an example not really usable with the new dll
The "About" windows is not popping up, so I suspect the function is still crashing...
if the function were crashing, then Vdj would crash either.It is a simple message box.
It must appear topmost and is task modal thus VDJ is not accessible by keyboard or mouse until the box is closed.
maybe it took a long time or need to click twice or three times... From within the debugger, It does not appear unless you use the step by step
yokosuna
Posts: 204
Joined: Tue Mar 22, 2016 9:07 am
Real Name:

Ok, I understand now the "conf" files...
I´ve done some testing (hopefully on the right sourcecode) and it´s clear that the execution reaches the line

Code: Select all

Coords VW = helper.getVideoWindowsCoords(this);
but never this one:

Code: Select all

Coords WS = helper.getWorkspaceSize(this);
So I suppose "helper" goes wild without disturbing VDJ but I´m not sure...
I tried to eliminate all references to "helper" and .. voila ... the window popped up.
Maybe the declaration of "helper" is outdated to the plugin´s api ... I don´t know.

As you seem to have intimate inside of Virtual DJ - is there a value inside Virtual DJ that gives me the
audio level for particual frequencies ? Like the audio widget in QLC+ ?

Thanks again for your great work.
Nicotux
Posts: 12
Joined: Tue Feb 26, 2019 10:08 pm
Real Name: Nicolas Vignot

I´ve done some testing (hopefully on the right sourcecode) and it´s clear that the execution reaches the line

Code: Select all

Coords VW = helper.getVideoWindowsCoords(this);
but never this one:

Code: Select all

Coords WS = helper.getWorkspaceSize(this);
It look like there is a bug in the parser with single display... could you post your related options line videoWindowPosition...
And yes, this part of code is totally unrelated with this plugin
As you seem to have intimate inside of Virtual DJ - is there a value inside Virtual DJ that gives me the
audio level for particual frequencies ? Like the audio widget in QLC+ ?
Sorry I really don't know.
As there are some "<equalizer type='bar'...>" for video skins sure it can be implemented
It's a good idea, I will askl for that
dben41
Posts: 18
Joined: Thu Apr 11, 2019 5:22 pm
Real Name: Daryl Bennett
Contact:

I've downloaded one of the DLLs off of Ralf's site, with his presets. I've got it working with VDJ and QLC+. There's some cool macros, and they work well. But, it seems to send the entire universe. If I have 3 cue listening for artnet commands, they'll all receive input as soon as any track is playing on VDJ. There doesn't seem to be a way to trigger various cue lists of buttons with POI, as per the original video of this thread. The only work flow is to place components in solo frames, and turn them off and on manually.
I'd like the POI to trigger and turn off different cue lists. And get the bpm.
What am I missing? Or is this not possible with presets?
alex2k
Posts: 2
Joined: Sun May 12, 2019 6:37 am
Real Name:

Hallo Ralf or Bluescreen25,

ist it possible to use your art net plugin on mac or only at windows? because im a mac user, and i want it to use on my mac. Respect to your work! you make a good job! :-D
alex2k
Posts: 2
Joined: Sun May 12, 2019 6:37 am
Real Name:

Or Juskis work is also very good, how i get it work on VDJ? i have the bundle installed in the autostart folder, what i have to do now? In the master section of vdi i see the Artnet plugin, and when i open the preferences of the plugin i get a list with numbers, i think i can write actions in the list?!
juski
Posts: 50
Joined: Wed Jun 24, 2015 10:28 pm
Real Name: Justin Hornsby

mcallegari wrote: Sun Mar 31, 2019 2:14 pm Guys, we've got preliminary OS2L
i saw this - thanks Massimo!

Really must get around to testing it soon. Though after reading the VDJ documentation it doesn't look like the workflow within VDJ is much different to how the original VDJartnet plugin worked.
okachynskyy
Posts: 2
Joined: Fri Jun 07, 2019 10:35 pm
Real Name: Oleksiy

Hello!

1) I can't install VDJartnet plugin v0.2.1Beta :(
OSX MAC Mojave 10.14.2 (18C54)
VDJ v8.3 b4918

I have copied VDJartnet.bundle to
▸ ⁨Documents⁩ ▸ ⁨VirtualDJ⁩ ▸ ⁨Plugins64⁩ ▸ ⁨AutoStart⁩
And also created empty folder ▸ ⁨AutoStart⁩ ▸ VDJartnet (as mention in GitHub pages)
And after reloading VDJ I can't see the plugin in master effect.
What I'm doing wrong?


2) Where I can find a v1 version of VDJartnet plugin?
knxmdkn
Posts: 2
Joined: Thu Apr 25, 2019 2:33 am
Real Name: Kenneth McKnight

I really need some help setting this up. I've got it installed, it shows up in VDJ. QLC+ shows it as possible inputs, but will not accept them if i try to assign the input to a macro button, but what do I do from there? Is there a write up somewhere that explains how to assign a macro? I just was to get the lights beating to the bass, and I've spent hours trying to make this work.
dben41
Posts: 18
Joined: Thu Apr 11, 2019 5:22 pm
Real Name: Daryl Bennett
Contact:

You might want to check out the OS2L implementation. The POI commands get sent, and the beat gets sent as well. It's native and requires no plug ins. You have to install QLC+ 4.1.12.
juski
Posts: 50
Joined: Wed Jun 24, 2015 10:28 pm
Real Name: Justin Hornsby

dben41 wrote: Tue Nov 12, 2019 3:28 pm You might want to check out the OS2L implementation. The POI commands get sent, and the beat gets sent as well. It's native and requires no plug ins. You have to install QLC+ 4.1.12.
I'm giving it a try out now - I've converted all my VDJ POIs to OS2L & changed all my virtual console triggers to OS2L. The only limitations I've found so far are that if an OS2L trigger is on or too close to a beat, QLC can miss it. I checked & VDJ's OS2L stuff is definitely sending the packets out so it's really QLC overlooking them for some reason.

Another limitation is that in vdjartnet scripting you can specify that a deck has to be playing out live (not just playing). With OS2L you can't do this.

Also, if you start VDJ playing with a POI set to do something with OS2L & you don't have anything listening to OS2L, any os2l_button POI in a track will make VDJ stutter over the POI til it gives up - resulting in a pause of a few seconds.

I haven't done any gigs with it yet but I'm testing it extensively at home.
dben41
Posts: 18
Joined: Thu Apr 11, 2019 5:22 pm
Real Name: Daryl Bennett
Contact:

I've noticed that sometimes my POI commands aren't being observed, it might have to do with them being so close to the beat. I have not checked out the source code extensively, but it might be a synchronous process, or there is no stack to collect all the commands and run them.
prophy17
Posts: 109
Joined: Tue Apr 09, 2019 9:24 pm
Real Name: Vladimir

Hello, everyone.
Maybe it will be fine to make some data base of individual VDJ scripts presets for QLC+ in this topic, for example, using in the users profiles. And discuss them.
Excuse me, if I am wrong and it's not interesting for the QLC+ users.
Best regards
Post Reply