快速登录:  

Forum: General Discussion

话题: Script School - Page: 46
Hi, I can't use JOG_WHEEL to smoothly change the position of the end of the loop section. Is there any option? Thanks
 

发表时间 Sat 20 Apr 24 @ 11:19 pm
locoDogPRO InfinityModeratorMember since 2013
see the wheel_mode script
 

发表时间 Sat 20 Apr 24 @ 11:24 pm
wheel_mode 'loop_out' ? wheel_mode 'loop_out,jog' : loop ? wheel_mode 'loop_out,jog' : loop_out
Already solved. Bye.
 

发表时间 Sat 20 Apr 24 @ 11:27 pm
I'm trying to modify Touchdan's Title (Video Skin) to work for my needs.

I'd noticed that the title didn't always appear, or seemed to favour one deck over the other, so I investigated...

The original code looks like it checks the crossfader position to determine whether to show or not:
visibility="pulse 25000ms '`param_equal get_crossfader_result 0 ? deck left load_pulse : param_equal get_crossfader_result 1 ? deck right load_pulse : fadeout 1000ms 750ms`'"


I don't use the crossfader (so it sits centrally) which I guess is why the titles are inconsistent.

I found is_audible being used in another videoskin so borrowed the code:
visibility="is_audible 'or scratch' & fadeout 1000ms 500ms"


That works, but I've been trying to add a delay so that the text appears after 5 seconds of play rather than immediately, but so far have failed in all attempts.

(no idea what the 'or scratch' is doing)
 

发表时间 Sun 21 Apr 24 @ 9:43 am
locoDogPRO InfinityModeratorMember since 2013
Try load_pulse_active

visibility="load_pulse_active 2000ms 5000ms & fadeout 1000ms 500ms"
 

发表时间 Sun 21 Apr 24 @ 12:03 pm
Thank you locodog. I just did a quick mod to make it stay on screen a little longer, and we're away!
 

发表时间 Sun 21 Apr 24 @ 1:11 pm
locoDogPRO InfinityModeratorMember since 2013
Another user wish, the concept is interesting as instruction to how to scale a dial.

User wanted a fine detailed key change on a dial.
So key_smooth is the script, but key_smooth goes from -6.0 key to +6.0 key so we need to reduce the range a bit.

As is from centre [key natural] key_smooth goes -6.0 to +6.0 so 12 divisions. We only want a range of -1.0 key to +1.0 key so 1/6th of the full range. Then we want to ignore the first 5/12ths of the range.
A dial usually goes from 0.0 to 1.0, so
( dial val * 0.166666 [a 6th] ) + 0.416666 [5/12ths] = val =>0.416666 & <=0.583333

That as script you'd use on a dial
param_multiply 0.166666 & param_add 0.416666 & key_smooth

That would be ±100 cents across a whole dial

param_multiply 0.016666 & param_add 0.491666 & key_smooth

This would be ±10 cents across a whole dial
 

发表时间 yesterday @ 11:26 am
locoDogPRO InfinityModeratorMember since 2013
Another interesting user request that involves implicit manipulation.

User wanted a more increment kind of pitch slider, to some it might not make sense but I get it, instead of having infinity values between 2 contiguous integers you have just 10, so from 120 to 121 bpm you just have 121.0, 121.1, 121.2 ... etc

part of it is showing off, part of it is cheating, part of it is how digital sliders work when you look closely at X num of bit precision.
The dancefloor doesn't really care as long as you don't trainwreck.

A rare use case but an interesting script to learn from

So the dial implicit is 0.0 - 1.0
we need to turn implicit into ±1.0

so multiply by 2, now our implicit is 0.0 - 2.0
so add -1, now our implicit is -1.0 to +1.0

multiply implicit by pitch range, pitch range returns a value between 0.01 to 1.00 [1% pitch range to 100% pitch range]
so implicit == -pitch range to +pitch range

add 1 so our implicit is (1 - pitch range) to (1 + pitch range)

multiply implicit by bpm absolute
param_cast '0.0' to limit digits to one decimal place
param_cast as beats because we're passing a beat value to the pitch verb

pitch

param_multiply 2 & param_add -1 & param_multiply pitch_range & param_add 1 & param_multiply 'get_bpm absolute' & param_cast '0.0' & param_cast beats & pitch
 

发表时间 yesterday @ 12:30 pm