Sign In:     


Forum: General Discussion

Topic: Script School - Page: 48.75
I really dislike writing scripts for automix, too may options come into play, karaoke makes it even worse.
 

My annual thanks to all that help out on the forum (particularly locodog) and a question:

Is there a vdj script command to delete a (browsed) file that first moves the file into the recycle bin, so I can catch accidental deletions (rather than the hard delete)?
 

You can't delete files with script, only with rightclick can you delete and then it's a operating system decision where the deleted file goes [recycling or hard delete]
 

hi, i have this problem, i have mapped a controller button “eq_mode +1” to change mixer knobs..but when use knobs in automatic mixer kobs return in low-mid-high function….mixer knobs are mapped:
eq_low
eq_mid
eq_high
this scripts are wrong?
thanks!
 

Is there a way to scratch just the length of one beat? I think the length of time can be calculated as 60/BPM seconds,

but I would like to use this calculation formula as an argument for scratch.
 

@twaga I think the scratch verb is only used for BASIC testing purposes.

But to answer the question, mainly to show how to get ms/beat values
get_constant 1 & param_cast beats & param_cast ms & param_cast relative & scratch

get_bpm & param_1_x & param_multiply 60000 & param_cast ms & param_cast relative & scratch

first one is a more recent way
we get a constant 1, we cast it as beats, we then cast that beat to ms and it gives us ms/beat, and because scratch expects a +/- value we cast it one more time to a relative value and that puts it on the end of the scratch verb as a relative ms value.
second one
we don't have a divide verb, but we do have a parameter manipulation of
1 / parameter
we then multiply by 60000 [the number of ms in a minute]
and as before cast as relative.

But as I said before the scratch verb is VERY BASIC
If you're looking for scratch on a button press, you should look at this.
https://www.virtualdj.com/wiki/ScratchDNA.html
 

Thank you. I have confirmed the correct behavior of your script. I know about scratchDNA, and we can adjust the size of the scratch using the alphabet.
But although we can adjust the timing based on the beat, I don't think we can adjust the size of the scratch based on the beat.

Is it possible to play only one beat and then pause by VDJscript?
 

play & wait 1bt & pause

I tried this script, but it seems that the small amount of time it takes for the play command causes small error and shifts.
 

I think that a loop action can be used to play exactly one beat, but can we create a script that specifies the number of loops and loops one beat only once?
 


locoDog wrote :

But to answer the question, mainly to show how to get ms/beat values
get_constant 1 & param_cast beats & param_cast ms & param_cast relative & scratch

get_bpm & param_1_x & param_multiply 60000 & param_cast ms & param_cast relative & scratch




I tried to imitate this and write a script that scratches back from the current position to the cuepoint, but the script below didn't work.. Could you please tell me the correct way to write it?

get_position & param_multiply -1 & param_add 'cue_pos 1 mseconly' & param_cast ms & param_cast relative & scratch


Sorry for writing so many times.
If I can make this script correctly, we can use the script with the script of scratching 1 beat taught by you and stutter, I think it will be possible to create a more flexible scratch than scratchDNA using manual keyboard operations.
 

get_position returns a value of 0.0 to 1.0, not a time,
try get_time elapsed
Also
cue_pos 1 mseconly is not pitch adjusted, use this instead
`get_time cue1 1000`
 

You can make the beat to milliseconds part a little bit shorter btw
constant 1bt & param_cast ms
 

@adion nice addition, thanks for the info.
 

This script worked very well! Thank you very much.
param_add 'get_time cue1 1000' 'get_time elapsed & param_cast relative & param_multiply -1'& param_cast ms & param_cast relative & scratch



 

Adion wrote :
You can make the beat to milliseconds part a little bit shorter btw
constant 1bt & param_cast ms




This script made it easier! thank you!
constant 1bt & param_cast ms & param_cast relative & scratch


 

twaga wrote :
This script worked very well! Thank you very much.
param_add 'get_time cue1 1000' 'get_time elapsed & param_cast relative & param_multiply -1'& param_cast ms & param_cast relative & scratch





However, I found that this script works while pausing, but not while playing.
How can I make it work even during playing?
 

pause & param_add 'get_time cue1 1000' 'get_time elapsed & param_cast relative & param_multiply -1'& param_cast ms & param_cast relative & scratch


I solved it by adding pause at the beginning.
 

Regardless of the value of the scratch argument, the time it takes to one scratch seems to be constant. Is it possible to adjust the speed?
 

hi!
is there a script for button that make on/off stemfx “vocal” and “instruments”? i would use channel filter in vocal and instruments at same time, thanks a lot!
 

Not a hugely important topic but this verb is very under-documented, so I best quick fill in the gaps
The verb
get_date

verb description wrote :
get the current date (use 'get_date "format"' to get the date in a specific format. format can include %Y, %m, %d for year, month and day, %A for weekday)


I saw that and I thought "those format specifiers look very much like some C/C++ I know",
so I just tried some stuff that I guessed might work, and it does work. So it's not just date, it's all things time in pretty much any format you'll need.
After confirmation from the devs, it works how I guessed it works [get_date passes the format specifiers to the C++ function I thought it was]

Here's the full list of format specifiers available and the output.

Format Specifier 	Description 	Example
%a Short representation of the weekday Fri
%A Full representation of the weekday Friday
%b Short representation of the month name Dec
%B Full representation of the month name December
%c Full date and time representation Fri Dec 17 14:30:01 2023
%C Century (equivalent to taking the first two digits of a 4-digit year) 20
%d Day of the month with leading zero 09
%D Date representation equivalent to %m/%d/%y 12/17/23
%e Day of the month with leading spaces 9
%F Date representation equivalent to %Y-%m-%d 2023-12-17
%g 2-digit week-based year (week-based years start at the beginning of a week) 23
%G 4-digit week-based year (week-based years start at the beginning of a week) 2023
%h Short representation of the month name (equivalent to %b) Dec
%H 24-hour format of an hour 14
%I 12-hour format of an hour 02
%j Day of the year (from 0 through 365) 351
%m Numeric representation of a month 12
%M Minutes within an hour 30
%n A \n new line character
%p AM or PM PM
%r Full 12-hour time format 02:30:01 PM
%R 24-hour time format equivalent to %H:%M 14:30
%S Seconds within a minute 01
%t A \t tab character
%T Full 24-hour time format equivalent to %H:%M:%S 14:30:01
%u Numeric representation of a day of the week (from 1 to 7 starting with Monday) 7
%U Week of the year starting at 0, with week 1 beginning on the first Sunday of the year 51
%V Week of the year starting at 1, with week 1 beginning on the first Monday of the year and any day in January before the first Monay belonging to the previous year 50
%w Numeric representation of a day of the week (from 0 to 6 starting with Sunday) 0
%W Week of the year starting at 0, with week 1 beginning on the first Monday of the year 50
%x Locale-based date representation 12/17/23
%X Locale-based time representation 14:30:01
%y 2-digit year representation 23
%Y 4-digit year representation 2023
%z Numeric timezone offset +0000
%Z Timezone name GMT
%% A % character %
 

97%