Manual del Usuario


Apendice

List of Verbs


Flow

nothing
Do nothing.

up
execute different actions depending if the key if pressed or released: 'up ? action1 : action2'

down
execute different actions depending if the key if pressed or released: 'down ? action1 : action2'

isrepeat
execute different actions depending if the key is being repeated or if it's the first message (on Windows, keyboard shortcuts are usually auto-repeated while held down): 'isrepeat ? nothing : goto_cue')


Param

true (or on or yes)
returns true

false (or no or off)
returns false

constant (or get_constant)
Return the specified value Example: 'get constant 75%' always returns 75%

dim
equivalent of "constant 0.1"

color_mix
Mix two colors based on an action in the third parameter color_mix white red `get_limiter`

color
color "red" color "#C08040" color 0.8 0.5 0.25 color 75% "red" (returns a dimmed red) color 0.66 (returns a gray)

param_bigger (or param_greater)
check if the value of the calling slider/encoder/button is bigger than something: 'param_bigger 0 ? Sampler loop 200% : Sampler loop 50%' compare value of the first parameter with the value of the second parameter. Both parameters can be actions instead of values: 'param_bigger pitch pitch_slider'

param_equal
Check if the value of the calling slider/encoder/button is equal to something To compare a string with the result of an action, use param_equal `action param` "string". For example: param_equal `get_browsed_song 'type'` "audio"

param_contains
check if the value of the calling action contains the string in the parameter

param_smaller
check if the value of the calling slider/encoder/button is smaller than something: 'param_smaller 0 ? Sampler loop 200% : Sampler loop 50%'

param_add
add the given value to the value of the calling slider/encoder/button add the value of the first parameter with the value of the second parameter. Both parameters can be actions instead of values: 'param_add `get_var a` `get_var b`'

param_multiply
multiply the value of the calling slider/encoder/button by the given value: 'param_multiply 300% & effect slider' The parameter can also be an action 'cue_pos 0 & param_multiply "get_time total 1000"'

param_1_x
invert the value of the calling slider/encoder/button (calculate 1/x) 'param_1_x & effect slider'

param_pow
param_pow y : computes the power of the caller to the power of y. Can be 0.5 for calculating square root.

param_invert
invert the value of the calling slider/encoder/button (1-x): 'param_invert & pitch_slider'

param_mod
wrap the value of the calling slider/encoder if more than the given value

param_pingpong
transform the value of the calling slider/encoder from a linear scale to a forth-and-back scale

param_cast
cast the value of the previous query action into a new type: 'pitch_range & param_cast "percentage"'. Valid types are 'integer', 'float', 'percentage', 'ms', 'boolean', 'beats', 'text'. casting to text can also optionally limit the number of characters: 'get_browsed_song "artist" & param_cast "text" 5' to format a number as text with a specific number of digits: 'get_bpm & param_cast "000"' param_cast 'int_trunc' : provides the integer part of a number without rounding to the nearest integer param_cast 'frac' : provides the decimal part of a number. param_cast 'relative' and param_cast 'absolute' : change the parameter to be a relative or absolute value

param_delta
transform an absolute value into relative (example: 0.5, 0.7, 0.8 will become +0.0, +0.2, +0.1)

param_uppercase
change the text result of the previous element in the script into uppercase

param_lowercase
change the text result of the previous element in the script into lowercase

param_ucfirst
change the first letter into upper case and the rest in lower case

blink
turn on and off the LED, once per second. You can specify the speed: 'blink 1000ms' Speed can also be specified in number of beats: 'blink 1bt'. The time blinking can also be specified: 'blink 1bt 25%'

fadeout
'loop & fadeout 10000ms 3000ms' will return 100% when loop is on, and fade out to 0% after 10 seconds in 3 seconds when loop turns off Alternatively, the action can be entered as the third parameter in backticks: 'fadeout 10000ms 3000ms `loop`'

pulse
return true when the previous action turns to true only for the duration specified: 'is_using 'equalizer' & pulse 2000ms'

param_make_discrete
useful for smooth endless encoders, to make them discrete Example: 'param_make_discrete 0.1 & param_bigger 0 ? loop_move +100% : param_smaller 0 ? loop_move - 100%'


Repeat

repeat
repeat the actions every x ms as long as the key is pressed: 'repeat 1000ms & browser_scroll +1' (default is 500ms if no speed is specified. Second parameter can specify a delay before repeating the first time)

repeat_start
Repeat an action at a specified interval: 'repeat_start 'myrepeatname' 1000ms 5 & browser_scroll +1' (first parameter is an identifier name, second parameter is the interval and the third optional parameter can specify a number of times to repeat). The first action will be performed after an interval has passed. The interval can be specified in milliseconds, beats, or can be an action of itself. 'repeat_start 'myrepeatname' 1bt' or 'repeat_start 'myrepeatname `get_var a`'

repeat_start_instant
Repeat an action at a specified interval: 'repeat_start_instant 'myrepeatname' 1000ms 5 & browser_scroll +1' (first parameter is an identifier name, second parameter is the interval and the third optional parameter can specify a number of times to repeat). The first action will be performed immediately.

repeat_stop
stop a previous repeat_start or repeat_start_instant action: 'repeat_stop 'myrepeatname''

wait
wait for the specified amount of time between two script actions: 'wait 1bt & pause', 'wait 500ms & play'

holding
execute different actions depending if the key is pressed for a long time or not: 'holding ? automix : mix_now'. you can specify the time ('holding 1000ms'), by default it's 500ms.

doubleclick
execute different actions depending if the key is pressed twice in a short period of time or not: 'doubleclick ? automix : mix_now'. you can specify the time between two presses ('doubleclick 1000ms'), by default it's 300ms.


Skin

skin_panel (or skin_pannel)
show or hide a panel on the skin. "skin_panel 'my_panel' on"

skin_panelgroup (or skin_pannelgroup)
change which panel from a skin panel group is shown. syntax "skin_panelgroup 'groupname' 'panelname'" or "skin_panelgroup 'groupname' +1" or "skin_panelgroup 'groupname' 0.75"

skin_panelgroup_available
set a panel to be available or not. panels that are not available will not show up in group cycles

lock_panel (or lock_pannel)
NOTE: despite the name, this action acts on <split> elements, not <panel>

show_splitpanel
Show/hide the specified split panel Examples: "show_splitpanel 'sidelist'", "show_splitpanel 'sideview' on", "show_splitpanel 'sidelist' 50%"

rack
Open/close a unit in specified rack. Example: "rack 'rack1' 'unit1'"

rack_solo
Open/close a unit in full size on the specified rack. Closing the unit will re-open the previous configuration. Example: "rack_solo 'rack1' 'unit1'"

rack_prioritize
Prioritizes a unit of the specified rack. When more configurations with same size are available, the prioritized unit will get most space. Example: "rack_prioritize 'rack1' 'unit1'"

custom_button
a custom button is a button with initially no action, but the action can be written in VDJScript by the user

custom_button_name
return (or set) the name for this custom button

has_custom_button
returns true if this custom button has an action assigned to it

custom_button_edit
open the custom button editor to set or change the action

multibutton
Click on the named multibutton: 'multibutton "my_button"'

multibutton_select
Open the selection menu for the named multibutton. If a second text parameter is provided after the name, use it as the new action to load in the multibutton: 'multibutton_select "my_button" "goto_cue 2 & play"'

zoom (or zoom_scratch)
zoom horizontal rhythm and Scratch visual

zoom_vertical
zoom vertical Scratch wave

switch_skin_variation

load_skin
load a new skin. Use syntax " load_skin ':newvariation' " to load a different variation inside the same skin file.

skin_empty_buttons

is_using
check if a particular feature is being used ('filter', 'equalizer', 'loop', 'cue', 'sample', ' Pads ', 'effect', 'load')

has_logo

get_skin_color

has_cover

skin_width

skin_height

skin_starter_tip


System

get_cpu
get the cpu activity

get_peak_audio

get_clock
get the current time (use 'get_clock 12' to display AM/PM)

get_date
get the current date (use 'get_date "format"' to get the date in a specific format. format can include %Y, %m, %d for year, month and day, %A for weekday)

is_pc (or is_windows)
return true if the computer is a PC, false if it's a MAC (example: <panel visible="is_pc" />)

is_mac (or is_macos)
return true if the computer is a MAC, false if it's a PC

has_notch
return true when the display has a notch at the top center and the skin is maximized, false otherwise

system

debug
display the value of the parameter (you can use this to see what values controllers are sending, for example)

open_help
open the user guide

get_battery
returns how much battery is left on your laptop

is_battery
returns true if your computer is running on batteries

has_battery
returns true if your computer has batteries

getfood
because no DJ should work on an empty stomach

show_keyboard
display an onscreen keyboard

system_volume
Change the system volume of the active sound card when available (use has_system_volume to check)

has_system_volume
Returns true when the system volume can be modified

handshake
Perform an encrypted handshake to ensure that this plugin is currently being called by a real VirtualDJ environment. Call this passing any string, decrypt the result using VirtualDJ's handshake public key, and check that it matches what you passed. See the developer documentation on our website for example code.


Variables

var
'var "my_var" ? my_action1 : my_action2'. execute my_action1 if my_var is true (non zero), execute my_action2 otherwise. You can also compare var with a specific value: 'var "my_var" 1 ? my_action1 : my_action2' execute my_action1 is my_var is 1, or my_action2 otherwise

var_equal
syntax: 'var_equal "my_var" 42 ? my_action1 : my_action2'. execute my_action1 if my_var equals 42, execute my_action2 otherwise. syntax: 'var_equal "this_var" "that_var" ? action1 : action2' execute action1 if this_var equals that_var, execute action2 otherwise

var_not_equal
syntax: 'var_not_equal "my_var" 42 ? my_action1 : my_action2'. execute my_action1 if my_var doesn't equal 42, execute my_action2 otherwise.

var_smaller
syntax: 'var_smaller "my_var" 42 ? my_action1 : my_action2'. execute my_action1 if my_var is smaller than 42, execute my_action2 otherwise.

var_greater
syntax: 'var_greater "my_var" 42 ? my_action1 : my_action2'. execute my_action1 if my_var is greater than 42, execute my_action2 otherwise.

set_var_dialog
set_var_dialog 'varname' opens a dialog to enter the value of varname set_var_dialog 'varname' 'information text' opens a dialog to enter the value of varname, and shows the second parameter as informational text

set
set 'varname' 5 Sets variable varname to the value 5 set 'varname' 'var2' Sets variable varname to the value of variable var2 set 'varname' `play` Sets variable varname to the value of the action play

toggle
syntax: 'toggle "my_var"'. toggle my_var between true and false.

cycle
syntax: 'cycle "my_var" 42'. increment my_var, and goes back to 0 when it reaches 42. 'cycle "my_var" -42' decrements my_var, and goes to 41 after it reached 0.

get_var
get the value of the specified variable

set_var
set the value of the specified variable

var_list
show a window with a list of your current variables and their values

controllervar
variable that is unique to each controller. You can add # in front of the variable name to make it both deck and controller-dependent


Window

close
close the application.

minimize
minimize the application in the taskbar.

maximize
maximize the application to maximized, full screen, or back to windowed. A specific mode can be selected using "maximize 'windowed'", "maximize 'maximized'" or "maximize 'fullscreen'"

show_window
on skin with multiple windows, show or hide the specified window

open_stem_creator


Audio

song_pos
position in the song. (the difference between song_pos and goto is that song_pos can be used as a slider).

goto
change the position in the song. 'goto +10ms' jumps 10ms forward. 'goto -4' jumps 4 beats backward. 'goto 20%' jumps to 20% of the song's length.

goto_bar
put the song on its nth beat after the downbeat without loosing sync: 'goto_bar 4'

songpos_remain
get the remaining time in %. if used with a parameter (in % or ms), returns true if the time left is less or equal than the value: 'songpos_remain 500ms ? blink'.

songpos_warning
returns true if the song is in its last 30s (actual time can be adjusted in options)

seek
move into the song while the button is pressed. 'seek +2' moves beat by beat, skipping 2 beats every 10ms. 'seek +420ms' moves from 420ms every 10ms. using skip with a beat number keep the song playing correctly while moving inside.

reverse
play the song backward

dump
reverse the playback direction while dump is active, then when deactivated, start again forward from where the song should have been if it had been playing forward during the dump. when quantize_all is active, dump will be quantized to match the beats. This can also be forced by using 'dump quantized' or 'dump notquantized' to dump only while the key is pressed, use 'dump while_pressed'

goto_first_beat
automatically goes to the first beat in the song.

goto_start
go to the start of the song.

mixermode
Return true if internal mixer used ( Master output available), false if external mixer used. Parameter can also be explicit: mixermode "internal" or mixermode "external"

beat_juggle
Alternatively jumps one beat forward and backward 'beat_juggle 0.5' will jump 1/2 beat forward or backward

swap_decks
swap deck 1 and deck 2

clone_deck
clone the deck (load the same song on the other deck, and play it from the same position, ready for beat-juggling).

clone_from_deck
clone from the other deck (load the song from the other deck, and play it from the same position, ready for beat-juggling).

move_deck
load the song from the called deck into the deck specified by the parameter and unloads the song from the calling deck

stems_split
'stems_split' will duplicate deck 1 to deck 3 or deck 2 to 4, with the vocals playing on the first deck and the instruments on the other deck 'stems_split vocal target' will duplicate the opposite deck to the deck stems_split was called from

stems_split_unlink
After using stems_split, you can use stems_split_unlink to have the decks behave independently, allowing to Scratch the vocals without affecting the instrumental for example

dualdeckmode
toggle dual deck mode. when enabled dualdeckmode_decks will apply to both decks 1/3 or 2/4

dualdeckmode_decks

beatjump
Jump a certain number of beats as set by beatjump_select 'beatjump +1' to jump forward, or 'beatjump -1' to jump backwards

beatjump_select
Select the number of beats the beatjump action will jump 'beatjump_select 4' to set beatjump to 4 beats 'beatjump_select +1' to set the next higher beat size 'beatjump_select 50%' to halve the current beat size 'beatjump_select 200%' to double the current beat size

beatjump_page
change the offset of the jumps in beatjump_pad actions

beatjump_pad
execute 'goto +x' where x depends on the pad number and the beatjump_page


Audio_controls

play
start the deck.

play_stutter
if paused, start the deck. if playing, restart from last stutter point.

play_pause
if paused, start the deck. if playing, pause the deck.

pause_stop
if playing, pause the deck. if stopped, rewind to beginning of the song, then cycle through all cue points each time pressed.

stop
stop to the last cue point, then on second press to the beginning of the song, then cycle through the cue points.

pause
pause the deck.

play_button (or play_3button)
depending on the play_mode, act like play_stutter (Numark way) or play_pause (Pioneer way).

stop_button (or stop_3button)
depending on the play_mode, act like pause_stop (Numark way) or stop (Pioneer way).

play_options
show a context menu to select the behavior of the play and cue buttons, and the various smart modes

auto_sync_options
show a context menu to control the various auto-sync options

deck_options
show a context menu to select the behavior of the play and cue buttons, the various smart modes, and pitch options

blink_play
blinking fast when less than 10 seconds remaining, blinking slow when less than 30 seconds remaining, off otherwise 'blink_play on' is similar, but is on when the song is paused, and only off if no song is loaded or the loaded song has an error

emergency_play
play something


Audio_inputs

mic (or microphone)
activate or deactivate the microphone input

mic_talkover
Lower the volume of all decks while active and activates microphone Use 'mic_talkover while_pressed' to only activate mic as long as button is held Use 'mic_talkover 20% 1000ms' to lower deck volumes to 20% and fade to the volume in 1 second. (Defaults are 30% and 400ms)

mic_eq_low

mic_eq_mid

mic_eq_high

djc_mic

aux_volume

linein
Activate or deactivate the linein on this deck. You can also specify a linein number to assign another linein: "deck 1 linein 2 on" Or you can assign the microphone or aux input: "deck 3 linein 'mic' on" or "deck 3 linein 'aux' on" If you don't want the line in to become the Master deck automatically, you can use "deck 3 linein 'trs'"

linein_rec
Record the linein input on this deck.

mic_rec
Record the microphone input on this deck


Audio_scratch

touchwheel (or scratch_wheel or scratchwheel)
used for a jogwheel with touch sensitivity. 'touchwheel +1.0' means a full rotation of the wheel.

get_scratch_direction

touchwheel_touch (or scratch_wheel_touch or scratchwheel_touch or speedwheel_touch)
use when the touchwheel is touched, to hold the song and start to Scratch .

jogwheel (or jog or jog_wheel)
used for a jogwheel without touch sensitivity. 'jogwheel +1.0' means a full rotation of the wheel.

motorwheel
used for a motorized jogwheel. Each time the jogwheel moves, send 'motorwheel "move" +1.0' followed by 'motorwheel "timestamp" 1000.0'. 'move +1.0' means a full platter rotation. 'timestamp 1.0' means 1ms since last message. You should query 'motorwheel' and turn the motor on when it returns true and off when false.

speedwheel
used for a precision touchwheel that reports both position and speed. 'speedwheel +1.0 1.5' means a full rotation of the wheel, at 150% speed.

vinyl_mode
Set the jogwheel to Vinyl mode (with Scratch ), or to CD mode (with pitchbend)

wheel_mode
change the mode of the jogwheel between: "jog", "search", "loop_move", "loop_out", "loop_in", "browser", or use +1 and -1 to cycle through all modes. You can select from a subset using a syntax like 'wheel_mode "loop_move,loop_in,loop_out" +1'.

hold (or scratch_hold)
'hold on' or 'hold off' (or 'hold toggle') to stop the disc for scratching, or release it.

Scratch
' Scratch +120ms' to Scratch 120ms forward.

nudge
'nudge +120ms' to nudge the song 120ms forward (using mastertempo if it's activated).

slip_mode
While in slip mode, during Loops hotcues or Scratch , the play cursor will keep moving unaffected, and will resume from there after release

get_slip_active

get_slip_time
Get the time where the song will be when slip mode is de-activated in milliseconds Alternatively, use get_slip_time "min", get_slip_time "sec" and get_slip_time "msec"

slip
activate or deactivate a global slip mode, that will save the position on "slip on" and resume where it should have been if untouched on "slip off", letting you do any Scratch /loop/effect/etc in between

scratch_dna
execute a Scratch defined by its DNA signature (see scratch_dna_editor for information about DNA signatures)

scratch_dna_option
set some options about the Scratch DNA behavior. options are "drymix" and "quantized"

scratch_dna_editor
open a visual editor to compose Scratch DNA signatures


Audio_volumes

crossfader (or crossfader_slider)
move the crossfader. crossfader 0% will only let the left deck out, crossfader 100% will only let the right deck out.

auto_crossfade (or auto_crossfader)
Automatically crossfade to the other deck. You can specify the duration of the crossfade in ms: 'auto_crossfade 2000ms' Assigned to a slider, or specifying a specific position, it will move the crossfader slowly to that position: 'auto_crossfade 50%' or 'auto_crossfade 1000ms 50%'

level (or level_slider or volume or volume_slider)
set the volume of the deck

mute
Mute a specific deck

mic_volume
Set the volume of the microphone

mic2_volume
Set the volume of the second microphone

gain (or gain_slider or power_gain)
set the gain of a deck

gain_label
get the text to display under the gain knob

gain_relative
change the gain, relative to the software gain position

set_gain
set the gain in order to bring the song to the specified dBA (with 0dBA being the maximum level outputable by the soundcard without compression): 'set_gain 0'

mono_mix
Mix left and right channels together for all outputs

fake_mixer
tell VirtualDJ not to apply the volumes to the sound output

fake_eq
tell VirtualDJ not to apply the equalizer to the sound output

fake_gain
tell VirtualDJ not to apply gain to the sound output

fake_hp
tell VirtualDJ not to apply headphone volume to headphone sound output

fake_hpmix
tell VirtualDJ not to apply headphone mix to headphone sound output

fake_pfl
tell VirtualDJ to disable pfl switch from skin, when pfl can only be controlled from controller or mixer

fake_master
tell VirtualDJ not to apply Master volume to Master sound output

colorfx_prefader
color fx are prefader (required for some controllers)

fake_filter
tell VirtualDJ not to apply filter to sound output

master_volume
set Master volume

headphone_volume
set cue volume

booth_volume
set booth volume

headphone_mix
change the mix of the PFL (0% is only the cued deck, 100% is the Master output).

headphone_crossfader
change the PFL fader (0% is only the left deck, 100% is only the right deck).

headphone_gain
change the gain of the PFL output (from -30dB to +30dB)

master_balance
change the left/right balance on the Master output.

levelfader_curve (or fader_curve)
select the curve of the level faders. 0% is a linear curve, 50% (default) is a quadratic curve, 100% is a cubic curve

crossfader_hamster
invert the crossfader.

crossfader_curve
select the curve of the crossfader. enter a value to adjust the slope from a X curve (0%) to a inverted-U curve (100%). you can also specify common curves by name ("smooth", "full", " Scratch ", "cut"). or you can draw your own curve, using a syntax like 'crossfader_curve "0=[1,0]/0.5=[1,1]/1=[0,1]"'.

crossfader_disable
disable the crossfader

get_limiter
return true if the limiter is compressing because the signal was saturated. Use 'deck 1 get limiter' to get the limiter on a deck in external mixer mode, or 'get_limiter' (or 'get_limiter " Master ") to get the limiter on the Master for internal mixing mode (also can use 'get_limiter "headphones"' and 'get_limiter "booth"')

get_level
Get level of signal before Master volume. If no deck is specified will get Master level Use "get_level 'mic'" for microphone level, or "get_level ' Sampler '" for Sampler level Use "get_level 'vocal'" for vocal vu meter, other Stem names also supported

get_level_log
Similar to get_level, but returns level on logarithmic scale where -127dB=0.0 and 0dB=1.0

get_level_peak
Get peak level of signal before Master volume. If no deck is specified will get Master peak level.

get_level_left
Get level of left channel before Master volume. If no deck is specified will get Master level.

get_level_left_peak
Get peak level of left channel before Master volume. If no deck is specified will get Master peak level.

get_level_right
Get level of right channel before Master volume. If no deck is specified will get Master level.

get_level_right_peak
Get peak level of left channel before Master volume. If no deck is specified will get Master peak level.

get_vu_meter
Get level of signal after Master volume. If no deck is specified will get Master level. Use "get_vu_meter 'mic'" for microphone level or "get_vu_meter ' Sampler '" for Sampler level Use "get_level 'vocal'" for vocal vu meter, other Stem names also supported

get_vu_meter_peak
Get peak level of signal after Master volume. If no deck is specified will get Master peak level.

get_vu_meter_left
Get level of left channel after Master volume. If no deck is specified will get Master level.

get_vu_meter_left_peak
Get peak level of left channel after Master volume. If no deck is specified will get Master peak level.

get_vu_meter_right
Get level of right channel after Master volume. If no deck is specified will get Master level.

get_vu_meter_right_peak
Get peak level of right channel after Master volume. If no deck is specified will get Master peak level.

is_audible
active if the deck is playing and volume is up (on-air)

get_crossfader_result
get the actual volume balance between deck 1 and 2, based on crossfader, levels, and play (use get_crossfader_result "full" to show levels even for paused decks)


Automix

automix
Start or stop automatic playlist mixing

automix_dualdeck
Enable or disable automix using both decks

automix_skip
When automix is active, skip the current song and mix to the next one

mix_now
Smoothly crossfade from one side to the other, matching beats when the tempo of both songs is close together When automix is off, fade speed can be adjusted: "mix_now 4000ms" or "mix_now 4bt"

mix_now_nosync
Smoothly crossfade from one side to the other When automix is off, fade speed can be adjusted: "mix_now_nosync 4000ms" or "mix_now_nosync 4bt"

mix_selected
When automix is active, mix to the song currently selected

mix_next
If the non-playing deck has a song loaded that has already been played, load a new one from the playlist. Then smoothly crossfade from the playing deck to the other, using beatsync if appropriate

mix_next_sidelist
If the non-playing deck has a song loaded that has already been played, load a new one from the sidelist. Then smoothly crossfade from the playing deck to the other, using beatsync if appropriate

mix_and_load_next
automatically mix to the next deck, then stop the current track and load a new song if something is available in the playlist or sidelist by default this will to a tempo mix and sync bpm if the bpm is in range. You can add 'nosync' to mix without tempo synchronization. 'mix_and_load_next nosync'

get_automix_song
get a property from the next song in automix: "get_automix_song 'title'" you can also get properties from songs further down: "get_automix_song 'title' 2"

playlist_options
display a drop-down with the list of options for the playlist.

sidelist_options
display a drop-down with the list of options for the sidelist.

automix_add_next
Add the songs selected in the browser to the automix playlist right after the song currently playing If a song in the automix list is selected and automix is active, move it after the currently playing song

get_automix_position
Return position of currently playing song in automix list

playlist_add
Add the songs selected in the browser to the automix list

playlist_load_and_remove
Load the first song in the automix list on the deck, and remove it from list

playlist_load_and_keep
Load the first song in the automix list on the deck, without removing it from the list

switch_sidelist_playlist
Exchange the content of the automix list and the sidelist

create_list_from_playlist (or create_virtualfolder_from_playlist)
Save the automix list in MyLists

playlist_randomize
shuffle the order of the songs in the playlist.

playlist_randomize_once
shuffle the order of the songs in the playlist once.

playlist_repeat
repeat (or stop to repeat) the playlist while automixing.

playlist_clear
empty the playlist.

playlist_save
save the playlist in a file.

playlist_remove_played
remove from the playlist all the songs that have already been played since the software was launched.

playlist_remove_duplicates
remove duplicate songs from the playlist.

automix_editor
Open the automix editor, and fine-tune the automix transitions for every songs in your playlist

automix_editor_movetrack
When the automix editor is opened, move the selected track's position automix_editor_movetrack 'current' +10 Also accepts 'next' or 'previous' to move the next or previous track. When the number is not given it can be mapped to rotary knobs or jog wheels

relay_play
Enable or disable the decks to automatically start playing when the opposite deck reached its end

get_playlist_time
Gets how much time is left before the end of the automix playlist


Browser

add_favoritefolder
make the selected folder a favorite folder (monitored folders).

add_filterfolder
create a new filter folder.

add_list (or add_virtualfolder)
create a new list (virtual folder).

goto_last_folder
Go back to the last browsed folder

browser_scroll
scroll through the songs or folders. 'browser_scroll +1' or 'browser_scroll -1' to scroll one line, or "browser_scroll 'top'", "browser_scroll 'bottom'" to scroll to the beginning or end

browser_move
browser_move +1 : Moves the currently selected song in a playlist down browser_move 'top' or browser_move 'bottom' : Moves the selected song to the top or the bottom of the list

browser_folder
if focus is on songs, change focus to folders. if focus is on folders, open or close the subfolders of the selected folder.

browser_enter
if focus is on songs, load the selected song. if focus is on folders, change focus to songs.

browser_open_folder
Expand selected folder in browser when closed, or close folder when opened. You can also use 'browser_open_folder off' to always close the folder, or 'browser_open_folder on' to open a folder

browser_remove
Remove the selected song from playlist

browser_window
Change the active browser zone. "browser_window 'folders'", "browser_window 'songs'", "browser_window 'sideview'", or "browser_window 'automix'", "browser_window 'sidelist'", "browser_window ' Sampler '" Cycle through available browser zones. "browser_window +1", "browser_window -1" Cycle through specified zones. Example "browser_window 'folders,songs'"

search
put the keyboard focus on the search zone, or, if a text parameter is specified, search for this text.

search_add
add the specified text to the search query

search_delete
remove the last character from the search query

clear_search
clear the search string

edit_search
put the keyboard focus in the search zone but keep the actual search string.

log_search
log the current search in the SearchLog.txt file, so you can easily search for your failed requests once the gig is over.

search_playlists
open a dialog to search which list contains a specific song by default it searches for the song selected in the browser. Use "search_playlists deck" to search for the song loaded on the deck.

search_folder
open a dialog to search for folders or playlists by name

grid_view
put the browser in grid-view mode, optimized for touch screens

view_options
popup the list of view options. to set one directly, you can use 'view_options "showkaraoke" on' etc...

sideview_options
show the context menu to add or remove folders shortcuts to the sideView

sideview_triggerpad
set the sideview Sampler in triggerpad mode or in list mode

file_info
Open the Tag Editor for the specified or loaded song.

browsed_file_info
open the Tag Editor for the browsed song.

browsed_file_color
set the color of the file currently selected in the browser. Example: browsed_file_color "red" Use browsed_file_color "reset" to clear the color and set the color back to default

browsed_file_reveal
open the OS file manager to the browsed song

browsed_file_analyze
reanalyze the current file selected in the browser use 'browsed_file_analyze multi' to do a scan for multiple bpms

browsed_file_prepare_stems
prepare Stems for the file(s) currently selected in the browser

browsed_file_reload_tag
Reload tag of file currently selected in browser. This will overwrite changes made in the VirtualDJ database by what is saved in the file's tag.

browsed_file_rename
rename the current file selected in the browser

set_browsed_file_bpm
set the bpm of the selected songs to the set value: 'set_bpm 129.3', or relative to the actual value: 'set_bpm 50%'

load
load the selected song on the deck. you can also specify a fullpath to load 'load "path_to_my_song"'.

load_pulse
return a brief false then true again when a new song is loaded

load_pulse_active
return true when a new song becomes audible for the specified duration. Can be delayed using the second parameter. 'load_pulse_active 1000ms 5000ms' will return true for 1 second, 5 seconds after a new song becomes audible

loaded
return true if a song is loaded on the deck

undo_load
Unload the song and reload the previous song. Use 'undo_load any' to unload from the last deck a song was loaded on. Otherwise the deck the action is called from is used.

unload
unload the song from the deck.

browser_isactive
return true when the browser was used by a controller in the past 6 seconds

not_played
don't mark the song on this deck as 'played'.

browser_gotofolder
'browser_gotofolder' goes to the folder containing the current file. 'browser_gotofolder "/my_path/my_folder"' goes to the specified folder. 'browser_gotofolder 4' goes to the fourth virtual/favorite folder.

recurse_folder
display the content of both the selected folder and all its subfolders in the browser list.

browser_sort
Sort the browser files on the specified column: 'browser_sort "artist"', 'browser_sort "lastplay"',... To sort in descending order, add a - in front of the column name: 'browser_sort "-bpm"' To explicitly sort in ascending order, add a + in front of the column name: 'browser_sort "+bpm"' To reset the sort order of a playlist to it's original order, use 'browser_sort "Original Sort Order"'

sideview_sort
Sort the sideview on the specified column: 'sideview_sort "artist"', 'sideview_sort "lastplay"',...

playlist_load
Load the folder or playlist selected in the browser in the playlist. Use "playlist_load 'append'" to add the selected folder to the playlist instead of replacing the existing playlist

sidelist_load
Load the folder or playlist selected in the browser in the sidelist Use "sidelist_load 'append'" to add the selected folder to the sidelist instead of replacing the existing sidelist

karaoke_load
Load the folder or playlist selected in the browser in the karaoke list Use "karaoke_load 'append'" to add the selected folder to the karaoke list instead of replacing the existing karaoke

edit_comment
open a window to edit the comment on the selected track.

search_options
popup the list of search options. to set one directly, you can use 'search_options "composer"' to toggle search of the field on or off

add_to_list (or virtualfolder_add)
Add the currently selected songs in the browser to the specified List. 'add_to_list "my_list"'

font_size
Change browser font size. Example: font_size +1

sidelist_clear
clear the sidelist.

sidelist_add
Add the songs selected in the browser to the sidelist

sidelist_load_and_remove
load the first song from the sidelist, and remove it from the sidelist.

sidelist_load_and_keep
load the first song from the sidelist.

karaoke_add
Add the songs selected in the browser to the karaoke list

edit_singer
Pops up the dialog to change the singer of the currently selected song in the karaoke list

file_count
Get number of files currently shown in browser You can also use 'automix', 'sideview', 'karaoke' or 'sidelist' as parameter to get the count in other lists. "file_count automix"

sideview
Show a specific folder in the sideview. Available sideviews are automix,sidelist,karaoke, Sampler ,clone Use 'sideview +1' or 'sideview -1' to scroll between available sideviews

sideview_title
Show the title of the folder selected in sideview

info_options (or infos_options)
show the context menu about the info panel fields and prelisten behavior

page

save_deck_set
Save the current configuration (which song is loaded on which deck) in a file

load_deck_set
Reload a previously saved deck_set file

browser_options
show the context menu about the browser filters, root folders, database, etc

browser_export
Export the current list of files to a CSV or HTML file

rating
Get or set the rating for the current song

browser_zoom (or browser)

browser_geniusdj
Lookup recommendations based on the items currently selected in the browser Use 'browser_geniusdj playing' to use the currently playing track instead of the track selected in the browser

browser_padding
Change the padding around lines in folder and list views. Example: browser_padding 50%

load_next
Load next track. You can use 'load_next keepplay' to start playing the loaded song if the currently loaded song was playing

load_previous
Load previous track

sidereco_options
Show a menu to select what should be displayed in the sideview recommendation panel

sidereco_song

sidereco_source

mark_linked_tracks (or mark_related_tracks)
Mark the tracks in deck 1 and 2 as linked. (Linked tracks can be shown in the Remixes tab of the sideview)

has_linked_tracks
Returns true when track has links to other tracks. On a button can be used to show the linked tracks in the sideview You can also use 'has_linked_tracks browsed' to get the result for the currently browsed track Passing a script that returns a full file path is also possible using 'has_linked_tracks `script`'

has_quick_filter
Return true if quick filter with given index exists

quick_filter
Apply or remove a quick filter on the list of song shown in the browser

browser_shortcut
'browser_shortcut': assign the current folder as a new shortcut\n'browser_shortcut X': go to the folder assigned to the Xth shortcut


Config

[boxwrap]
settings (or config)
open the configuration window.

smart_loop
when smart_loop is on, loop are automatically adjusted to sound perfect

smart_play (or auto_sync)
when smart_play is on, songs are automatically synchronized when started

smart_cue
when smart_cue is on, songs are automatically re-synchronized when jumped to a new position or cue

auto_match_bpm
when Auto Match BPM is on, songs are automatically set to the same BPM when loaded

auto_match_key
when Auto Match KEY is on, songs are automatically set to a compatible KEY when loaded, if possible

auto_pitch_lock
when Auto Pitch Lock is on, pitch_lock engages whenever BPMs are matched, so that moving manually one pitch slider will move the other in order to keep the match

quantize_loop
when quantize_loop is on, Loops automatically align according to the globalQuantize setting

quantize_setcue
when quantize_setcue is on, setting cues automatically align according to the globalQuantize setting

smart_scratch
when smart_scratch is on, backward scratching is automatically muted, only forward scratching will be heard

play_mode
set the mode for play/stop/cue buttons: 'play_mode "numark"', or 'play_mode "pioneer"'.

save_config (or saveregistryconfig)
save your config changes now (usually changes are saved automatically when you close virtualdj)

auto_cue
set the auto_cue mode: "off", "on", "always".

setting
read or write a specific setting (see config window for the list of all settings names) Example: setting "jogSensitivityScratch" 80% Example: setting "videoRandomTransition" on

setting_setsession
force a specific value for a setting during this session

[box=1-3 cl