快速登录:  

Forum: General Discussion

话题: Script School - Page: 20
mg_1978PRO InfinityMember since 2008
at now is theren’t a simple script that shiw time elapsed or remaining about a sample in play? is very strange :(
 

发表时间 Fri 29 Oct 21 @ 3:28 pm
NicotuxHome userMember since 2014
no the script is dead currently (as many columns are not available anymore from script or to search)
and many virtual decks change behavior (deck 'sampler' is not a valid thing anymore) so using deck sampler get_loaded_song is not a workaround anymore

initially all columns were available for everything in every contexts, then progressively things were removed : columns, display, availability for some actions, in some context, selection only by script ... some were added too, but finally there still stay too few including many too incoherent ones under certain conditions, or just not reacheable

this are just limitations

i.e. order available in browsed songs as well as "will play at" and "message"
Pos available for samples but not readable, and not display in grid view
"will play at" available for history

and what is funny, everything still exist internally,
i.e. you can sort by bitrate but not select it in search but search by bitrate still possible via script
no "play time" in history which still display if it was selected before function was removed
 

发表时间 Fri 29 Oct 21 @ 3:32 pm
AdionPRO InfinityCTOMember since 2006
Quote :
initially all columns were available for everything in every contexts, then progressively things were removed

Let me know when you find the build in which this was possible, as I'm pretty sure it never was.
 

发表时间 Fri 29 Oct 21 @ 3:35 pm
mg_1978PRO InfinityMember since 2008
locodog wrote :
something a little strange with the sampler
with regard to the default sample, probably needs a video because it's ...off...
...
also sampler_ verbs don't seem to be able to cast to in any way, name or number, [didn't try path]

yeah is correct!! but sampler_position why doesn’t work if a play a sample in browser_window ‘songs’ (samples are inside a Sampler bank that are in folder list)????

 

发表时间 Fri 29 Oct 21 @ 3:52 pm
NicotuxHome userMember since 2014
@Adion early versions up to 8.2 were far less limited (don't remember exactly, but I annotated later as "since one of the V8.2")

The list (which is totally obsoleted now) was finalized with build b42?? (was about to try to script columns in browser) and sporadically updated, specially with additions such as order(6525), singer writable, Title (remix) and other alias found (this are tries and error results, no official list may miss a lot)

but yes, you are totally right, some fields always been specific such as "From" "Mode" "Pos" so that not "all columns" but "all common columns" or "all non context specific columns"
it was an abusive term

This is the reason why the list was started
long way to create:
in every contexts choose selectable columns one by one and tag it as usable
in every contexts try every discovered columns one by one and mark those that also responding
then for every column try to remove spaces and shorten if possible and swap "Has" and "is" to detect shor aliases in the style of tooltips in translation file, not forgetting entries found in examples and skins

tested with get_browsed_song and browser_sort
7 * 121 * 2 = 1694 cells
with almost as many fails attempts

yes it took so me time
 

发表时间 Fri 29 Oct 21 @ 5:10 pm
mg_1978PRO InfinityMember since 2008
i have mapped: sampler_position 1 and param_invert & param_cast ‘percentage’
but can i convert this % in time remain about sample 1??
 

发表时间 Sun 31 Oct 21 @ 12:41 pm
NicotuxHome userMember since 2014
not really,
what about loop samples ? pitched samples ?

but with some hack retrieving needed info from various places :
browser_window sampler & browser_scroll top & browser_scroll 2 & browser_scroll -1 & param_multiply 'get_browsed_song length ms' 'sampler_position 2 & param_invert & param_mod 1' & param_cast

will return remain of playing sample in slot #2 or 0 if not playing
(took #2 in a way to see the 2 places where slot is needed

for slot #1 only a shorter script can apply - top being slot #1
browser_window sampler & browser_scroll top & param_multiply 'get_browsed_song length ms' 'sampler_position 1 & param_invert & param_mod 1' & param_cast & debug & get_browsed_song bpm & param_cast & debug & get_bpm & param_cast & debug


would need to take care about bpm too with pitched samples, but don't know how to get this info
 

发表时间 Sun 31 Oct 21 @ 6:21 pm
NicotuxHome userMember since 2014
trying to set color dynamically using 3 variables myred mygreen myblue (affected to a slider)

debug script:

set zero `get_text '0.0'` & set mycompositecolor 0 & param_add "get_text ' `get_var myred & param_equal 0 ? get_var zero` `get_var mygreen & param_equal 0 ? get_var zero` `get_var myblue & param_equal 0 ? get_var zero``' " "get_text '`color' " & param_cast text & debug & debug text & set mycompositecolor & param_cast & debug & debug set & & param_cast & get_text `get_var mycompositecolor` & param_cast text & color & debug & debug color

what is strange :
this is working correctly once only, and every time the script is modified
all other calls restore the first set of value ( does not apply variables anymore but reset color to initial one)
what is more strange:
set multiple buttons all will work but all buttons will have their own first value set as default, every button setting their own default color

in every case working or not, there is something to investigate with these working mode
 

发表时间 Mon 01 Nov 21 @ 6:05 am
AdionPRO InfinityCTOMember since 2006
'set' caches the action it uses, it is not really expecting an external parameter as action that is changing
 

发表时间 Mon 01 Nov 21 @ 7:00 am
NicotuxHome userMember since 2014
OK, can get very strange things with that ;) , specially some int ==> HEX and color ==> int

for now the old " custom_button_name " hack can workaround the set being one shot
so that color can be set to things like that " get_text `custom_button_name 3 & param_cast text 9` & color "
 

发表时间 Mon 01 Nov 21 @ 12:44 pm
Some time ago now, I requested that the sampler have assignable trigger modes to either individual pads or pages, rather than being a global setting - so that (for example) a page of video clips can be in on/off mode, but a page of cowbell samples can be in stutter mode.

Having to change mode manually when switching between different types of bank is tedious.

As it's not been implemented, I was wondering if such a thing could be scripted?

So the script would check to see which bank is loaded and change the trigger mode to suit.
 

发表时间 Mon 01 Nov 21 @ 6:33 pm
NicotuxHome userMember since 2014
I do not see any elegant way

problem is bank --> mode association

if for example it is a tag in first sample (user field or alike) detection can be done using browsed_song and mode set using sample_mode
would needs a rsi lookin for bank change or custom skin with dedicated "is_using" sampler script for instance in some multibutton

badly this solution changes browser window and focus to sampler first sample
maybe assigning a color to a mode could be a solution ?
 

发表时间 Mon 01 Nov 21 @ 7:13 pm
mg_1978PRO InfinityMember since 2008
hi! i have malped a button: get_browsed_folder & param_equal ‘Recordings’ ? browser_window ‘songs’ & browsed_title ‘Sequencer8’ ? get_text ‘full’ : get_text ‘Ready’
but with this script i have text ‘full’ only if i have in browser_window ‘songs’ focus on ‘Sequencer8’ track, i would that check in Folder ‘Recordings’ there is a ‘Sequencer8’ track or sample, and if there is…..get_text ‘full’, indipendently where is focus….can you help me?
 

发表时间 Wed 03 Nov 21 @ 7:23 am
NicotuxHome userMember since 2014
Independent on focus : NO
with focus out of Recordings and Sequencer8 : Yes, with the help of a filter but focus will move too

try a filter folder in the style of
File Path ends with \Sampler\Recordings\ and (Title is Sequencer8 or File Name starts with Sequencer8)

and name it " Sequencer8 "

then in script
browser_gotofolder 'filters://Sequencer8.vdjfolder' & repeat_start rswt 100ms -1 & get_text "`get_status`" & param_contains 'Searching' ? : repeat_stop rswt & file_count & param_cast & debug & param_equal 0 ? goto_last_folder & get_text Ready : goto_last_folder & get_text Full
 

发表时间 Wed 03 Nov 21 @ 9:32 am
mg_1978PRO InfinityMember since 2008
Sorry i didn’t quite understand how this script work :( but it could be easer if in browser_folder ‘Recordings’ if i have 8 file with title contains ‘Sequencer’ take me a variable = 1 (and with this variable = 1 i write full) or i have variable = 0 (and with variable = 0 i write Ready)
 

发表时间 Wed 03 Nov 21 @ 5:26 pm
NicotuxHome userMember since 2014
Yes It's a little bit complicated:

1) You need to create a filterfolder which displays only files with title "Sequencer8" stored in "Sampler\Recordings\" folder and name it Sequencer8 :

// only in Recordings with title being Sequencer8
File Path ends with \Sampler\Recordings\ and Title is Sequencer8

- previous filter was more complex taking care of filename too -

2) then the script :
It will call the peviously created filterfolder and see whenever there is a file or not :

// change focus to result of filter
browser_gotofolder 'filters://Sequencer8.vdjfolder' &
// wait for filter ends its search action
repeat_start rswt 100ms -1 & get_text "`get_status`" & param_contains 'Searching' ? : repeat_stop rswt &
// get the number of files
file_count & param_cast &
// debug can be remove, just to see if everything went ok
debug &
// depending on result
param_equal 0
// restore initial focus and do action when READY
? goto_last_folder & ACTIONS WHEN READY
// restore initial focus and do action when FULL
: goto_last_folder & ACTIONS WHEN FULL
 

发表时间 Wed 03 Nov 21 @ 6:17 pm
mg_1978PRO InfinityMember since 2008
now i have understand and it work, thanks!
what is wrong in this script:
button: get_browsed_folder & param_contains ‘Recordings’ ? browser_scroll ‘top’ & repeat_start ‘scorri’ 100ms & browser_scroll +1 & browser_scroll ‘bottom’ ? repeat_stop ‘scorri’ : nothing : browser_gotofolder ‘Sampler\Recordings’ & browser_window ‘songs’ & browser_scroll ‘top’
doesn’t work correctly, i would that if i’m already in folder ‘Recordings’, focus scroll down all files; i’m not in folder ‘Recordings’….focus goes to folder ‘Recordings’ and scroll down all files in this folder, can you help me correct script? thanks a lot

 

发表时间 Thu 04 Nov 21 @ 7:20 am
NicotuxHome userMember since 2014
In fact you just wanna iterate all files in Recordings whatever the focus can be

(sort of scan the folder)

1) the folder name is internal 'Sampler://Recordings'
2) browsing functions are not instant, you may want them to end before you can use folder content
3) the number of iterations is well known, bottom-top = file_count

focus the content can be either browser_window ‘songs’ or browser_enter

repeat_stop scorri & browser_gotofolder 'sampler://recordings' & repeat_start scorri 100ms -1 & get_text "`get_status`" & param_contains 'Browsing' ? : repeat_stop scorri & browser_enter & browser_scroll top & file_count & param_cast & repeat_start scorri 100ms & browser_scroll +1
I added a security loop stop at start as long list can take time and multiple press would do strange things restarting the same loop multiple time
 

发表时间 Thu 04 Nov 21 @ 10:34 am
mg_1978PRO InfinityMember since 2008
yeah work! but there isn’t a ‘nothing’ after ‘Browsing’ ?
right?
 

发表时间 Thu 04 Nov 21 @ 3:47 pm
NicotuxHome userMember since 2014
yes, nothing or "nothing" keyword both does nothing, equivalent in 99% of the situations

side effects can appear using the keyword in rare case or may be needed in some other
because nothing keyword does not actually do nothing it alters the status of parameter
 

发表时间 Thu 04 Nov 21 @ 4:23 pm
44%