Forum: General Discussion

About VirtualDJ and DJing in general

If you need extended support, contact our Support Team.
Forum Guidelines  (*) The moderators hold the rights to remove, move or modify posts.
Topic: Let's share scripts for custom buttons
Hey everyone. I see this trend that has been building up all these years of customization. Now we are at a point where custom buttons are one of the most requested feature. Everyone loves them! There are however a lot of people that don't really need them or use them (I was once like that:P). I wanted to start this post of sharing ideas on buttons and scripts. Even though most skins nowadays offer so many featurs that you dont need custom buttons, and yet i still find myself learning new things i can add that don't nessecary need to be added in any skin as it it is in each user's preference. It would be nice if we can share our scripts and learn from each other! I think it will help users thad don't use custom buttons to get to learn more about custom buttons. This is what Virtual DJ is famous for ;) Sharing is caring
I'll get the ball rolling with mine and you can continue on the list!

1)Toggles though the filter effects and with space + the button it will go back so you have a better control:

var '$space' ? filter_selectcolorfx -1 : filter_selectcolorfx +1

2)Toggles though the new EQs(it also enable,disables mathengine AND resets eqs):

var '$space' ? setting 'mathengine' 'disabled' & eq_reset & setting 'eqMode' 'frequency' : eq_reset & setting 'mathEngine' 'Automatic' & setting 'eqMode' +1

3)This one enables or disables the video fade on volume faders for videos :

video_fadetoblack

4)This one blinks when pitch lock is enabled... (its a eye spot personal thing lol):

pitch_lock ? blink

5)This one monitors ask the day and will blink and if you click on it it will bring you to the ask the dj folder:

get_askthedj_unread ? blink 300ms : param_equal `get_browsed_folder` "Ask the DJ" ? goto_last_folder : browser_gotofolder "Ask the DJ"

6)This one is for controllers that use multi fx and single effcts like the denon mc600mk2. I personally use it for the Projext X skin but you can change it and use it with any skin that has a fuction like that:

toggle '$fx2multi' & deck 2 rightdeck ? skin_panel '@fx3_2' ? skin_panel '@fx1_2' : skin_panel '@fx3_2' : skin_panel '@fx3_4' ? skin_panel '@fx1_4' : skin_panel '@fx3_4' & toggle '

7)Simple one, enables or disables crossfader:

crossfader_disable

8) This one will enable video but if you press space + the button it will make the video be always on top (Useful when editing stuff):

var '$space' ? setting "videoWindowAlwaysOnTop" & video off & video on : video

9)I have 4 buttons mapped but the script is the same and all you do is change the deck number. What it does is it will overlay the video with a video from another deck. Lets say a video is inapropriate at a certain scene, you can switch real quick to a video from another deck....Or you can tease people with the next video clip... Usefull for those who use touch screens and you can even improve this to make the deck change if you add mix_now script:

deck 1 over_video

I used to have so much more but now that most skins are adding them in the skin, i am down to these 9. Cant wait to see what other users use!

Posted Fri 10 Jul 20 @ 7:53 pm
this really isnt very descriptive as to what each script does but it nay help someone willing to try them. deck 1 down ? mute : mute
(logic : pad/key down ? mute .. else unmute)

loop 1/4 and volume from 100 to 0 in one bar = deck 1 loop 0.25 & repeat_start_instant 'turndown' 100ms 20 & deck 1 level -5%

or =

deck 2 loop 0.5 & repeat_start_instant ‘turndown’ 100ms 20 & deck 2 level -5% & deck 1 level +100%

echo out effect keyboard key = effect_button 'echo' 1

video_fx "Shader" ? video_fx "Shader" off : video_fx "Shader" on

or

deck master video_fx "Shader" ? deck master video_fx "Shader" off : deck master video_fx "Shader" on

shader to browser flip = video_output ? video_output off : video_output on

Map it effect_active 'backspin' $ effect_active 'echo' to a button. When you press the button,it does just that

deck 1 play & deck 2 play

how to add to automix from sidelist and remove from sidelist:
automix_add_next & browser_window 'sidelist' & browser_remove



to unload a song from a deck:
unload

how to toggle video on and off
If you mean a button to toggle this off and on, try :

setting "videoWindowAlwaysOnTop" & video off & video on

(seems the video windows needs to be closed, then reopened for the change to take effect, but its "instant")

move the filter knob down
filter -1

deck 1 EQ_RESET & DECK 1 FILTER 50% & deck 1 gain 60% &deck 1 level 80% & sampler all stop & deck 2 eq_high 50% & deck 2 eq_mid 50% & deck 2 eq_low 50% & deck 2 level 80% & deck 2 filter 50% & sampler_volume_master 80% & crossfader 50%

to activate color effects with an old skin = filter_selectcolorfx

to move a selected song up or down in the autoix list = browser_move +1 (and -1) for up and down

Eq_low 0% & Repeat_start 'waitforit' 2000ms 1 & effect_start 'echo'



Posted Fri 10 Jul 20 @ 9:25 pm
deck 1 eq_kill_low & deck 1 eq_kill_mid & deck 1 eq_kill_high = eq_kill

deck 1 EQ_RESET & DECK 1 FILTER 50% & deck 1 gain 60% &deck 1 level 80% & sampler all stop & deck 2 eq_high 50% & deck 2 eq_mid 50% & deck 2 eq_low 50% & deck 2 level 80% & deck 2 filter 50% & sampler_volume_master 80% & crossfader 50% = master reset

DECK 1 effect_active "echo" & DECK 1 effect_active "reverb" & DECK 1 effect_active "flanger" & DECK 1 effect_active "noise" & DECK 1 effect_active "BALANCE" & DECK 1 effect_active "loudmax" & DECK 2 effect_active "echo" & DECK 2 effect_active "reverb" & DECK 2 effect_active "flanger" & DECK 2 effect_active "noise" & DECK 2 effect_active "BALANCE" & DECK 2 effect_active "loudmax" = fx

deck 1 down ? mute : mute
(logic : pad/key down ? mute .. else unmute) = mute while pressed

automix_add_next & browser_window 'sidelist' & browser_remove = add to automix and remove from sidelist

deck 1 level 80% = deck 1 level 80%

master_volume 80% = master volume 80%

deck 1 play_pause = deck 1 play / pause



Posted Fri 10 Jul 20 @ 9:29 pm
Already Played <= 0 and bpmdiff <= 2.5 and keydiff <= 1 and drive = h and filepath starts with "H:\must have\my stuff\music\all music" and genre is country

top 50 play count and filepath starts with "H:\must have\my stuff\music\all music"and genre is country and Already Played <= 0
top 50 nbplay and genre is country

bpmdiff<=1 and keydiff <= 1 and genre is country

top 50 play count and genre contains 'country' and rating >4
swap_decks

Posted Fri 10 Jul 20 @ 9:31 pm
switch sidelist and remove played and switch back - switch_sidelist_playlist & playlist_remove_played & switch_sidelist_playlist

Posted Fri 10 Jul 20 @ 9:32 pm
your extra button, sets effect_beats, calls the loop out fx, sets up a rsi [30ms, -1 repeats (infinite times)] to monitor if loop out is active, if true do nothing , if false return beats param to other value and stop the repeat with repeat_stop

effect_beats 'loop out' 1 && effect_active 'loop out' on && repeat_start_instant 'watchingForLOoff' 30ms -1 & effect_active 'loop out' on ? nothing : effect_beats 'loop out' 0.5 & repeat_stop 'watchingForLOoff'

automix & record & repeat_start "checkAutomix" 2000ms &
get_automix_song "title" & param_equal '' && not deck master is_audible? record 0 & automix 0 & repeat_stop "checkAutomix" = stop recording

Posted Fri 10 Jul 20 @ 9:34 pm
pad_page 'hotcues'
deck 2 pad_page "custom" & deck 1 pad_page "sampler"

Posted Fri 10 Jul 20 @ 9:35 pm

Posted Fri 10 Jul 20 @ 9:47 pm
locodogPRO InfinityModeratorMember since 2013
@M4L small typo by Rune, now fixed

Posted Sat 11 Jul 20 @ 1:23 pm
Found this one already mapped to a button in the Vectro skin for karaoke
adds the selected song to the bottom of the Karaoke side list and pop up the singer dialog to add the singer name and change key of desired.

karaoke_add & browser_window "Sideview" & browser_scroll "bottom" & edit_singer & browser_window "songs"

Posted Sun 12 Jul 20 @ 5:44 pm
gihemPRO InfinityMember since 2016
This one is not for a button but for a fader, to exchange seamlessly vocals between decks:

param_multiply 0.5 & deck right eq_high & param_multiply 2 & param_invert & param_multiply 0.5 & deck left eq_high

I mapped 2 other faders for eq_mid and eq_low, so now I have 3 "stems" crossfaders instead of just one... ;-)
And my last fader is used as video crossfader:

video_crossfader & param_greater 0% ? param_smaller 100% ? deck left play & deck right play

Posted Tue 14 Jul 20 @ 6:39 pm
locodogPRO InfinityModeratorMember since 2013
so I was messing round and I made this, used with breakbeat it turns the track into cheesy bouncy d&b.
limited to instrumental breakbeat really but a bit of fun.

repeat_start 'somethingStupid' ? on & repeat_stop 'somethingStupid' : off & repeat_start 'somethingStupid' 20ms & param_smaller `get_beat_bar 1` 0.7 ? goto +0.3 :

Posted 4 days ago @ 6:05 pm
NicotuxHome userMember since 2014
in a way to resize the main page smaller than half the skin widh limitation
set the height & press the button :
skin_height & param_multiply 1.77777777 & param_cast int & skin_width

Posted 3 days ago @ 12:29 pm
I am someone with no much knowledge in programming so maybe you guys can assist me. When Automix is on , the software mixes the tracks (when BPMs are close) by adjusting BOTH tracks SIMULTANEOUSLY until they match so the transition is smooth. Is there a way to assign a button so do that when Automix is off? Now i use ,for example, 'mix_now 4000ms & pitch_reset 4000ms' or 'mix_now 4000ms & pitch_reset 0'.

Posted 3 days ago @ 4:46 pm
With no much knowledge myself in programming , maybe you guys can assist me. When Automix is on , the software mixes the tracks (when BPMs are close) by adjusting BOTH tracks SIMULTANEOUSLY until they match, so the transition is smooth. Is there a way to assign a button to do that manually when Automix is off? Now i use ,for example, 'mix_now 4000ms & pitch_reset 4000ms' or 'mix_now 4000ms & pitch_reset 0'.


Posted 3 days ago @ 7:31 pm