Quick Sign In:  

Forum: General Discussion

Topic: Script School - Page: 49
locoDogPRO InfinityModeratorMember since 2013
@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
 

Posted Wed 15 Jan 25 @ 7:32 pm
twagaPRO InfinityMember since 2009
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?
 

Posted Thu 16 Jan 25 @ 12:09 am
twagaPRO InfinityMember since 2009
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.
 

Posted Thu 16 Jan 25 @ 12:20 am
twagaPRO InfinityMember since 2009
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?
 

Posted Thu 16 Jan 25 @ 6:18 am
twagaPRO InfinityMember since 2009

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.
 

Posted Thu 16 Jan 25 @ 4:27 pm
locoDogPRO InfinityModeratorMember since 2013
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`
 

Posted Thu 16 Jan 25 @ 5:09 pm
AdionPRO InfinityCTOMember since 2006
You can make the beat to milliseconds part a little bit shorter btw
constant 1bt & param_cast ms
 

Posted Thu 16 Jan 25 @ 6:03 pm
locoDogPRO InfinityModeratorMember since 2013
@adion nice addition, thanks for the info.
 

Posted Thu 16 Jan 25 @ 6:09 pm
twagaPRO InfinityMember since 2009
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



 

Posted Fri 17 Jan 25 @ 12:04 am
twagaPRO InfinityMember since 2009
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


 

Posted Fri 17 Jan 25 @ 12:07 am
twagaPRO InfinityMember since 2009
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?
 

Posted Fri 17 Jan 25 @ 4:24 pm
twagaPRO InfinityMember since 2009
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.
 

Posted Fri 17 Jan 25 @ 5:14 pm
twagaPRO InfinityMember since 2009
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?
 

Posted Sat 18 Jan 25 @ 9:13 am
mg_1978PRO InfinityMember since 2008
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!
 

Posted Sun 19 Jan 25 @ 9:18 am
locoDogPRO InfinityModeratorMember since 2013
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 %
 

Posted Tue 21 Jan 25 @ 6:42 pm
mg_1978PRO InfinityMember since 2008
hi! i have slip problem with this script; this script is Kontrol S8 TOUCHJOG modofied about me for scratch, and it works, but with slip on…slip don’t work :( could you help me? thanks!!
 

Posted 4 days ago @ 10:36 am