Hello!
Some time ago, when i was thinging about some plugin basics in c++ i came to the idea that a basic c++ soundeffeckt if it is enabled would be able to querry something and ececue a scriptaction. So that every user would be able to edit it i thought about using an external file where you are able to edit the querry and the action.
Well this might go like this vor example:
You want to querry if the song is standing on a CUE point and if it is on cue it should not leave the cue (with a cue_leave variable to get off the cue) then this might look like this:
INT|cue|1|var 'leave_cue' : nothing : goto_cue
or
Get beat intensity and move the sampler 1 volume silder to this value:
FLOAT|get beat|CHANGE|sampler 1 Volume value
Script explain like i imagine it:
Value | Scriptaction to get | Variable query start | VDJ Script to run
Value: What value do you want to querry? (FLOAT, INT, TEXT)
Scriptaction to get: Script to get (like in LEDs or Text or VUs in Mappings)
Variable query start: If value of the querry action is same this variable then execute this action.
VDJ Script to run: VDJ script action you want to start.
Would this be an idea?
What are your ideas to this?
Regards,
C.Hackl
Some time ago, when i was thinging about some plugin basics in c++ i came to the idea that a basic c++ soundeffeckt if it is enabled would be able to querry something and ececue a scriptaction. So that every user would be able to edit it i thought about using an external file where you are able to edit the querry and the action.
Well this might go like this vor example:
You want to querry if the song is standing on a CUE point and if it is on cue it should not leave the cue (with a cue_leave variable to get off the cue) then this might look like this:
INT|cue|1|var 'leave_cue' : nothing : goto_cue
or
Get beat intensity and move the sampler 1 volume silder to this value:
FLOAT|get beat|CHANGE|sampler 1 Volume value
Script explain like i imagine it:
Value | Scriptaction to get | Variable query start | VDJ Script to run
Value: What value do you want to querry? (FLOAT, INT, TEXT)
Scriptaction to get: Script to get (like in LEDs or Text or VUs in Mappings)
Variable query start: If value of the querry action is same this variable then execute this action.
VDJ Script to run: VDJ script action you want to start.
Would this be an idea?
What are your ideas to this?
Regards,
C.Hackl
Posted Fri 19 Oct 12 @ 4:18 am
So it would be like an "automated " plugin? I can launch effects, loops, video effects or start a sample when the track gets to a certain point. Is that what your saying??
If so that's a great idea and I for one would love to see this!!
If so that's a great idea and I for one would love to see this!!
Posted Fri 19 Oct 12 @ 8:22 am
I have thought of it a lot time ago when I coded watchdog.
While it's a nice idea, it has one MAJOR issue that I wasn't possible to overcome with my programming knowledge:
The user's mistakes!
When a plug-in does not behave as it should it could even freeze the program. Imagine a user that writes a "wrong" command and suddenly everything freezes! NO GOOD!
Unfortunately users can't understand how programming languages work. So they can enter anything they think it's right and suddenly crash the program.
If you are about to go this route you should need to create code that will parse and check each command before it's send to VirtualDj. You should make sure (somehow) that the command you are about to send won't produce undesired side-effects!
Since we had the same idea I will share my approach with you:
Create some predefined scenarios, and then let the user to use either variables or a .ini file to load/read the parameters of these scenarios.
I wouldn't leave "pure C++" power to the users... ;)
While it's a nice idea, it has one MAJOR issue that I wasn't possible to overcome with my programming knowledge:
The user's mistakes!
When a plug-in does not behave as it should it could even freeze the program. Imagine a user that writes a "wrong" command and suddenly everything freezes! NO GOOD!
Unfortunately users can't understand how programming languages work. So they can enter anything they think it's right and suddenly crash the program.
If you are about to go this route you should need to create code that will parse and check each command before it's send to VirtualDj. You should make sure (somehow) that the command you are about to send won't produce undesired side-effects!
Since we had the same idea I will share my approach with you:
Create some predefined scenarios, and then let the user to use either variables or a .ini file to load/read the parameters of these scenarios.
I wouldn't leave "pure C++" power to the users... ;)
Posted Fri 19 Oct 12 @ 12:18 pm
Well i thougt about extra features like a counter that counts how often a line is executed and if iw was executed 5 times each other the plugin should stop this line for savety.What about that?
Posted Fri 19 Oct 12 @ 2:20 pm
After watching the latest video from the bpm show with Scott, wouldn't the "points of interest" do the same thing? If I understood him we'll basically be able to launch effects, transition s, pretty much anything that can be scripted can be used at these points.
Or am I way off here??
Or am I way off here??
Posted Sat 20 Oct 12 @ 11:36 am
well this Feature war requested already verry often, and allway the same answer that it is not possible.
Well now i got here some test c++ Projects that Show me that it is working BUT - It seems to make random VDJ Crashes. i Thing that is not verry useable at the Moment.
I think wie should wait with this to Version 8. I'll try to get my skills up a bit in c++ and then we should see what V8 is bringing to us. TT think V8 is going to bring a new SDK-V8 because the aktual does not readout the samplerate. And this will be relevant in V8.
I'm also thinking that V8 will only supoort the old effects in 44100Hz samplerate. Most effects where i've seen the sources habe a fixet samplerate defined by 44100Hz - But if you run them by 48000 or 9600Hz the buffers may be claculated wrong - In VSTi programming you allway have to readout the samplerate if you run LFOs or OSCs in correct speed - Well we will see.
Well now i got here some test c++ Projects that Show me that it is working BUT - It seems to make random VDJ Crashes. i Thing that is not verry useable at the Moment.
I think wie should wait with this to Version 8. I'll try to get my skills up a bit in c++ and then we should see what V8 is bringing to us. TT think V8 is going to bring a new SDK-V8 because the aktual does not readout the samplerate. And this will be relevant in V8.
I'm also thinking that V8 will only supoort the old effects in 44100Hz samplerate. Most effects where i've seen the sources habe a fixet samplerate defined by 44100Hz - But if you run them by 48000 or 9600Hz the buffers may be claculated wrong - In VSTi programming you allway have to readout the samplerate if you run LFOs or OSCs in correct speed - Well we will see.
Posted Sat 20 Oct 12 @ 7:24 pm
Yes it's clear that the SampleRate was hardcoded at 44.1KHz in plugins before v8 so old plugins will work at 44.1kHz only to keep the compatibility.
Posted Sun 21 Oct 12 @ 10:56 am