Hi
On my skin I have added a floating window I can run on a separate touchscreen that contains a sample pad with 64 buttons. I am either DJing or providing sound for live acts, so my usage of the sample pad changes depending on what I am doing.
Since the latest update I have had to change my floating window to include <deck deck="master"> to make sure when pressing a sample on the pad, the correct sample plays, because if the right deck is selected and the pad page is NOT '1 - 8', the wrong sample slots plays
This is fine and everything works OK when working with acts, but I am really excited about the new sample features that have been added and would like to use them when DJing, but with my sample windows set to MASTER, you can't use with sample swap feature.
I have created a new layout that only shows when
(visibility="sampler_options 'stemswap') is true.
and this works, but only if you set the (specifically the right deck) pad page to 0, if it is anything else then the wrong sample plays when using the 'sample_pad' instruction.
i.e. if the sample pad is set to '9-12' then 'sample_pad 1' will play the sample in slot 9.
More strangely the 'color' returned using 'sampler_color' and 'sampler_position' also changes to 9 but other things on my button i.e
'get_sample_name'
'get_sample_info'
and 'sampler_volume'
are still using information for sample slot 1 so there is a confusing disconnect and you can't be sure what is going to happen without checking other screens with the relevant information.
If I use 'sample_play' or 'sample_play_stop' it will make sure the correct sample (1) is played but it no longer plays according to 'sampler_mode' which would be preferable.
At this point the only solution I can think of would be to have multiple buttons in my 'sampler button' class that each play differently then only show the one that corresponds to whatever 'sampler_mode' is active, which seems a bit long winded, and the sample color would still be wrong for that sample, plus I only know how to do 'play' 'play_stop' and 'play_stutter' to not sure how I would do 'unmute' or 'hold'.
EDIT: 'sampler_color' displays the color according to the pad page, 'get_sample_color' returns the ACTUAL color for the slot (i.e. 1) so solves that problem.
So is there a way 'sampler_pad' can be forced to use a specific pad page (ie 1-8).
Any other suggestions would also be welcomed.
On my skin I have added a floating window I can run on a separate touchscreen that contains a sample pad with 64 buttons. I am either DJing or providing sound for live acts, so my usage of the sample pad changes depending on what I am doing.
Since the latest update I have had to change my floating window to include <deck deck="master"> to make sure when pressing a sample on the pad, the correct sample plays, because if the right deck is selected and the pad page is NOT '1 - 8', the wrong sample slots plays
This is fine and everything works OK when working with acts, but I am really excited about the new sample features that have been added and would like to use them when DJing, but with my sample windows set to MASTER, you can't use with sample swap feature.
I have created a new layout that only shows when
(visibility="sampler_options 'stemswap') is true.
and this works, but only if you set the (specifically the right deck) pad page to 0, if it is anything else then the wrong sample plays when using the 'sample_pad' instruction.
i.e. if the sample pad is set to '9-12' then 'sample_pad 1' will play the sample in slot 9.
More strangely the 'color' returned using 'sampler_color' and 'sampler_position' also changes to 9 but other things on my button i.e
'get_sample_name'
'get_sample_info'
and 'sampler_volume'
are still using information for sample slot 1 so there is a confusing disconnect and you can't be sure what is going to happen without checking other screens with the relevant information.
If I use 'sample_play' or 'sample_play_stop' it will make sure the correct sample (1) is played but it no longer plays according to 'sampler_mode' which would be preferable.
At this point the only solution I can think of would be to have multiple buttons in my 'sampler button' class that each play differently then only show the one that corresponds to whatever 'sampler_mode' is active, which seems a bit long winded, and the sample color would still be wrong for that sample, plus I only know how to do 'play' 'play_stop' and 'play_stutter' to not sure how I would do 'unmute' or 'hold'.
EDIT: 'sampler_color' displays the color according to the pad page, 'get_sample_color' returns the ACTUAL color for the slot (i.e. 1) so solves that problem.
So is there a way 'sampler_pad' can be forced to use a specific pad page (ie 1-8).
Any other suggestions would also be welcomed.
Inviato Mon 09 Dec 24 @ 4:57 pm
I may have answered my own question, when sampler_swap is active on a bank I have created a button panel definition that has 3 buttons
'sampler_play_stop'
'sampler_play_stutter'
& 'sampler_play_stop' 'while_pressed'
and only show the appropriate button according to sample_mode, I skipped 'unmute' but since I don't use it I can live with that.
I was worried that 'sampler_play_stop' wouldn't work with 'sample_swap' the same way 'sample_pad' does but it appears to be working as expected.
I know the guys are still working on the new sampler so it may stop working or the original way may work later on but if nothing else it gave me more insight into how the sampler and the differences when using sampler_pad.
Any other pointers for anything I may have missed is still very welcome.
'sampler_play_stop'
'sampler_play_stutter'
& 'sampler_play_stop' 'while_pressed'
and only show the appropriate button according to sample_mode, I skipped 'unmute' but since I don't use it I can live with that.
I was worried that 'sampler_play_stop' wouldn't work with 'sample_swap' the same way 'sample_pad' does but it appears to be working as expected.
I know the guys are still working on the new sampler so it may stop working or the original way may work later on but if nothing else it gave me more insight into how the sampler and the differences when using sampler_pad.
Any other pointers for anything I may have missed is still very welcome.
Inviato Mon 09 Dec 24 @ 8:21 pm
@sofit nothing existing, you could make your own thing with a rsi, I'll pick at it because it's a little more involved that 1 value
Inviato Mon 09 Dec 24 @ 10:26 pm
I just watched the youtube video on scripting and I think im way out of my league.
Im trying to make a button that will fadeout the current song, pause and cue the next song in my automix playlist.
I would also like this button to work with the karaoke playlist. if this is possible please let me know.
thanks
John
Im trying to make a button that will fadeout the current song, pause and cue the next song in my automix playlist.
I would also like this button to work with the karaoke playlist. if this is possible please let me know.
thanks
John
Inviato Tue 10 Dec 24 @ 3:49 pm
I really dislike writing scripts for automix, too may options come into play, karaoke makes it even worse.
Inviato Tue 10 Dec 24 @ 4:37 pm
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)?
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)?
Inviato Wed 11 Dec 24 @ 12:41 pm
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]
Inviato Wed 11 Dec 24 @ 6:18 pm
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!
eq_low
eq_mid
eq_high
this scripts are wrong?
thanks!
Inviato Sat 14 Dec 24 @ 4:46 pm
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.
but I would like to use this calculation formula as an argument for scratch.
Inviato Wed 15 Jan 25 @ 5:53 pm
@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
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
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
Inviato Wed 15 Jan 25 @ 7:32 pm
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?
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?
Inviato Thu 16 Jan 25 @ 12:09 am
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 tried this script, but it seems that the small amount of time it takes for the play command causes small error and shifts.
Inviato Thu 16 Jan 25 @ 12:20 am
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?
Inviato Thu 16 Jan 25 @ 6:18 am
locoDog wrote :
But to answer the question, mainly to show how to get ms/beat values
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.
Inviato Thu 16 Jan 25 @ 4:27 pm
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`
try get_time elapsed
Also
cue_pos 1 mseconly is not pitch adjusted, use this instead
`get_time cue1 1000`
Inviato Thu 16 Jan 25 @ 5:09 pm
You can make the beat to milliseconds part a little bit shorter btw
constant 1bt & param_cast ms
constant 1bt & param_cast ms
Inviato Thu 16 Jan 25 @ 6:03 pm
@adion nice addition, thanks for the info.
Inviato Thu 16 Jan 25 @ 6:09 pm
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
Inviato Fri 17 Jan 25 @ 12:04 am
Adion wrote :
You can make the beat to milliseconds part a little bit shorter btw
constant 1bt & param_cast ms
constant 1bt & param_cast ms
This script made it easier! thank you!
constant 1bt & param_cast ms & param_cast relative & scratch
Inviato Fri 17 Jan 25 @ 12:07 am
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?
Inviato Fri 17 Jan 25 @ 4:24 pm