Quick Sign In:  

Forum: Wishes and new features

Topic: Random songs to the Auto-mix list - Page: 1

This part of topic is old and might contain outdated or incorrect information

CescBCNHome userMember since 2020
I would like to have the ability to send random songs (based in your browser search or folder selection) to the Auto-mix list.
Is there any way to do this?
Any help would be appreciated.
Thank you.
 

Posted Sat 10 Oct 20 @ 3:23 pm
Create a custom button with the code automix_add_next
 

Posted Sat 10 Oct 20 @ 3:44 pm
CescBCNHome userMember since 2020
This code only send to the list the song selected.
I would like to add random song. i.e: Imagine I have a folder with 50 songs, and everytime i press a button I want VirtualDJ adds a random song of this folder to the automix list.
 

Posted Sat 10 Oct 20 @ 7:49 pm
Why don't you just add the whole folder to automix and shuffle it?
 

Posted Sat 10 Oct 20 @ 11:26 pm
CescBCNHome userMember since 2020
Because this will be not that I want.
I have more than 25.000 songs in differents folders.
The only thing I want to have is a feature I used in Megaseg: If you press Ctrl-5, five more random songs are added. If you previously made a previous fliter, the random songs are chosen among the filtered ones. Is a very versatile way to do selections with almost no preparation.
So... how can I made a random addition of songs to automix?
 

Posted Mon 12 Oct 20 @ 8:03 pm
NicotuxHome userMember since 2014
You can try something like this:
repeat_start_instant randomadd 25ms 5 & search '.' & param_multiply "file_count & param_1_x" "get_clock 1000" & param_cast frac & param_multiply "file_count" & param_cast int & browser_scroll & automix_add_next

Edit: That does not work as expected
 

Posted Mon 12 Oct 20 @ 9:13 pm
NicotuxHome userMember since 2014
With a filter already selected :
repeat_start_instant randomadd 150ms 5 & browser_window "songs" & browser_scroll top & param_multiply "file_count & param_1_x" "get_clock 1000" & param_cast frac & param_multiply "file_count" & param_cast int & browser_scroll & automix_add_next

this one is somehow OK
 

Posted Mon 12 Oct 20 @ 9:20 pm
CescBCNHome userMember since 2020
Thank you! This is what I wanted. I will study the code and try to improve it
 

Posted Thu 15 Oct 20 @ 12:02 pm
CescBCNHome userMember since 2020
Unfortunately, I have reinstalled VirtualDJ and the code is not working anymore. All that I have is 5 times the first song of the selection.
Any help?
 

Posted Sun 01 Nov 20 @ 6:24 pm
NicotuxHome userMember since 2014
Pfff ... frightful, unthinkable, inconceivable, .... auto cast is totally disable

repeat_start_instant randomadd 150ms 5 & browser_window "songs" & browser_scroll top & param_multiply "file_count & param_cast float & param_1_x & param_cast float" "get_clock 1000 & param_cast float" & param_cast float & param_cast frac & param_multiply "file_count & param_cast float" & param_cast int & browser_scroll & automix_add_next

OR .... WHEN MATH ENGINE AND CORE SCRIPT ENGINE ARE MORE AND MORE BROKEN

the bug with param_cast frac is growing ^^ ....
get_clock 1000" & param_cast frac & debug ==> int: 494472328

parameter passing are more and more broken
file_count & debug ==> no param
get_clock 1000 & debug ==> no param
param_multiply "file_count & param_cast val & param_1_x" "get_clock 1000" & debug ==> bool: 1

param_multiply "file_count & param_cast float & param_1_x" "get_clock 1000" & debug &
....

 

Posted Sun 01 Nov 20 @ 8:50 pm
CescBCNHome userMember since 2020
So it's my fault? There is something I can do?
Thank you
 

Posted Sun 01 Nov 20 @ 9:17 pm
NicotuxHome userMember since 2014
it is not your fault, it's VDJ update doing weird things ;)
or ... not doing things it used to

the script in previous post is working... at least here ^^
 

Posted Sun 01 Nov 20 @ 9:21 pm
locodogPRO InfinityModeratorMember since 2013
I tried something like this but browser_scroll is strange with absolutes
set 'erm' `get_clock 1000 & param_mod 101 & param_mutiply 0.01` & get_var 'erm' & param_cast 'absolute' & browser_scroll


If I could have mod by file_count... let me see if a virtualFX can crack this nut
 

Posted Sun 01 Nov 20 @ 10:40 pm
locodogPRO InfinityModeratorMember since 2013
grab a copy of virtualFX, rename it [the .dll & the .ini] to randomTracks
fill the .ini with the code here
randomTracks.ini
[autoparams]
Slider DIAL A 0=2234
String DIAL A 1=set 'fileNum' `effect_slider 'randomTracks' 1 & param_multiply 9 & param_add 1 & param_cast 'int_trunc'`
String LABEL A 3=get_text "files:`get_var 'fileNum'`"
Slider DIAL B 2=4095
String DIAL B 5=set 'seeder' `effect_slider 'randomTracks' 2 & param_multiply 75 & param_add 25 & param_cast 'int_trunc'`
String LABEL B 6=get_text "seed:`get_var 'seeder'`"
Slider DIAL C 4=2048
String DIAL C 7=
String LABEL C 12=
Switch BUTTON 1 8=0
String BUTTON 1 13=
Switch BUTTON 2 9=0
String BUTTON 2 14=
Switch BUTTON 3 10=0
String BUTTON 3 15=
String OnStart 16=get_text "repeat_start 'UFWA' `get_var 'seeder'`ms `get_var 'fileNum'` & browser_window 'songs' & browser_scroll 'top' & get_clock 1000 & param_mod `file_count & param_add 1` & param_cast & browser_scroll & automix_add_next" & param_cast 'text' & effect_string 'randomTracks' 7 & effect_button 'randomTracks' 1 toggle & repeat_start 'off' 100ms 1 & effect_active 'randomTracks' off
String OnStop 17=


dial 1 lets you pick 1 - 10 tracks, dial 2 effects the randomising seeding, call the fx & it will throw you a random pick of the folder you're in. It switches itself off.
Given how rsi times are fuzzy it's random enough
 

Posted Sun 01 Nov 20 @ 11:21 pm
CescBCNHome userMember since 2020
I'm sorry @locodog, but I'm using VirtualDJ under macOS Catalina
In this case, what is the procedure I need to follow? Try to explain it quite easy, as I not hace a very high macOS level.
Thank you.
 

Posted Mon 02 Nov 20 @ 2:19 am
locodogPRO InfinityModeratorMember since 2013
macOS you're out of luck, virtualFX is windows only for the moment
 

Posted Mon 02 Nov 20 @ 2:30 am
CescBCNHome userMember since 2020
So how can I make the code workable?
The few days that worked, I was very happy with them.
 

Posted Mon 02 Nov 20 @ 11:22 am
Grok32Home userMember since 2019
If you don't use your sidelist, you could try this. Highlight the songs you want to pick from and hit button. This is a different approach that doesn't use math.

sidelist_clear & sidelist_add & browser_window 'sidelist' & switch_sidelist_playlist & playlist_randomize_once & switch_sidelist_playlist & playlist_add & browser_window 'sidelist' & browser_scroll 'top' & browser_remove & browser_window 'sidelist' & switch_sidelist_playlist & playlist_randomize_once & switch_sidelist_playlist & playlist_add & browser_window 'sidelist' & browser_scroll 'top' & browser_remove & browser_window 'sidelist' & switch_sidelist_playlist & playlist_randomize_once & switch_sidelist_playlist & playlist_add & browser_window 'sidelist' & browser_scroll 'top' & browser_remove & browser_window 'sidelist' & switch_sidelist_playlist & playlist_randomize_once & switch_sidelist_playlist & playlist_add & browser_window 'sidelist' & browser_scroll 'top' & browser_remove & browser_window 'sidelist' & switch_sidelist_playlist & playlist_randomize_once & switch_sidelist_playlist & playlist_add & browser_window 'sidelist' & browser_scroll 'top' & browser_remove & browser_window 'automix' & playlist_remove_duplicates
 

Posted Mon 02 Nov 20 @ 1:46 pm
AdionPRO InfinityCTOMember since 2006
Nicotux wrote :
repeat_start_instant randomadd 150ms 5 & browser_window "songs" & browser_scroll top & param_multiply "file_count & param_cast float & param_1_x & param_cast float" "get_clock 1000 & param_cast float" & param_cast float & param_cast frac & param_multiply "file_count & param_cast float" & param_cast int & browser_scroll & automix_add_next

param_multiply "file_count & param_cast float & param_1_x & param_cast float" "get_clock 1000 & param_cast float"

get_clock 1000 can be a very big number depending on how long your system has been running, and the other side of the multiply will be a very small number (always smaller than 1). VirtualDJ floating point parameters only use 32 bits, so when multiplying a very small with a very big number, usually the precision is not sufficient and you will not get any decimal places.
Therefore param_cast frac will return 0.
You could add param_mod 1000 to ensure that get_clock doesn't return numbers bigger than 1000.

get_clock 1000" & param_cast frac & debug ==> int: 494472328

param_cast frac doesn't currently work on integers, and get_clock 1000 returns an integer. It could indeed return 0 in that case, but either way is not very useful.

file_count & debug ==> no param
get_clock 1000 & debug ==> no param

file_count and get_clock are queries, debug is an action. The only way to pass a query to an action is through param_*

In general it's easier to evaluate a query as a query. Put what you want to debug on a custom button in the name using backtic's or with 'query' as the name.
 

Posted Mon 02 Nov 20 @ 2:03 pm
locodogPRO InfinityModeratorMember since 2013
^figured^ it would be decimal place economy for large floats.
After a bit of dancing about I came up with this [strange that param_mod returns a float]

repeat_start 'UFWA' 200ms 5 & browser_window 'songs' & browser_scroll 'top' & param_mod "file_count" "get_clock 1000" & param_cast 'integer' & browser_scroll & automix_add_next


could it be more random, sure if you added in some browser resorting at the end, or crank up the rsi time
 

Posted Mon 02 Nov 20 @ 2:19 pm
74%