I'm a bit of a hobby programmer and I want to make my own plugins mainly for automation.
For instance, some of the plugins I have in mind involve the plugin taking control of VirtualDJ like running a series of commands (like turning the bass down while at the same time implementing a stutter). The example i gave is just an example but you get the idea.
At it's most complicated, I would like to be able to make a wrapper program that essentially uses VirtualDJ to do all the grunt work while I interact with the wrapper program. Why I'd want to do that? Maybe I want to make my own completely custom control scheme, I don't know but I'll most likely want to tinker with VirtualDJ like that.
Is that possible?
I can't seem to find any readily available API documentation for VirtualDJ. The very best I could find is a general plugin and for that, I'm not even sure how powerful that really is.
Another possibility is this VST thing I'm reading about. Again, my concern is whether or not VSTs are up to the task in allowing enough control over VirtualDJ that I could essentially make a wrapper program that controls VirtualDJ implemented in the form of a VST.
Any help is greatly appreciated.
Thanks
For instance, some of the plugins I have in mind involve the plugin taking control of VirtualDJ like running a series of commands (like turning the bass down while at the same time implementing a stutter). The example i gave is just an example but you get the idea.
At it's most complicated, I would like to be able to make a wrapper program that essentially uses VirtualDJ to do all the grunt work while I interact with the wrapper program. Why I'd want to do that? Maybe I want to make my own completely custom control scheme, I don't know but I'll most likely want to tinker with VirtualDJ like that.
Is that possible?
I can't seem to find any readily available API documentation for VirtualDJ. The very best I could find is a general plugin and for that, I'm not even sure how powerful that really is.
Another possibility is this VST thing I'm reading about. Again, my concern is whether or not VSTs are up to the task in allowing enough control over VirtualDJ that I could essentially make a wrapper program that controls VirtualDJ implemented in the form of a VST.
Any help is greatly appreciated.
Thanks
Posted Thu 10 Feb 11 @ 8:30 pm
You can control almost any aspect of VDJ via the API. Pretty much everything you need is right there in the SDK header files. VSTs are for modifying audio, not control.
Posted Fri 11 Feb 11 @ 2:27 am
That's good to hear.
So is this the SDK you're talking about?
http://www.virtualdj.com/developers/vdjPlugin.h
Way I'm reading it, all commands are sent with the following code
HRESULT (__stdcall *SendCommand)(char *command,int sync);
Where can I find the list of commands that are sendable or the commands associated with specific buttons in VirtualDJ?
Like if I wanted to interact with the bass control knob, how would I know what I need to enter in place of *SendCommand to interact?
Sorry if these questions are really stupid.
Thanks for all the help
So is this the SDK you're talking about?
http://www.virtualdj.com/developers/vdjPlugin.h
Way I'm reading it, all commands are sent with the following code
HRESULT (__stdcall *SendCommand)(char *command,int sync);
Where can I find the list of commands that are sendable or the commands associated with specific buttons in VirtualDJ?
Like if I wanted to interact with the bass control knob, how would I know what I need to enter in place of *SendCommand to interact?
Sorry if these questions are really stupid.
Thanks for all the help
Posted Fri 11 Feb 11 @ 9:42 am
Thats the declaration for the function to send commands to VDJ, yes. You won't be putting anything in place of *SendCommand though - have another look at that function dec ;)
You'll be calling SendCommand as passing it a command.
That command is a VDJ6 command - exactly as per skins and mappers in v6. For example the command "eq_low 50%" will set the bass EQ knob to 50%.
You'll be calling SendCommand as passing it a command.
That command is a VDJ6 command - exactly as per skins and mappers in v6. For example the command "eq_low 50%" will set the bass EQ knob to 50%.
Posted Fri 11 Feb 11 @ 12:57 pm
ah right, been a while since I've done C++. I usually program in VBA.
sorry for all the questions
so the command I would send would be in the format that is at the following link, correct?
[deck [deck]] [sampler [slot] | effect [effectname/slot] | get] verb [param1] [param2] [blink | blinkfast] [while_pressed]
http://www.virtualdj.com/wiki/VDJscript.html
thank you for all your help thus far SBDJ
Hopefully once I'm a little bit further along in the development cycle and have more experience, I'll be able to help others with their questions as you have with mine :-D
sorry for all the questions
so the command I would send would be in the format that is at the following link, correct?
[deck [deck]] [sampler [slot] | effect [effectname/slot] | get] verb [param1] [param2] [blink | blinkfast] [while_pressed]
http://www.virtualdj.com/wiki/VDJscript.html
thank you for all your help thus far SBDJ
Hopefully once I'm a little bit further along in the development cycle and have more experience, I'll be able to help others with their questions as you have with mine :-D
Posted Sun 13 Feb 11 @ 10:26 pm