Quick Sign In:  

Forum: General Discussion

Topic: Combing scripts - Page: 1
Ive been using vdj for a while and learning the script and it’s amazing and its overwhelming actualy how much is possible, it’s more what is not, there are no problems just things to find solutions and the beauty is you can do it yourself and not have to wait for an update.
I need help to perform a series of actions that I can perform myself, but timing is essential and I want to be able to execute the same action allowing me to do other things, it would also allow me to execute with less preparation.
Say for instance I’m performing a mix and I have bith tracks cued up with multiple hotcues so I know when the drop is and the best perta to loop etc. So ithe sequence goes like this (for example) I know that the drop on the next track is 4 bars away so I start a loop of a bar which is then halved every bar to create a drum build up. on the last bar i change it back to a 1 beat loop 2 beats before the switch to change pace and for a double drum hit.
I may have a few things wrong with the sequence but that isn’t important. what’s important is I can save all the parts as saved loops, cue points, even action points so that they are executed without me having to perform them live. But how do I make it so that a loop is performed for a set amount of beats and then changes to another action. would it be the same looped halved or would i have to have another saved loop which is set to halve the beats.
In simple terms its a sequence of loops that are different versions of eachother, so I would like to either sequence a set of loops or even better sequence one loop and be able to change it after a soecified set of beats and include slider actions for transition.
Would I have to script this in an fx plugin like routine sp, or can it just be applied to an action point?
please help
 

Posted Sun 21 Mar 21 @ 9:06 pm
On the next update you will be able to use an action POI or custom button somewhat like this:

loop 4 & set 'beatpass' 0 & repeat_start 'looptrick' 1.0bt 32 & cycle 'beatpass' 33 & var_equal 'beatpass' 8 ? loop_half : var_equal 'beatpass' 12 ? loop_half : var_equal 'beatpass' 16 ? loop_half : var_equal 'beatpass' 20 ? loop_half : var_equal 'beatpass' 24 ? loop_exit & repeat_stop 'looptrick'
 

Posted Sun 21 Mar 21 @ 9:45 pm
locoDogPRO InfinityModeratorMember since 2013
If you're on windows loopCount can do that type of thing also.
 

Posted Sun 21 Mar 21 @ 9:46 pm
NicotuxHome userMember since 2014
"repeat*" with duration specified in beats :)
 

Posted Sun 21 Mar 21 @ 10:16 pm
thanks for lightning fast responses. I look forward to new updates, I'm actually more hooked on manipulating vdi to meet my needs than actually mixing, there is so much it can do, I just wish I understood the script better so I don't have to do alot of trial and error.

SO can you give me an example of the repeat with the beat duration. As the order in which things are written and just having one character working can mess it all up. And how can i specify beat length for the loop and the actual beat length for execution.
Thanks again, the community is just as good as the software.
One last thing, can anyone explain to me, why people use other software, the people I know use other software because they will not even try vdi as they think its not industry standard and they want to use what the pros use. But why do the others who have tried use other software what am i missing? what are the flaws in vdi what other apps do better. to me vdi is like apple to windows.
 

Posted Tue 23 Mar 21 @ 12:30 am
raveledave69 wrote :
SO can you give me an example of the repeat with the beat duration.


repeat_start "MyOneBeat" 2bt 4 & do_something

Where 2bt is how often (every 2 beats), and 4 after that is number of repeats it should do


raveledave69 wrote :
And how can i specify beat length for the loop


loop X /* where X is the number of beats */


raveledave69 wrote :
why people use other software, the people I know use other software because they will not even try vdi as they think its not industry standard a

"Sheep", heard mentality, insecurity following crowd, etc etc.. nothing new ;-)

raveledave69 wrote :
what am i missing? what are the flaws in vdi what other apps do better. to me vdi is like apple to windows.

Exactly.. you are not missing anything ;-)

Its a bit like Android vs iOS, PC vs MacOS, Cola vs Pepsi, etc ... some are "fanboys" or "sheep"... and others make up their own mind, and use whats best for them ;-)

But try explain to a user of X that Y is better.. and it might or might not be, depends on the user ;-)

 

Posted Tue 23 Mar 21 @ 12:57 am
How can I reply to a specific comment?

In my opinion, VDJ is defiantly os X. I have been using apple for nearly 30 years, I hate the way people wrote it off and now it's some fashion thing, it's these people that are ruining the direction and some of the decisions.
Apple has always been intuitive, a hard drive is called a hard drive, everything plugs in and works. Windows has things labeled confusingly and there are so many conflicts.
Vdi took seconds to work everything is so obvious, and I'm still looking at other apps and it's taking ages to do basic things, they are simple apps, but amazingly complicated.

anyway, the sequence i'm trying to script is as follows.

I as gonna start from a saved loop, but as the loop needs to change i thought i'd do as stripped back as far as source goes.

1: create a loop of 1 bar [4 beats] - even better would be a variant script which can specify where to create the initial loop from [weather it be from designated hot cues, that could be labeled as breaks or drops] but this is once refined.
Also does the length of the combined sequence need to be specified, or does it just play out, now that i'm writing I think the latter?

2: play the loop for 1bar [4 beats]

3: half the loop

4: play loop for 1 bar [this could be easy for the first loop as the play length is same as loop length so it could just play out. now the loop needs to be played and could possibly be played by number of times needed, or by the number of beats it needs to be played to cover that set.

5: halve loop again so now it is 1 beat [would it be easier if the loop reductions were preserved loop variants, or is it just as easy to create the variants from one initial loop]?

6: SO this would repeat to make a drum roll build up, and would possibly halve every 2 beats to build up quicker, {I don't need to write this but I feel incase someone reads, and has a pop that I;'m out of time lol].

7: when i do this live, I'm finding it hard to do the following, which is to switch back and just have a double beat and switch over. so being able to then have a 1 beat loop repeated, but maybe with a gap or I could use an empty loop.

I appreciate what everyone hasn't responded, but my knowledge is obviously way beneath what all you know, and as I've created scripts for multiple less, that make a visual eq display and ones that count beats, bars and 16th beats all with different colours and at the same time, I know that the order in which you place commands and what code you use is very important. So I appreciate the script, but I have no idea of when to place it and what follows etc, it wouldn't be a matter of trial and error, I would be missing parts as I have not used any of this before, and it's new. I'm gonna upload some of my scripts, which I'm quite proud of there complexity, and you will probably see that I could of used a simpler method, but it will also show what level I'm at. I've gone from changing small parts of existing script to creating my own, and even adding functions to developer pads and effects, but I'm not at the stage when you can give me the part of script I need and confidently place it with what's needed. i want to expand on the script so I need a script that is solid from the start and complete, that I can reverse engineer. sorry for the waffle.

deck left repeat_start "savedloop1[is this where i would place name of saved loop or track name" 4bt 4 & loop_half 4bt

or
deck left repeat_start loop 4 4bt & loop_length 50% 4bt
 

Posted Tue 23 Mar 21 @ 8:41 pm
The script I gave you above is all you really need.
All you have to do is to adjust it's timing to your liking by controlling when it should halve the loop.

As I said, the script mentioned above won't work just yet. It will work on next update because repeat time in beats was just added.

Now, how it works:
Step 1: Set a loop
This is done with loop 4 in the script. It sets a loop of 4 beats

Step 2: Set a variable to zero that will be our control handle
This is done with the set 'beatpass' 0 in the script

Step 3: Initiate a repeat script and do stuff
3A-> repeat_start 'Looptrick'
looptrick is just a friendly name. It could be anything

3B-> repeat_start 'Looptrick' 1.0bt 32
These 2 numbers control the repeat flow.
Well the repeat to repeat every 1 beat for 32 times and then stop

3C-> repeat_start 'Looptrick' 1.0bt 32 & do stuff
This is where all the magic happens

4->Execute the same action on each repeat.
repeat scripts do the same thing every time they get called.
In theory you could ask a repeat to occur every 4 beats and do a loop_half. It would be correct.
However I gave you a more complex code just in order to understand how it works and in case you want to variate timing
So, what we do is that we increase the variable we set before, on every repeat, which is every single beat (since that's what our repeat timing is set)
That's done with the cycle 'beatpass' 33 part of the code. Why not cycle 32 you may ask. Because the way cycle works, when it reaches 32 it reverts to 0.
Now, on the next part of the code we are checking how many beats have passed since we started the repeat: var_equal 'beatpass' 8 ? loop_half
So, we are counting 8 beats (because if we count 4 the loop would half itself right at the end of the first loop pass) and we are halving the loop
Now the current loop length is 2 beats
We keep counting...
When the beats passed are 12 (8 for the first loop half and then another 4) we half the loop again: var_equal 'beatpass' 12 ? loop_half
We keep counting again...
var_equal 'beatpass' 16 ? loop_half should be self explanatory by now.

Finally when we reach the point we want everything to stop:
var_equal 'beatpass' 24 ? loop_exit & repeat_stop 'looptrick'
We exit the loop and stop the repeat action
As you can see this looptrick is aligned to stop at 24 beats after it's called.
Most likely you'll want to tweak it to 32
Also instead of loop_exit you may want to enter another action like pause or something.


Finally:
The above script can be called from an action POI instead of a button.
Therefore it would be similar to having a stored hotloop, but does it's trick
Also keep in mind that you can get creative... Besided halving the loop, you can also double it at some point again (and maybe halve it again), you can activate an echo effect maybe, or do whatever you may think you want at any position you want.
Just remember, the script counts beats after it's start position as if the loop was not there.
In other words it counts time in beats after the start position. Not an absolute position in beats.

Video of the above script in action:
https://youtu.be/Cjd4kcCfjsI
(I used a clean outro of a song to save the video from copyright issues. Therefore the script doesn't sound so great as it would on a better location inside the track, but you get the picture)
 

Posted Wed 24 Mar 21 @ 11:04 am
thanks, I was giving it a go, and I could see that some of the terms are not in the action script menu, but I have sen people use terms I can't seem to find before, and I just wanted to break it down so when the update comes, I'm familiar.

When is update coming. thanks again
 

Posted Thu 25 Mar 21 @ 2:24 pm
locoDogPRO InfinityModeratorMember since 2013
set 'stage' 0 & set 'org' `get_beatpos` & effect_slider 'loop out' 1 0.51 & effect_slider 'loop out' 2 1.0 & effect_slider 'loop out' 4 1.0 & effect_active 'loop out' & repeat_start_instant 'test' 25ms & 
var 'stage' 0 ? param_bigger "get_var 'org' & param_add 4" "get_beatpos" ? effect_slider 'loop out' 1 0.43 & set 'stage' 1 : nothing :
var 'stage' 1 ? param_bigger "get_var 'org' & param_add 8" "get_beatpos" ? effect_slider 'loop out' 1 0.26 & set 'stage' 2 : nothing :
var 'stage' 2 ? param_bigger "get_var 'org' & param_add 12" "get_beatpos" ? effect_slider 'loop out' 1 0.16 & set 'stage' 3 : nothing :
var 'stage' 3 ? param_bigger "get_var 'org' & param_add 14" "get_beatpos" ? effect_slider 'loop out' 1 0.0 & set 'stage' 4 : nothing :
var 'stage' 4 ? param_bigger "get_var 'org' & param_add 16" "get_beatpos" ? effect_active 'loop out' off & repeat_stop 'test' & set 'stage' 0 : nothing : nothing


I came up with this, with existing native loop out, repeat_start with beats is going to be great when it lands but I think for counting loops there is a small chance you could have inconsistencies [fuzzy timing and is slip in play or not, your opinion on; is a counted loop start to end, or start to end & back to start ]

first bit resets the stage to zero, sets the var org [origin] to the beat position when called, then it sets loop out sliders.
then it starts a repeat_start
are we in stage zero ? yes, is beatpos bigger than org + 4 ? yes, make the loop out size smaller & move on to the next stage, : no beatpos not bigger than org +4, do nothing :
not stage zero, is it stage 1 ? same thing again but queries beatpos > org + 8

I'm a bit upset at myself for not thinking of this earlier.
 

Posted Thu 25 Mar 21 @ 6:17 pm
how long to the new update, I get why people don’t wanna use sync in other apps, they are scared they will have no place anymore but here there is so much that meeds attention, so many options so much creation and you need skill to be able to make use of it, it’s amzing it’s almost like djing in the past is a totally different art, even though so much more is automated it is more artistic than ever, Im waffling but it’s cause I think the developers are so underated and this programme is soon to be the biggest thing once the snobs come around
 

Posted Sat 10 Apr 21 @ 1:59 pm
locoDogPRO InfinityModeratorMember since 2013

set 'stage' 0 & set 'org' `get_beatpos` & effect_beats 'loop roll' 4 & effect_active 'loop roll' & repeat_start_instant 'test' 25ms &
var 'stage' 0 ? param_bigger "get_var 'org' & param_add 4" "get_beatpos" ? effect_beats 'loop roll' 2 & set 'stage' +1 : nothing :
var 'stage' 1 ? param_bigger "get_var 'org' & param_add 8" "get_beatpos" ? effect_beats 'loop roll' 1 & set 'stage' +1 & effect_active 'loop roll' & effect_active 'loop roll' & goto -8 : nothing :
var 'stage' 2 ? param_bigger "get_var 'org' & param_add 3" "get_beatpos" ? effect_beats 'loop roll' 0.75 & set 'stage' +1 & effect_active 'loop roll' & effect_active 'loop roll' : nothing :
var 'stage' 3 ? param_bigger "get_var 'org' & param_add 5" "get_beatpos" ? effect_beats 'loop roll' -1 & set 'stage' +1 & effect_active 'loop roll' & effect_active 'loop roll' : nothing :
var 'stage' 4 ? param_bigger "get_var 'org' & param_add 7" "get_beatpos" ? effect_beats 'loop roll' -1 & set 'stage' +1 & effect_active 'loop roll' & effect_active 'loop roll' : nothing :
var 'stage' 5 ? param_bigger "get_var 'org' & param_add 8" "get_beatpos" ? effect_active 'loop roll' off & repeat_stop 'test' & set 'stage' 0 : nothing : nothing


Been messing with the concept, used loop roll this time. kind of interesting.
Can jump around the track, could throw in some FX, some scratchDNA.
There's a plugin in it's own right here, somewhere...
 

Posted Sat 10 Apr 21 @ 4:33 pm
Is this the update that was mentioned, i didn't see anything about scriptinfg mentioned. Is there a full list of features somewhere?
 

Posted Wed 28 Apr 21 @ 12:15 pm
locoDogPRO InfinityModeratorMember since 2013
 

Posted Wed 28 Apr 21 @ 12:24 pm
thank u all.

loop 4 & set 'beatpass' 0 & repeat_start 'looptrick' 1.0bt 32 & cycle 'beatpass' 33 & var_equal 'beatpass' 8 ? loop_half : var_equal 'beatpass' 12 ? loop_half : var_equal 'beatpass' 16 ? loop_half : var_equal 'beatpass' 20 ? loop_half : var_equal 'beatpass' 24 ? loop_exit & repeat_stop 'looptrick'

this is close to what i want very close, i just need to automate and change timing, but its so close I can't believe I was understood so well.
There are terms that are new to me, so is loop trick a new script term, and where can I learn it all
 

Posted Sat 01 May 21 @ 4:53 pm
locoDogPRO InfinityModeratorMember since 2013
looptrick is just a name given to your repeating script, it could be anything. Repeat_start scripts are given a name so you can easily stop it, or query if it is running
Simple example for a custom button, it queries if the repeat we've call 'SOMENAME' is running, if yes stop the repeat, if no set up and start the repeat
[on & off are only there for LED logic

repeat_start_instant 'SOMENAME' ? repeat_stop 'SOMENAME' & ON : OFF & repeat_start_instant 'SOMENAME' 1bt 8 & play_pause
 

Posted Sat 01 May 21 @ 5:10 pm
so in all script, on and off is for when im assigning commands to led buttons yeah, cause i love the led buttons assignments, i have invested in alot of rob midi controllers, made my launchpad like an eq display and a beat bar phrase display, got the code if anyones interested.
Also, how comes the command seems top layout when play isn't pressed I can see the loop halving and running regardless of weather it's playing. I have tweaked the script so i can have it going from a small loop and doubling, but there are parts like cycle I don't fully understand yet, so I can't reconstruct like I have done with other scripts.
 

Posted Sat 01 May 21 @ 9:08 pm
locoDogPRO InfinityModeratorMember since 2013
cycle is like;
add 1 until you hit value, then cycle back to zero

button example
cycle 'myCounter' 3 & var_list

assuming starting the variable 'myCounter' = 0 [as it would do from a fresh start]
first press adds one, 'myCounter' = 1
second press adds one, 'myCounter' = 2
third press adds one, but 'myCounter' = 3 , three is the value it will cycle back to zero, so 'myCounter' = 0
 

Posted Sat 01 May 21 @ 10:16 pm
see i just have more questions, i was able to reverse the script, and i can manipulate it but there are so many commends that dont show in the list with the descriptions. I really want to understand it and know what else is available, and i find various ways and wonder why do they have so many ways to skin a cat, and then something crops up and I find that the variant script is for a specific scenario. I don’t want to keep pestering you all cause it was amazing how my lengthy request was understood so well but sometimes somethting simple sometimes doesn’t and I just find myself repeating myself and Everyone has been so helpful, How can I learn the rest and so when I have an issue I can’t solve I can explain better, also I will be able ti understand better, cause I have learnt by taling other peoples script and altering it, I have done some amazing things totaly changed what someone else has done and created something totaly new, but that means I have missed out alot so when you guys reply alot goes over my head, or I can use it but, I want to understand it, and be able to learn rather than everyone just give me the answer and it end there, if I learn then I can answer other problems I have,. How did everyone else learn it all, and please can the decelopers please release a handbook or something. This app blows me away, and I am spending more time manipulating the app than I am using it, I keep thinking what if i do this etc, i have bought loads of midi controllers to controll every feature i find that may come in handy. Im converting so many people to vdj. And i wanna be a master of it before it becomes the only software
 

Posted Wed 05 May 21 @ 6:09 pm
locoDogPRO InfinityModeratorMember since 2013
Just post questions in the script school thread it's what I made it for, replies happen pretty quick and the level of detail is pretty good.

Learning it is just practice, lots of small, simple things that when applied together do great things
when you find something you don't understand, or perhaps you have a practical problem you just don't know if it's even possible, ask,
don't worry about pestering.
my favourite questions start with me thinking "I don't know...probably"

one thing, please use paragraphs, it's easier to read.
 

Posted Wed 05 May 21 @ 7:35 pm
87%