Accesso rapido:  

Forum: General Discussion

Topic: Let's share scripts for custom buttons - Page: 1
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!
 

Inviato 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'


 

Inviato 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


 

Inviato 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
 

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

Inviato 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
 

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

Inviato Fri 10 Jul 20 @ 9:35 pm
 

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

Inviato 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"
 

Inviato 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
 

Inviato 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 :
 

Inviato Tue 15 Sep 20 @ 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
 

Inviato Wed 16 Sep 20 @ 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'.
 

Inviato Wed 16 Sep 20 @ 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'.

 

Inviato Wed 16 Sep 20 @ 7:31 pm
NicotuxHome userMember since 2014
loading 4 time the same track does not use more time or memory then once only. VDJ is sharing everything between tdecks
can be used with 4 decks skins, but only fully for one track , blind mix

deck1/5= rhythm deck2/6= bass deck3/7=Instru deck4/8=Vocal
any deck can apply individualy different effects

decks 1/5 are used to display video left / right, if it stops, video will stop (some improvement is needed here - vb_8decks can display playing video channel on preview/extra)

faderStartStop can't be set to crossfader only, thus DO NOT set a deck to level 0 or it will stop and reset to 0 (use clone_from other to restart playing sync)
mix 1234 - 5678

In a way to get ready to use separated deck for each stems (8 decks) use it once first track is loaded with skin with less decks:

stem init : mixer_order 1234 & crossfaderDisable no & crossfader_hamster no & faderStart on & faderStartStop on &
deck 1 cross_assign 'left' & leftdeck & leftvideo & deck 2 cross_assign 'left' & deck 3 cross_assign 'left' & deck 4 cross_assign 'left' &
deck 5 cross_assign 'right' & rightdeck & rightvideo & deck 6 cross_assign 'right' & deck 7 cross_assign 'right' & deck 8 cross_assign 'right' &
setting stemBleedMuteVocal 80% & setting stemBleedMuteInstru 30% & setting stemBleedOnlyVocal 30% & setting stemBleedOnlyInstru 30%

reset everything to default :

stem_exit : setting_reset mixerOrder & setting_reset crossfaderDisable & setting_reset crossfader_hamster & setting_reset faderStart & setting_resetfader StartStop &
deck 1 cross_assign 'left' & leftdeck & leftvideo & deck 2 cross_assign 'right' & rightdeck & rightvideo & deck 3 cross_assign 'left' & deck 4 cross_assign 'right' &
deck 5 cross_assign 'left' & deck 6 cross_assign 'right' & deck 7 cross_assign 'left' & deck 8 cross_assign 'right' &
setting_reset stemBleedMuteVocal & setting_reset stemBleedMuteInstru & setting_reset stemBleedOnlyVocal & setting_reset stemBleedOnlyInstru

or if you prefer a toggle button:

stem mix mode : mixer_order 1234 ? on & setting_reset mixerOrder & setting_reset crossfaderDisable & setting_reset crossfader_hamster & setting_reset faderStart & setting_resetfader StartStop &
deck 1 cross_assign 'left' & leftdeck & leftvideo & deck 2 cross_assign 'right' & rightdeck & rightvideo & deck 3 cross_assign 'left' & deck 4 cross_assign 'right' &
deck 5 cross_assign 'left' & deck 6 cross_assign 'right' & deck 7 cross_assign 'left' & deck 8 cross_assign 'right' &
setting_reset stemBleedMuteVocal & setting_reset stemBleedMuteInstru & setting_reset stemBleedOnlyVocal & setting_reset stemBleedOnlyInstru : mixer_order 1234 & crossfaderDisable no & crossfader_hamster no & faderStart On & faderStartStop on &
deck 1 cross_assign 'left' & leftdeck & leftvideo & deck 2 cross_assign 'left' & deck 3 cross_assign 'left' & deck 4 cross_assign 'left' &
deck 5 cross_assign 'right' & rightdeck & rightvideo & deck 6 cross_assign 'right' & deck 7 cross_assign 'right' & deck 8 cross_assign 'right' &
setting stemBleedMuteVocal 80% & setting stemBleedMuteInstru 30% & setting stemBleedOnlyVocal 30% & setting stemBleedOnlyInstru 30


STEM VERSION OF load / play / play_pause / stop :
--------------------------------------------------------------------------------
deckset left stem load : deck 1 load & only_stem rhythm on & deck 2 load & only_stem bass on & deck 3 load & only_stem instru on & deck 4 load & only_stem vocal on
deckset left stem play : crossfader 100% & crossfader 50%
deckset left stem play_pause : deck 3 play ? pause & deck 1 pause & deck 2 pause & deck 4 pause : pause ? play & clone_deck 4 & clone_deck 2 & clone_deck 1 : crossfader 100% & crossfader 50%
deckset left stem stop : deck 1 stop & deck 3 stop & deck 4 stop & deck 2 stop_button & clone_deck 1 & clone_deck 3 & clone_deck 4

deckset right stem load : deck 5 load & only_stem rhythm on & deck 6 load & only_stem bass on & deck 7 load & only_stem instru on & deck 8 load & only_stem vocal on
deckset right stem play : crossfader 0% & crossfader 50%
deckset right stem play_pause : deck 7 play ? pause & deck 5 pause & deck 6 pause & deck 8 pause : pause ? play & clone_deck 8 & clone_deck 6 & clone_deck 5 : crossfader 0% & crossfader 50%
deckset right stem stop : deck 5 stop & deck 7 stop & deck 8 stop & deck 6 stop_button & clone_deck 5 & clone_deck 7 & clone_deck 8

Now you can remix live i.e.: add power on rytmm, dub on bass, chorus on vocal and move placement, some reverb on instru.... and control levels on the fly

I admit, it's a bit simpler with a custom 8-track skin that exposes all the effects in 2D sliders and with touch screens ;)
 

Inviato Mon 21 Sep 20 @ 3:53 am
Get the playbutton blink on the beat

get_beatpos & param_mod 1 & param_smaller 0.25 ? on:off
 

Inviato Mon 21 Sep 20 @ 10:22 pm
NicotuxHome userMember since 2014
get the play_pause for stem(multi deck) button blink on pause & lit on on play & lit off when not loaded
LEFT:
deck left play ? on & pause & deck all cross_assign left ? pause : : pause ? blink & play & deck all cross_assign left ? clone_from_deck left : : crossfader 100% & crossfader 50%
RIGHT:
deck right play ? on & pause & deck all cross_assign right ? pause : : pause ? blink & play & deck all cross_assign right ? clone_from_deck right : : crossfader 100% & crossfader 50%
 

Inviato Mon 21 Sep 20 @ 10:41 pm
FX Pad "Cut Slide"
Basically i'm building a pad for actually good and interactive pad FX and this is the first one.
<?xml version="1.0" encoding="UTF-8"?>
<page name="FX">
<pad1 name="Cut Slide">effect_select 1 &apos;cut&apos; &amp; effect_select 2 &apos;reverb&apos; &amp; effect_active 1 smart_pressed &amp; effect_active 2 smart_pressed &amp; down ? effect_slider 1 1 0 &amp; &amp; effect_slider 2 1 0 &amp; effect_slider 1 2 0.7 &amp; repeat_start_instant &apos;fx_cut&apos; 10ms &amp; effect_slider 1 1 +1% &amp; effect_slider 2 1 &amp; param_smaller 40% ? effect_slider 2 1 +0.4% : nothing : repeat_stop &apos;fx_cut&apos;</pad1>
<pad5 name="Half">effect_slider 2 -5</pad5>
</page>
 

Inviato Thu 24 Sep 20 @ 9:48 pm
FunctionGer wrote :
FX Pad "Cut Slide"
Basically i'm building a pad for actually good and interactive pad FX and this is the first one.
<?xml version="1.0" encoding="UTF-8"?>
<page name="FX">
<pad1 name="Cut Slide">effect_select 1 'cut' & effect_select 2 'reverb' & effect_active 1 smart_pressed & effect_active 2 smart_pressed & down ? effect_slider 1 1 0 & & effect_slider 2 1 0 & effect_slider 1 2 0.7 & repeat_start_instant 'fx_cut' 10ms & effect_slider 1 1 +1% & effect_slider 2 1 & param_smaller 40% ? effect_slider 2 1 +0.4% : nothing : repeat_stop 'fx_cut'</pad1>
<pad5 name="Half">effect_slider 2 -5</pad5>
</page>


Can it be used ln a custom button?
 

Inviato Fri 25 Sep 20 @ 2:07 am
69%