QLCplus with VirtualDJ, via Artnet
- mcallegari
- Posts: 4823
- Joined: Sun Apr 12, 2015 9:09 am
- Location: Italy
- Real Name: Massimo Callegari
- Contact:
Guys, we've got preliminary OS2L
-
- 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
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
-
- 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.
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.
-
- Posts: 204
- Joined: Tue Mar 22, 2016 9:07 am
- Real Name:
Well, I downloaded your sourcecode and found by myself.
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...
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
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...
-
- 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 !
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 !
-
- Posts: 12
- Joined: Tue Feb 26, 2019 10:08 pm
- Real Name: Nicolas Vignot
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 pluginYou provide a "DMXArtNetNtx_1_Audio.conf", but upon startup, "DMXArtNetNtx_Master_Audio.conf" will be requested...
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
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 dllYou provide a "VDJartnetConfig64.exe" but you try to spawn to "VDJartnetConfig.exe" instead ... is this correct ?
if the function were crashing, then Vdj would crash either.It is a simple message box.The "About" windows is not popping up, so I suspect the function is still crashing...
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
-
- 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
but never this one:
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.
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);
Code: Select all
Coords WS = helper.getWorkspaceSize(this);
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.
-
- Posts: 12
- Joined: Tue Feb 26, 2019 10:08 pm
- Real Name: Nicolas Vignot
It look like there is a bug in the parser with single display... could you post your related options line videoWindowPosition...I´ve done some testing (hopefully on the right sourcecode) and it´s clear that the execution reaches the line
but never this one:Code: Select all
Coords VW = helper.getVideoWindowsCoords(this);
Code: Select all
Coords WS = helper.getWorkspaceSize(this);
And yes, this part of code is totally unrelated with this plugin
Sorry I really 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+ ?
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
-
- 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?
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?
-
- 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?!
-
- Posts: 50
- Joined: Wed Jun 24, 2015 10:28 pm
- Real Name: Justin Hornsby
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.
-
- 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?
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?
-
- 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.
-
- 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.
-
- Posts: 50
- Joined: Wed Jun 24, 2015 10:28 pm
- Real Name: Justin Hornsby
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.
-
- 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.
-
- Posts: 121
- 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
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