Easy to use Digital DJ software for mixing audio, music videos and karaoke. Choose your solution:

Club
Club
Mobile
Mobile
Turntablist
Turntablist
Karaoke
Karaoke

Archive for the ‘DEX’ Category

DEX Scripting

Thursday, July 8th, 2010

To allow you to perform a number of actions at once, DEX has a scripting system to perform multiple actions at once.
Scripts can be started when DEX starts, or by pressing a keyboard or midi button.
Script Basics
Scripts are regular text files with the extension .djscript. Each line of the file can define one command. If a line contains a command that is not recognized, it is ignored.
You can store these files either in the global settings directory, the users’ settings directory, or the skins’ folder.
Each command can have parameters, which are separated by spaces.
Specifying a player is usually optional. If not specified, it will default to the active player. It it is specified, it ranges from 0 (deck 1) to 3 (deck 4)
setRel, setAbs
Set the value of a parameter, either relative (always between 0 and 1) or absolute (depends on parameter)
Arguments:
setRel ValueName Value
setRel ValueName Value Player
setRel ValueName,ValueSpecifier Value Player
For values for which no valuespecifier is required, use the first type, if you need to specify a value specifier, use the second type. Make sure that you don’t add spaces between the comma and the valuespecifier.
Example:
setRel Volume_Player 1 0
This will set the volume of the first deck to its maximum value.

setDefault
Sets the value of a parameter back to its default value.
Arguments:
setDefault ValueName
setDefault ValueName Player
setDefault ValueName,ValueSpecifier Player
Both ValueSpecifier and Player are optional.

click
Does the same as clicking on a button with the same value and valuespecifier
click ValueName
click ValueName Player
click ValueName,ValueSpecifier Player
Both ValueSpecifier and Player are optional

wait
Wait for a specified time or number of beats before continuing with the next command in the script
wait time ms
wait time beats Player
wait time beats player accurate
Waits either ‘time’ milliseconds if followed by ‘ms’, or ‘time’ beats if followed by ‘beats’.
If time is specified in beats, Player specifies the deck to get the bpm from.
If ‘accurate’ is added, accuracy will be improved, at the cost of slightly higher cpu usage

loadskin SkinName
Loads the skin with the name SkinName

loadvst player slot vstplugin.dll
Loads the plugin with filename vstplugin.dll from c:\program files\steinberg\vstplugins\
If you store your plugins in a different location, you can also enter a complete path (don’t forget double quotes if the path contains spaces)
player is the player number starting from 0, slot is the vst slot number, also from 0 to 3

loadsong player “filename”
Loads the song with given filename to the deck specified by player
The filename is allowed to contain spaces, but it is recommended to put double quotes around it.

executescript name
Executes the script with specified name. If you want to call another script from within a script, it is recommended to use this command instead of ‘click ExecuteScript,name’.

%player%
You can use this variable instead of defining a specific player.
When the script is bound to a button, keyboard or midi shortcut, it will be replaced by the selected player number.

%value%
You can use this variable instead of defining a fixed value for setrel.
When the script is bound to a midi slider or knob, this variable will be replaced by the midi slider’s value.
For a list of possible ValueNames and ValueSpecifiers, see the skinning documentation
Advanced scripting
if, ifnot
Executes a command if the value is true
if ValueName command
if ValueName,ValueSpecifier command
if ValueName,,Player command
if ValueName,ValueSpecifier,Player command
ifnot ValueName command
ifnot ValueName,ValueSpecifier command
ifnot ValueName,,Player command
ifnot ValueName,ValueSpecifier,Player command
command is any other valid script command

keyup:
Any command after this will only be executed when releasing the button (if the script is bound to a button on a skin, a midi button or a keyboard button)
keydown:
Any command after this will only be executed when pressing the button
Before keydown/keyup sections
Any command that is entered before the keydown/keyup section is executed when appropriate. For most commands this means on keydown. Keyboard shortcuts that have a different behaviour for keydown/keyup will be executed as expected.

setvar name value
Sets the variable name to value value. Values can be used anywhere in a script by using %VARNAME% wherever you want to use the variable’s value.

setvar2 name ValueName
setvar2 name ValueName,ValueSpecifier
setvar2 name ValueName,ValueSpecifier Player
setvar2 name ValueName,ValueSpecifier Player Type
Sets the variable named ‘name’ to the current value of any djDecks value.
Type is either text for a string representation, value for the current value, or valuerel for the relative value (always between 0 and 1). For on/off values, you can use type boolean

setpersistent varname
setpersistent varname default
Sets the variable with name ‘varname’ persistent. This means that it’s value will be remembered when restarting djDecks.
You can also set a default value here, which will be set only if the variable is new and doesn’t have a value yet.

status ValueName,ValueSpecifier player
status ValueName,ValueSpecifier player Type
If you want to use a script on a button in a skin or midi mapping, use this command to set when the button should be in the active state.
If you want to use a script on a slider in a skin or midi mapping, Type should be valuerel to indicate that the relative value should be used on the slider.

executescript script.djscript player
Use this command to start another script from within a script.
Specifying player is optional.
stopscript script.djscript
Use this command to stop another script that is currently running.
If this script wasn’t running then this command has no effect.
addtrigger name count type ValueName,ValueSpecifier,Player scriptcommand
A Trigger can be used to watch a specific value and be notified when it changes.
You can then take a certain action.
name: This is the name of the trigger, if a trigger still exists with this name, it is replaced by the new trigger
count: This is the number of times you want the trigger to work. Use -1 for always, and 1 for once.
type: This can be either bool, value or string. Which of these you want will depend on the value you are watching.
ValueName,ValueSpecifier,Player: These define the value to watch.
scriptcommand: Any single-line script command can be specified here. This will be executed whenever the value changes. You can use the executescript command if you want to run an entire script.
removetrigger name
Removes the trigger with name ‘name’ if it exists.
Startup scripts
If you want a script to be executed at DEX startup, simply name it ‘startup.djscript’ and save it in DEX\settings or DEX\settings\username
You can also start a script by adding a command line parameter:
-script:scriptname.djscript
This will execute the script ‘scriptname.djscript’ that should be located in DEX\settings or DEX\settings\username
Binding scripts to a keyboard shortcut
Bind a key to the command ‘executescript’. Enter the name of the script in the parameter field.
Binding scripts to a midi command
Select ‘Button’ for command type, ‘ExecuteScript’ for Command, and enter the filename of the script in the additional parameter field.
The script should be located either in DEX\settings or DEX\settings\username
Using scripts in a skin
You can use a script in a skin by using the ‘ExecuteScript’ value, and specify the name of the script in the valuespecifier. The script will be searched for in the skin’s directory, in the user’s settings folder, and in the main settings folder.
If your script is just one line, you can also type it directly in the valuespecifier field, preceded by the string script:, for example: ExecuteScript
script:setAbs Effect,eq_lowfreq 350 %player%

Skin Objects Reference

Tuesday, July 14th, 2009

This document explains the values you can use for a skin object’s type, value, valuespecifier and drawtype
If you are not familiar with the skin system yet, first read the Skinning Documentation

Object Field ‘Type’ Details

Type Description
Slider DrawType 0 : Will draw a rectangle indicating position only. Color specifies
the color of the rectangle.
You may also specify color2, in which case it will be used as
the color for the right or top part of the rectangle.

DrawType 1 : Will draw a button only. The button is specified by the
additionalpic_1 field
DrawType 3 : Will draw one picture from an image strip specified by
additionalpic_1, works similar to drawtype 3 of a Knob object
DrawType 6: Will draw the bottom or left part of additionalpic_1.
You could for example use ref active and draw the lit led strip on the active pictures.
DrawType 10 : Will draw a bar of LED’s. The LED to be used is specified by the
additionalpic_1 field.

To specify a LED, you must specify the borders of the led
picture. Next to it there has to be a mask. White will be copied, black won’t.
The transparent bounds of the LED must be white. For an example, see elements.gif of the default skin.
DrawType 11 : Will also draw a bar of LED’s, but only one LED is lit.

Button DrawType -1 : Use this when you don’t want anything extra to draw. Useful
when you need an area that takes an action without visually changing. (Can be
used on top of a Text for instance)

DrawType 0 : Additionalpic_1 specifies the picture to be used on mouseover,
Additionalpic_2 specifies the picture to be used when the button is pressed.
DrawType 1 : Same as drawtype 0, but value will be evaluated to a boolean. When
evaluated to true Additionalpic_3 will be used for active picture.
DrawType 4 : Additionalpic_1 is used as an image strip. The first image is
used on mouseover, the second when the button is active, the third on mousedown,
and the fourth as default image. The third and fourth image are optional.

Text
TextPercentage
DrawType 0 : Just draws the text in the color specified and with the font
specified
DrawType 1 : Draws the text centered

DrawType 2 : Draws the text centered. If the value evaluates to true, color2 is
used instead of color.
DrawType 3 : Draws a text that you can scroll in with your mouse. This will
AutoScroll if the autoscroll option is enabled in the options.
DrawType 4 : Draws the text right-aligned
DrawType 5 : Draws text left-aligned. Color is normal color, color2 is used on mouseover, and
color3 when the value evaluates to true. Color4 is optional but can be used on mousedown

DrawType 7 : Draws text center-aligned. Color is normal color, color2 is used on mouseover, and
color3 when the value evaluates to true. Color4 is optional but can be used on mousedown

TextPercentage will draw the value as a percentage.

Knob DrawType 0 : The knob is simply drawn as a line in the color that you
specify.

DrawType 1 : The knob is a true rotating bitmap. The source image can be
specified by additionalpic_1.
An easy solution is to draw the knob on the background of the
skin, and specify <ref>background</ref> for additionalpic_1. If there is
some kind of position-indication on the knob, it should point to the top on
the image you specify.
DrawType 2 : Similar to drawtype 1, but will only rotate the center circle
of the square you specify. This looks more realistic for rotating round
objects.

DrawType 3 : This uses a horizontal or vertical image strip which is taken
from additionalpic_1. You can define an image strip as long as you like, the
number of pictures in it is calculated by the width of the image strip
divided by the width of this object itself.

To specify the accuracy you can set the valuespecifier to " | 10". The larger
the number after the pipeline, the more accurate you will be able to move the
knob.
The space in front of the valuespecifier can be used when the value is ‘effect’
and you need to specify which effect.

Special Some (usually more graphical) objects require a special way of drawing them and are
therefore put in a different group called ‘Special’.
Details about these objects can be found in the value detail list under the header ‘Special’

Object Field ‘Value’ Details

INFO  
TrackInfo Shows the track info as specified in the options (Song
format)
TrackInfoArtist Shows the track info as specified in the options
(Artist Info format)
TrackInfoTitle Shows the track info as specified in the options
(Title Info format)
TrackInfoCustom ValSpecifier specifies which part of the id3 tag will be shown (in the
same manner as the other fields can be specified from within the djdecks
options)
TimeInfo Shows elapsed and total time of the song.
Can be used in a Text object. If used with DrawType 2 or DrawType 6, the
color will change when only 30 seconds are remaining.
TimeRemaining Shows remaining of the song.
Can be used in a Text object. If used with DrawType 2 or DrawType 6, the
color will change when only 30 seconds are remaining.
TimeElapsed Shows elapsed time of the song.
Can be used in a Text object. If used with DrawType 2 or DrawType 6, the
color will change when only 30 seconds are remaining.

Can also be used on a slider or knob for visualising the current song position

TrackLength Shows the length of the song
BPMSong BPM as stored in the id3 tag, or best bpm found by the bpm detection
BPMDetection BPM as currently detected by the bpm detection
BeatLEDS  
VU_Player Shows the volume of the specified deck.

Use valuespecifier 0 for mono, 1 for left or 2 for right channel

VU_Master Shows the master volume. When using djDecks’ internal mixer, this is the
actual master volume, when using an external mixer, this is the max volume
of both decks.
Use valuespecifier 0 for mono, 1 for left or 2 for right channel
CustomText Show any text specified in the valuespecifier
Constant Can be used to set a slider or knob to a fixed value between 0 and 1 as specified in the valuespecifier
Vinyl_ModeInfo String: FS/MP/VDJ/SSL ABS/REL
VinylControl_Quality Measures the quality of the time code by giving the number of 
codes detected per second.
EffectVSTParamName Can be used to get the name of a parameter to a text
field.
Valuespecifier is in the form ‘xx|yy’

xx defines the effect number, for now only ’00′ is available
yy defines the parameter that you want to show, starting from 00

EffectVSTPreset Get the name of the currently selected program. Can also be used on a
slider/knob to browse through presets.
Valuespecifier indicates the effect you want to show the preset name for.
(starts from 00)
   
BOTH SET AND GET  
Volume_Master Master volume
Volume_Player Volume of the specified deck
Volume_PlayerFade Not recommended for use, works together with
crossfader
Volume_Cue Output of specified deck to cue output (can be used on
sliders and knobs)
Crossfader  
CrossfaderTo  
Pitch  
PitchTo  
PitchRange If you don’t specify a pitch range, this button will
cycle through the possible pitch ranges. You can use action ‘reverse’
instead of ‘default’ to go to the other direction (for example for right
mouse button)

If you do specify a valuespecifier, the valuespecifier will indicate the
pitch range you want to set

PitchStartUpSpeed Time (in milliseconds) it takes to start a song. (Default = 0,
instantly)
PitchBrakeSpeed Time (in milliseconds) it takes to stop a song. (Default = 0, instantly)
CuePoint Use on a button to select/record a cue point
Use on a text to show the time of the specified cuepoint

ValueSpecifier specifies which cue point (ranges from 1 to 10)

Effect  
EffectBPM  
EffectVST Can be used on sliders or knobs to change a vst effect
parameter.
You can also use it on a Text object to show the textual representation of
the parameters’ value
Valuespecifier is in the form ‘xx|yy’

xx defines the effect number, for now only ’00′ is available
yy defines the parameter that you want to edit, starting from 00

EffectPFL Can be used on a button to enable/disable effects on
cue output
Keyboard  
Loop  
Loop_Move Can be used on a button to move the current loop
forwards or backwards. The valuespecifier specifies the speed by which will
be moved until the key is released.
Use action ‘default’ for normal behaviour, or ‘reverse’ to reverse the
direction (can be useful for right-button binding)
Loop_MoveBeats This will move the current loop a number of beats
forwards or backwards.
Use action ‘reverse’ for backwards moving.
The value specifier specifies the number of beats that will be moved
Loop_MoveMultiply This will move the current loop forward or backwards by the current
length multiplied with the value specified with the valuespecifier.
LoopLength_Move As long as the button is pressed, the length of the
loop will be increased or decreased.
Valuespecifier specifies the speed at which the length will
increase/decrease.
LoopLength_MoveBeats Changes the length of the loop by a number of beats
specified by the valuespecifier.
LoopLength_Multiply Changes the length of the loop by multiplying the
current length with the valuespecifier.
LoopTrack Activate/Deactivate looping of the entire track
TouchPad Draws a small rectangle according to the value of the variables assigned to TouchPadX and TouchPadY.

Color specifies the color of the rectangle
If additonalpic1 is defined, it is drawn instead of the rectangle.

TouchPadX  
TouchPadY  
Pan_LR_Player  
CrossFaderCurve  
CrossFaderSpeed The time for the crossfader to move from left to right
when using the ‘CrossfaderTo’ value, or when moving the crossfader with the
keypad.
Record_Quick Use on a button to start/stop recording. Before recording, a filename
will be asked.
The button will show it’s active picture when recording if the correct
drawtype is specified
You can also use it on a text field, which will show the text ‘Idle’ when
not recording, and ‘Recording 00:00′ when recording.
Waveformzoom Defines how much the waveform will be zoomed. Note that this only works
when ‘High Quality and zoomable waveform’ is enabled in the options.
ActiveDeck Use on a button/slider/knob to select the active deck for keyboard
shortcuts.

Can be used on Text and Button objects to show the currently active deck

LockWindows Locks/unlocks all windows so they can not be moved anymore
   
SET (BUTTONS)  
Button_Play Plays the song. If the song is already playing, this button has no
effect
Button_Pause Plays the song if it is paused, and pauses the song when it is playing.
Also sets the active cue point.
Button_Cue Stop the song and return to the active cue point. If the song is already
stopped, the position will switch between the active cue point and the start
of the song.
Button_CueRec Enables/Disables Cuepoint Set mode. When you press a CuePoint button
while this mode is enabled, the cue point will be set to the current
position.
Button_CueDel Enables/Disables CuePoint Delete mode. When you press a CuePoint button
while this mode is enabled, the cue point will be reset.
CuePoint ValueSpecifier specifies which cue point is affected. You can have up to
20 cue points per song. When pressed, this button will set the active cue
point to the selected cue point, and move the position to that cue point.
If CueRec or CueDel are enabled, the cue point is changed or deleted.
Button_BPMUp  
Button_BPMDown  
Button_BPMClick  
Button_PitchEqual  
Button_PitchZero  
Button_PitchUp Increases the pitch each time it is pressed.
If valuespecifier is specified, it indicates how much the pitch is
increased.
Button_PitchDown Decreases the pitch each time it is pressed.
If valuespecifier is specified, it indicates how much the pitch is
increased.
Button_BendUp Bends the pitch up while pressed, pitch will return to
previous value when released.
Valuespecifier can be used to indicate how much the button will bend.
Button_BendDown Bends the pitch down while pressed, pitch will return
to previous value when released.
Valuespecifier can be used to indicate how much the button will bend.
FinalScratch Similar to VinylControl, but always starts FinalScratch records
MsPinky Similar to VinylControl but always starts MsPinky records
VinylControl Start/stop the preferred type of vinyl control for
the specified deck. Optionally, the valuespecifier specifies the input
channel to use (by default input 0 is used for deck 0, and input 1 for deck
1)
LineInput Route an input directly to an output. Optionally, the valuespecifier
specifies the input channel to use
RecordInput Start recording from the input specified by the valuespecifier on the
specified deck.
Vinyl_Mode Switches between abs and rel mode
VinylControlCallibrate Perform a calibration for vinyl control
VinylControl_SuperRelativeMode Enable/Disable super relative mode
Vinyl_SpeedMultiplier Alters/Shows the current vinyl control speed multiplier. Use valuespecifier on a button to set a specific value (1.0 is normal speed)
MuteOnReverse Use on a button to enable/disable mute on reverse. Use valuespecifier 2
to enable/disable mute on forward.
ExecuteScript Executes the script specified by the valuespecifier.

The script is searched for in the user’s settings dir, in the main settings
dir, and in the skin’s directory. (ex. djDecks\skins\skinname\myscript.djdscript)

   
Button_MainMenu  
Button_VSTMenu Show a menu with basic options to load, enable, select preset and show
user interface of a vst effect.
On a main window, the valuespecifier must be xx|yy where xx is the player
number (-1 for main vst effect, 0 for first deck, 1 for second deck) and yy
is the vst effect slot (from 00 to 03)
On a player window, you can also use valuespecifier yy, with yy the effect
slot number
Button_PlayerMenu  
Button_Minimize Minimize djDecks
Button_Exit Exit djDecks
Button_ShowPL Show/Hide the playlist window
Button_ShowDeck Shows the deck specified by valuespecifier (0, 1 or 2)
Button_ShowFX Shows or hides the effect panels
Button_ShowFXOneDeck Shows or hide the effect panel of the indicated deck
   
Button_TabSelect Pressing this button will select the tab specified by
the valuespecifier.
You can either use the tab’s number (starting from 1) or the tab’s name

You can also use it on a text field to show the name of the tab

   
Button_EffectOnOff Switches an effect’s state between on and off. Possible valuespecifiers are:
flanger, echo, gapper, loop, tempocontrol, filter, bitcrusher, lfo_enabled
EffectVSTEnable Used to enable or disable a vst effect, similar to
Button_EffectOnOff for other effects
ValueSpecifier specifies which vst effect slot is to be used, using 2
digits.
EffectVSTLoad Button used to select and load a vst effect
ValueSpecifier specifies which vst effect slot is to be used, using 2
digits.
EffectVSTShow Button to shows the native GUI of the loaded vst
effect if available
ValueSpecifier specifies which vst effect slot is to be used, using 2
digits.
EffectVSTPresetMenu Shows a menu with the possible programs for the
current VST effect

ValueSpecifier specifies which vst effect slot is to be used, using 2
digits.

EffectVSTScrollPreset Selects the next or previous vst effect. ValueSpecifier is ‘xx|yy’ where
xx is the vst effect slot, yy is the direction (1 is next effect, -1 is
previous effect)
   
SPECIAL  
WaveformComplete When an action on a button is ‘default’ the position will be set to
where the user clicked.
When the action is ‘switch’ the display will switch from complete to local
display each time the user uses the button

DrawType 3 : Default. Waveform is drawn as a regular waveform, position is a
transparent overlay with the color specified by color2.
DrawType 4 : CDJ1000-like, not very accurate, with separate squares.

WaveformLocal When the action is ‘switch’ the display will switch from local to
complete display each time the user uses the button
Color defines the main color of the waveform
Color2 defines the normalized color
Color3 defines the looped part’s color (when drawtype is 3)

Color4 defines the color of the line that indicates the current position

DrawType 2 : Draw waveform in color. Color3 defines the color of loops.
Color4 defines the color of the line indicating the current position.
DrawType 3 : Same as drawtype 2, but color2 is used to draw a normalized version
as well

BothWaveForms Draws both waveforms in one graphic. Use color and color2 to give each
deck a different color.
DrawType 0 Draws waveforms from center to top and bottom
DrawType 1 Draws waveforms from top and bottom to the center
PlayerSpectrum Draws the spectrum of one deck. This is
volume-independent.
Color is the color of the bars
Spectrum Draws the spectrum of the main output.
Color defines the color of the bars,
Color2 defines the color of the peaks
Disc

DrawType 0 : Default. Draws a trail of light in a circle. The trail
rotates depending on the speed of the related deck.
DrawType 2 : Rotate the picture specified by additionalpic_1. You can
reference the background for an easy source image (See Knob drawtype 2 for more
info)
DrawType 3 : Use a horizontal image strip to define a rotating image.
(See Knob drawtype 3 for more info)
DrawType 4 : Similar to drawtype 0, but draws just one dot instead of a
trail

SongPicture Draws the picture related to the current song for the selected deck
MainLCD This object will probably be
removed in v0.84!
DrawType 0
: Works the same as in the old skin system
DrawType 1 : The header with all columns is not shown
InfoBar Draws some info such as current time, time used, cpu
usage, memory usage, …
Color defines the color of the text (default white)
Color2 defines the color of the value (default bright-blue)
DropBox Where you can drag songs in for loading them to the specified player
CrossFaderType Draws the crossfadertype specified by the
valuespecifier (0-3)

Use valuespecifier ‘-1′ to draw the currently selected crossfader curve.
When action is ‘default’ and the user clicks on this item, the crossfader
type will be changed to this type.
Color defines the color of the border, and of the bar that indicates current
crossfader position.
Color2 defines the color for the left deck curve,
Color3 defines the color for the right deck curve

TitleBar This indicates the area that the user can use to move the window with.
EqualizerResponse DrawType 0 : The frequency response of the current equalizer settings is
drawn as a line with color specified by color. The scale depends on the current
x-axis of the touchpad object.

DrawType 1 : The scale is always 20Hz to 20kHz.

Object Field ‘ValueSpecifiers

Value: Effect
Value: EffectBPM

 //Equalizer
eq_low
eq_mid
eq_high
eq_low_kill (use in combination with action ‘kill’ on a button)
eq_mid_kill (use in combination with action ‘kill’ on a button)

eq_high_kill (use in combination with action ‘kill’ on a button)
eq_lowfreq
eq_midfreq
eq_highfreq

//Loop
loop_length
loop_enabled

//Filter

filter_position
filter_bandwidth

//BitCrusher
bitcrusher_bits
bitcrusher_downsample
bitcrusher_overdrive

//Amplifier
amp_set

//Flanger
flanger_length
flanger_strength
flanger_auto
flanger_speed
flanger_stereo_offset
flanger_mode
flanger_highpass

flanger_sound

//Echo
echo_length
echo_echo
echo_source
echo_highpass
echo_lowpass
echo_stereo_offset

echo_lock_buffer

//Stereo Voice Remover
stereofx_voiceremovalstrength

//Gapper
gapper_length
gapper_strength
gapper_shape
gapper_stereo_offset

//TempoControl
tempo_tempo
tempo_automatic
tempo_amount
tempo_interpolation

Value: Keyboard

ValueSpecifier can be any action that you can use as a keyboard shortcut.

See the list of possible actions in the keyboard shortcut configuration for a
complete list.
To specify a parameter, just use a space followed by the parameter.

Example: loop_startstop 4

Value: CustomText

ValueSpecifier specifies the text to be drawn.

Value: Constant

ValueSpecifier specifies the constant. To set a fixed slider position, use a
value between 0 and 1

Value: TouchPadX
Value: TouchPadY

ValueSpecifier specifies what value the X and Y axis of the touchpad control.
You specify both a value and a valuespecifier here, separated with a |
For example, if you want the X axis to control the frequency of the low
equalizer, you can do so as follows:

<VALUESPECIFIER>Effect | eq_lowfreq</VALUESPECIFIER>

Value: VU_Player

ValueSpecifier = 0 or omitted means just the volume of the specified player.
ValueSpecifier = 1 means vu of left channel
ValueSpecifier = 2 means vu of right channel
 

Playlist Skinning

Tuesday, July 14th, 2009

This is an addition the the skinning documentation that explains the
additional information necessary to skin the playlist window.
If you are not familiar with the skin system yet, first read the Skinning Documentation

Playlist customization

Some properties of the playlist window can be easily modified.

startposition_1 : Specifies the x and y coordinate of where the
playlist window will start by default. See also the startposition field as
defined in <PLAYERWINDOW> and <MAIN>

window-background-color : Specifies the background color of the
playlist window
playlist-background-color : Specifies the background color of the lists
playlist-background-color2 : Specifies a second background color so that
the background alternates every item between the first and the second color
playlist-font-color : Specifies the font color of the lists
playlist-selected-font-color : Specifies the font color of the selected
items in a list
playlist-selected-back-color : Specifies the background color of the
selected item in a list

playlist-scrollbar-color : Specifies the color of the scrollbars
playlist-scrollbar-pressed-color : Specifies the color of the scrollbars when being pressed
playlist-font : Sets the font used in the lists. This has to be the name
of one of the fonts specified in the fonts field.
playlist-font-selected : Sets the font used for selected items in the
list. If you want to specify a custom font, you need to set both the regular and
the selected font. If one of the two is omitted, a default font is used.

icon-file

icon-file-new
icon-file-hot
icon-file-link
icon-folder-open
icon-folder-closed
icon-folder-autoplay
icon-playlist-open
icon-playlist-closed
icon-playlist-autoplay

icon-smartlist-open
icon-smartlist-closed
icon-smartlist-autoplay
: These fields specify how the icons look like. It has to
be the name of an element specified in the elements list. If a field is omitted,
djDecks looks for the default icons by the filenames used in the old skin system
(file.bmp, file_new.bmp, file_hot.bmp, file_lnk.bmp, folder_open.bmp and
folder_closed.bmp)

image-edge-righttop
image-edge-leftbottom
: These fields specify the image to be used for the
right top and left bottom edges of the playlist. You can either enter the name
of an element specified in the elements list, or use the <file>myimage</file>
approach in the same way as with the additional_pic fields of the

object field.

image-scrollbar-up
image-scrollbar-up-selected
image-scrollbar-down
image-scrollbar-down-selected
: These fields specify the images to be used for the
up and down arrows of the scrollbars. You can either enter the name
of an element specified in the elements list, or use the <file>myimage</file>
approach in the same way as with the additional_pic fields of the

object field.

Playlist window

The playlist window is slightly different from the other windows, in that it
has a variable size depending on how the user resizes the window. Therefore,
some additional methods are necessary to define the placement and size of the
various controls.

At the moment it is only possible to use a limited set of objects in the
playlist, and it is not yet possible to specify different graphics for them.

Playlist Object

An Object looks like this:
<OBJECT>
    <NAME>myname</NAME>

   
<TYPE>text</TYPE>
    <VALUE>title</VALUE>
    <VALUESPECIFIER>string</VALUESPECIFIER>
    <POSITION>

        <X>10</X>
        <Y>9</Y>
        <WIDTH>275</WIDTH>
        <HEIGHT>19</HEIGHT>

    </POSITION>
</OBJECT>

Type specifies what type of object it is, which defines how the object
is drawn. The only type supported for the playlist objects is ‘Playlist’ at the
moment.

Value specifies what the value of the object is, for instance the
playlist list box, the add files button, …

ValueSpecifier specifies more specifically what value should be used.

Position defines the position of the object on the window.
The difference here is that there are some additional fields possible:

  • X and Y : Simply define the left side and the top side of the object in
    pixels
  • XPRCNT and YPRCNT : Define the left and top position based on the width
    and height of the playlist window
  • HEIGHT and WIDTH : Define the height and the width of the object in pixels
  • HEIGHTPRCNT and WIDTHPRCNT : Define the height and width of the object
    based on the width and height of the playlist window
  • LINKLEFT, LINKRIGHT, LINKTOP, LINKBOTTOM : You can link the side of an
    object to the side of another object, or to the side of the window. To link
    the bottom of the object to the bottom of the window for example, specify <LINKBOTTOM>side</LINKBOTTOM>.
    If this is specified, the HEIGHT field indicates the number of pixels to leave
    open between the bottom of the window and the bottom of the object.
    To link to another object, you just specify the name of that you have given to
    that object. For example, <LINKLEFT>playlist</LINKLEFT>
    Note that you can only link to objects that have been defined BEFORE the
    object that wants to link to the other object.
  • ADDITIONALPIC_1 to 4 can be used to specify pictures for buttons and checkboxes.

    Here’s an example of how you could use these with custom files:
        <ADDITIONALPIC_1>
            <FILE>myFile</FILE>
        </ADDITIONALPIC_1>

Tabs

Tabs work in the same way as tabs for the other objects. To select a tab, the
user can use the ‘Mode’ button.

Object Field ‘Value’ Details

VALUE DESCRIPTION
Playlist The list where the files in your playlist appear
Folders The list of directories that you can browse through
Files The list of files in the selected folder
Moveable A ‘Moveable’ is an invisible object. Valuespecifier
can be either ‘horizontal’ or ‘vertical’ to indicate in which direction the
user can move this object.
This object is useful to link other objects to. This way the user can
specify the relative height and width of objects.
AutoAdvance Checkbox to enable/disable automixing

By using additionalpic_1 to 4 you can customize background, mouseover, mousedown and
selected images.

  The following objects are buttons. If you want, you
can skin the buttons by using the additionalpic_1,2 and 3 pictures. 1
specifies the default background, 2 specifies the mouseover image and 3
specifies the mousedown image.
AddToPlaylistMenu  
PlaylistMenu  
SortMenu  
ModeMenu  
SelectDrive  
FavouriteDirectories  
Cases  
   

DEX Skinning Documentation Page

Tuesday, July 14th, 2009

Documentation for the xml skinning system.
There are 2 other documents as well:
Skinning the playlist
Skinning Object Definitions

Basics

To create a skin, you need a folder with the name of your skin, and a .xml
file with the description of the skin. The directory will contain all pictures
necessary for your skin.
Directory: c:\Program Files\PCDJ DEX\skins\mySkin\

XML: c:\Program Files\PCDJ DEX\skins\mySkin.xml

The .xml file contains one xml object, named skin, which is started by
<skin> at the beginning of the file,
and </skin> at the end of the file.
All text outside this tag is ignored.

Because with a full skin, the xml can get quite large, which
makes it hard to edit, it is also possible to split the xml in different parts.
All parts that you want to use have to be stored in the skin’s directory (PCDJ DEX\skins\myskin\playerwindow.xml
for example)

You can then include this file in your main skin object by using the include tag
as follows:
<INCLUDE>playerwindow.xml</INCLUDE>

At almost any place, you may add a comment field, which is also ignored by
PCDJ DEX.

If you want to share your skin with others, it is nice to have an
installer, which makes it easier for other people to install your skin.
To help you with that, I’ve created a NSIS template. The only thing you need to
change in the script is the name of your skin.
You can download the template here. (this is a zip. extract and use the .nsi file) To compile it, you
need NSIS, which is a freeware
installer system.

Once your skin is ready, and you have created an installer for it, you can
post it on the forum.
If you still have some questions about creating a skin, feel free to ask them on
the forum as well.

Skin helper utility

To help you create your skin’s xml, there is also a little utility available to generate the
xml objects by selecting the required fields.
The utility can be found Here.

Skin xml file layout

A skin will look like this
<SKIN>
    <INFO>
    …
    </INFO>

    <GENERAL>

    …
    </GENERAL>

    <ELEMENTS>
    …
    </ELEMENTS>

    <COLORS>
    …
    </COLORS>

    <FONTS>
    …
    </FONTS>

    <PLAYERWINDOW>
    …
    </PLAYERWINDOW>

    <MAIN>
    …

    </MAIN>

    <FXWINDOW>
    …
    </FXWINDOW>

    <PLAYLIST>

    …
    </PLAYLIST>

    <WINDOW>
    …
    </WINDOW>

</SKIN>

Info Field

<INFO>
    <NAME>Skin Name</NAME>
    <AUTHOR>Author Name</AUTHOR>

    <DATE>March 19, 2004</DATE>
    <LAST-UPDATED>February 11, 2006</LAST-UPDATED>
    <URL>http://www.djdecks.be</URL>
    <MINIMALBUILD>3998</MINIMALBUILD>

</INFO>

In the future, this information might be shown while selecting the skin.
Minimal build is the lowest DEX version (indicated by build number) that is
required to optimally use this skin.
You can find out which build you are using by opening the console and scrolling
to the top.

General Field

<GENERAL>
    <BACKGROUND>djdecks_background</BACKGROUND>

    <PLAYERS>2</PLAYERS>
    <SHOW-BACKGROUND>yes</SHOW-BACKGROUND>
    <SHOW-EFFECTS>yes</SHOW-EFFECTS>
    <RESOLUTION-WIDTH>1024</RESOLUTION-WIDTH>

    <RESOLUTION-HEIGHT>768</RESOLUTION-HEIGHT>
</GENERAL>

Background specifies the background image.
For all images, DEX first looks in the skins\skinName folder, and tries
.bmp, .jpg, .gif and .png extensions.
If the image isn’t found, the skins root directory is searched.
DEX_background is the name of the default background that is included with
DEX. You don’t need to copy it in your own skin directory.

Players defines the number of players to be shown by default. If you want to
make a skin that consists of only one window with all controls on it, use 0
here.
2 is the default, and will result in 2 separate windows for the players.

You can also choose if you want to show an effect panel for every player, and if
you want to show a background.

Resolution-Height and Resolution-Width specifies the original resolution of the skin.
This helps the automatic resizing to make sure the skin fits the screen on different resolutions.

The default is 1024×768

Elements Field

<ELEMENTS>
    <PICTURE>elements</PICTURE>
    <ELEMEMT>
        …

    </ELEMENT>
    <ELEMENT>
        …
    </ELEMENT>
    …
</ELEMENTS>

Elements are additional small images that you may need in your skin.
An example is the handle of a slider that shows at which position the slider is.
Elements may also be the pictures of a button when it is pressed or when the
mouse hovers over it.

The Picture field specifies in which picture all these elements are located.

Each element field looks like this:
<ELEMENT>
    <NAME>Sliderbutton_Horizontal</NAME>

    <POSITION>
        <X>10</X>
        <Y>9</Y>
        <WIDTH>275</WIDTH>

        <HEIGHT>19</HEIGHT>
    </POSITION>
</ELEMENT>

Name specifies the name of the element, position specifies where the element
is located in the elements picture.
To specify the position, you must specify the top-left coordinate with
the X and Y fields.

You can specify width and height of the element with
the WIDTH and HEIGHT fields, or you can specify the bottom-right coordinate with the
X2 and Y2 fields.

The elements field has to be specified before the following fields, because
they will need this information.

Fonts Field

<FONTS>
    <FONT>
        …
    </FONT>

    <FONT>
        …
    </FONT>
    …
</FONTS>

The fonts field specifies all the different fonts you want to use.

<FONT>
    <NAME>myLargeFont</NAME>
    <SIZE>20</SIZE>
    <BOLD>yes</BOLD>

    <FACE>Arial</FACE>
    <ALLOWLARGER>yes</ALLOWLARGER>
    <ALLOWSMALLER>yes</ALLOWSMALLER>
    <CLEARTYPE>no</CLEARTYPE>

    <ANGLE>0</ANGLE>
</FONT>

There is one font created by default, which is called ‘default’
If you create a font with the name ‘default’, then this font will
overwrite the default font.
If you later define an object, and you don’t specify a font, then the default
font is used.
The ‘Size’ field specifies the height of the font in pixels. If you rather want
to specify the fontsize in points (as normally used in windows) you should use a
<POINTSIZE> field instead of the <SIZE> field.

The allowlarger and allowsmaller fields can force the size to stay the same even
when the resolution is increased or decreased.
This is particularly useful for the playlist font, that may not be readable
anymore at 800×600 if smaller font size is allowed.
If these fields are omitted, they default to ‘yes’
Cleartype (optional) specifies if you want the font to be anti-aliased normally, or using
cleartype anti-aliasing (only supported in windows XP or later). By default,
normal anti-aliasing is used.
Angle (optional) specifies the angle to draw the text in in degrees. Use 90 for vertical text

Colors Field

<COLORS>
    <COLOR>

        <NAME>myColor</NAME>
        <R>192</R><G>65</G><B>200</B>
    </COLOR>

    <COLOR>
        …
    </COLOR>
    …
</COLORS>

The colors field is optional. It might be useful if you want to be able to
change one particular color in your skin to another color.

Playerwindow, Main and FXWindow Field

The next 3 fields are very similar. They are the playerwindow, the main and
the fxwindow field.
They all consist of objects, which are the separate parts on each
window.
<MAIN>
    <BACKGROUND>main</BACKGROUND>
    <SELECTED>main_selected</SELECTED>

    <MOUSEOVER>main_mouseover</MOUSEOVER>
    <ACTIVE>main_active</ACTIVE>
    <STARTPOSITION_1>
        <X>5</X>

        <Y>5</Y>
    </STARTPOSITION_1>
    <OBJECT>
        …
    </OBJECT>

    <OBJECT>
        …
    </OBJECT>
    …
</MAIN>
<PLAYERWINDOW>
    <BACKGROUND>player</BACKGROUND>

    <SELECTED>player_selected</SELECTED>
    <MOUSEOVER>player_mouseover</MOUSEOVER>
    <ACTIVE>player_active</ACTIVE>
    <STARTPOSITION_1>

        <X>5</X>
        <Y>5</Y>
    </STARTPOSITION_1>
    <OBJECT>
        …

    </OBJECT>
    …
</PLAYERWINDOW>
<FXWINDOW>
    …
</FXWINDOW>

Background specifies the background image for the player and the main window.

Selected specifies an image with the same size as the background image, but with
all buttons pressed
MouseOver specifies an image with the same size, but with all buttons
selected  (when the mouse pointer hovers over them).
Active Some buttons might display a state (for example if loop is on or
off). These buttons might also have a different picture when activated.
You can choose whether you want to use a clicked and mouseover picture, or
whether you want to use elements for that.
StartPosition_1 specifies the default starting position of this window on
the screen. Note that coordinates are set for 1024×768 resolutions, or for
skinresize setting of 1. If the user has a different scaling because his
resolution is different, then this values will also be automatically adjusted to
the correct size.

It is strongly recommended to use this field, because it makes the user
experience better when he switches to your skin.
Note that this only sets the default starting position when the user changes his
skin. The user can still move the windows to a different place if he likes.
For <PLAYERWINDOW> and <FXWINDOW> you can also specify startposition_2 and startposition_3 for
the other 2 decks.
DrawMode: This is an optional advanced setting. Possible values are:
Normal: Default. All objects are redrawn regularly unless the Faster Graphics debug option is selected by the user

ForceNormal: All objects are redrawn regularly even if Faster Graphics is enabled. Useful for skin windows that
don’t draw correctly with faster graphics enabled.
FasterGraphics: Objects are only redrawn if their value changes. CPU usage is lower in this mode, but it doesn’t work well with overlapping objects
Minimal: Default for the effect windows. Objects are only redrawn every 2 seconds or when the user uses the control with the mouse.

Object Field

An Object looks like this:
<OBJECT>
   
<TYPE>text</TYPE>

    <VALUE>title</VALUE>
    <VALUESPECIFIER>string</VALUESPECIFIER>
    <LEFT-ACTION></LEFT-ACTION>
    <CENTER-ACTION></CENTER-ACTION>

    <RIGHT-ACTION></RIGHT-ACTION>
    <DOUBLECLICK-ACTION></DOUBLECLICK-ACTION>
    <PLAYER>auto</PLAYER>
    <POSITION>
        <X>10</X>

        <Y>9</Y>
        <WIDTH>275</WIDTH>
        <HEIGHT>19</HEIGHT>
    </POSITION>

    <DRAWTYPE>0</DRAWTYPE>
    <COLOR>
        <R>10</R>
        <G>20</G>

        <b>30</b>
    </COLOR>
    <FONT>myLargeFont</FONT>
    <ADDITIONALPIC_1>
        <REF>selected</REF>

    </ADDITIONALPIC_1>
</OBJECT>

Type specifies what type of object it is, which defines how the object is
drawn. Some examples are text, button and slider.

Value specifies what the value of the object is, for instance the volume of a
player, main volume, title, …

ValueSpecifier specifies more specifically what value should be used.
At the bottom of this page, the values along with their possible valuespecifiers
are listed and described in more detail.

The left, center and right action specify what action is taken when the user
uses the mouse buttons on the object.
You can enter default to use the default action. For instance, for a slider
showing the volume of a player, the default action is to change the volume
depending on where the user clicked.
It is possible to have another mouse button have a different action, such as
resetting the value to it’s default.

Player specifies for which player the object is shown. For values such as the
main volume, this field has no effect. In the player field, you normally want to
use auto for this field. This means that the first player window will affect the
properties of the first player, and the second player window will affect the
properties of the second player.
You can use this field in the main field, to specify that one slider is used for
player 1, and another slider is used for player 2 for instance.

Position defines the position of the object on the window.

Drawtype defines how the object is drawn. For instance for a slider, you
might want a handle to drag it or not. How the number is used depends on the
type of object.

Color defines the color for the object. For text this will be the font color,
for some objects this might be ignored.
Instead of defining the color by it’s red, green and blue value, you can also
specify it by using <name>myColor</name>, where myColor is the name of a color
specified in the colors field.

You can also specify color2, color3 and color4. It depends on the object’s type
what these colors mean.

Font defines the font to be used. It is the name of a font that you have
specified earlier.
You don’t have to specify this field. If you don’t, a default font is used.

Finally, you can specify up to 4 additionalpic fields, labeled
additionalpic_1 to 4
You have 3 choices on  how to define this. If you use a name field inside
it, then the additionalpic is taken from the elements list. The element with the
name that you specified is used.
    <ADDITIONALPIC_1>

        <NAME>pitchfader_knob</NAME>
    </ADDITIONALPIC_1>

You can also use a ref tag, which can be ‘background’, ‘selected’, ‘mouseover’
or ‘active’
If this is used, then the picture is taken from the picture that
you specified at the same position. This is especially useful for buttons, where
you can just create 3 copies of the background, and change the buttons to how
they should look when pressed, active or when the mouse moves over them.
    <ADDITIONALPIC_1>
        <REF>mouseover</REF>

    </ADDITIONALPIC_1>

Finally, you can also use a file tag, if you want to get the additional pic
directly from a file. No extension or path should be specified, the picture will
automatically be searched for in the skin’s directory.
<ADDITIONALPIC_1>
     <FILE>myFile</FILE>
</ADDITIONALPIC_1>

Tabs

Tabs are a quite advanced feature of DEX to allow one part of the screen
to be used for different purposes. A good example is the effect panel, where the
same sliders can be used to control different effect parameters depending on
which effect you choose.
If you are just started skinning, it is best to skip this part and first get
familiar with the basics.

The general outline is as follows, and can be placed inside any window tags (
<PLAYERWINDOW>, <MAIN> or <FXWINDOW>)

<TABS>
    <TAB>

        <NAME>Tab’s Name</NAME>
        <DEFAULT>yes</DEFAULT>
        <OBJECT>
        …
        </OBJECT>

        <OBJECT>
        …
        </OBJECT>
        …
    </TAB>
    <TAB>

        …
    </TAB>
    …
</TABS>

Since v0.82, you can have multiple tabs sections, each containing as many tab fields as you like.
Each tab has a name, which you can use on a Text or
Button object with Value ‘Button_TabSelect’. Each tab also has a default field,
which indicates with which tab DEX should start as default.
Inside each tab, you can add objects, which will only be active when that tab
is selected.

To select a tab, the user can press a button with Value ‘Button_TabSelect’.
The ValueSpecifier specifies the number of the tab, starting from 1. This button
object can be defined both inside or outside the tabs field.

Playlist field

This field specifies what the playlist/filebrowser will look like.
Since it works slightly different than the other windows, the details are
explained in a separate part of the documentation.

Skinning the playlist

If the playlist field is omitted, a default style is loaded.
Note that if you don’t want to change anything to the default playlist, it is
recommended that you copy the playlist.xml from the Chiron skin to your own
skin and add the <include> for it to your main skin file.

Custom windows

As of v0.87, it is possible to add additional windows if you need more.
This is useful to add a sampler window, or maybe a custom window to show some other info.
A window field looks like this:


  <WINDOW>
      <NAME>windowname</NAME>
      … objects etc…

  </WINDOW>

Except for a name field all fields in a window object are the same as
for other windows.
Custom windows are hidden by default, so you will need to add a startup script
or a button on one of the other windows to show your new window.
The following line can be stored in a file startup.djscript in your
skin’s folder to open one window.


  ifnot ShowWindow,windowname|0 click ShowWindow,windowname|0

This will open the window called windowname. The zero at the end indicates that
it is for the first deck. Optionally you can use 1, 2 or 3 to open the same window
multiple times, but for different players.

Objects

The different types of objects you can create, and the value and valuespecifier
fields that can be used with them are explained in a separate document:

Skin Objects

PCDJ DEX 1.1 Support Page

Thursday, September 25th, 2008

Release Notes

Activation Notes

If installing on Vista / Windows 7:

DO NOT RUN from your Internet browser. Save to your hard drive.

Please copy your license code from the original purchase email you received when you purchased and select “paste” on the activation screen.

If you are going to type the code in manually (you don’t have an original purchase email or you have a hard copy) please make sure that you enter in the code with your CAPS LOCK ON.

If you lost your Activation code Contact Support Here

Do not call Technical Support for an activation code as we do not give out licensing information over the phone. This is for the protection of the original license holder.

If you receive an error on start up “Your Venue VJ Subscription Is Blocked” Please Download and install the latest update using the link above

Manuals

DEX ManualManual (Choose Lanuage)



 

Extra Freebies (Skin’s & Plug-ins)

To download optional skins and other freebies for Dex Please Go HERE

Click Here To Download Audiograbber

Instructional Videos

New: Right Click BPM Sync Feature

How To: Use DEX Recordcase

How To: Use DEX Players and Mixer

How To: Turn Off Vista’s User Account Control

Using Timecode with DEX

Click here to learn how to use timecode with DEX

Using Controllers with PCDJ DEX

click on the link for your specific controller
American Audio DP2
PCDJ DAC-3
PCDJ DAC-2
Denon Controllers
Numark Total Control
Stanton DaScratch
EKS Otus
EKS XP10 / XP5
Hercules RMX
Hercules DJ Console MK2
Hercules DJ Console MK4
Vestax VCI / VCM-100
Behringer BCD 2000/3000
Allen&Heath Xone:2D

Version History

#1.1.7296 Jan 17 2011
-Fixed possible reactivation issue by replacing security
#1.1.7289 Oct 13 2010
Maintenance Release
-Fixed possible crash while using Autoplay
-Improved search for foreign characters and accents
-Fixed bug causing changes to a case to be lost when renaming a case

#1.1.7269 June 21 2010
-Fixed possible install issue on Windows XP

#1.1.7257 June 4 2010
-Added Hercules DJ Console Mk4 support
-Added right click BPM Quantization Sync
-Should fix doubles in Order column when deleting and adding songs to a playlist
-MP4 files with Apple Lossless can now be played (I.E. Promo Only MP4 Files)
-Could fix problems with dead links in playlists/cases
-Fixed bug causing playback of wma files to crash
-Fixed bug preventing cue points to be stored in right deck using AA-DP2 controller
-Order column is now remembered when opening different folders
-Fixed bug that could cause all files to be displayed as played
-Fixed bug causing mp4/m4a tags not to be displayed correctly in the decks sometimes
-Fixed bug causing mp4/m4a tags not to be saved sometimes
-Fixed bug that could cause a crash while trying to store read-only playlists
-Reloop Digital Jockey support improved
-Improved search while typing speed
-Improved master tempo quality
-Lots of performance enhancements and tweaks.

#7228 Feb 15 2010
-Fixed Possible Uniloc Reactivation
-Fixed problem with year column not showing up
-Initial support for Reloop Digital Jockey 2 controller (fx aren’t mapped yet)
-Fixed audio CD playback which no longer worked in earlier beta’s
-Improved ‘year’ tag reading
-Fixes possible search lock up
-Fixes problem that prevented cue points in m4a/mp4 files from showing up
-Fixes ratings not showing up sometimes
-Cue points are now stored for MP4/M4A files
-Fixed bug with Karaoki not being able to load certain files
-Comments field no longer shows iTunes binary data
-Fixed loaded playlist getting re-ordered when doing a search and sorting the search results
-Added option to automatically select the first cue point on load
-Added FLAC and AIFF recording of a mix
-Fixed ‘case’ button not working for sub-folders anymore
-Some small fixes and improvements to the tag database
-Fixed Preview player not working with DirectSound output
-Fixed problem connecting Denon controller (so far only seen on a Japanese Windows)
-Improvements to ‘Order’ column, you can now enable the order column at any time to re-order to the original order.
*Note that as soon as you close Dex the current order is stored and the old order is still lost
-Fixed VST effect on third deck being reset when turning on mic with BCD-2000 controller
-Fixed TAP button on Stanton DaScratch controller not working anymore to switch decks
-Fixed BPM detection not being accurate on certain track

#7147 Sept 28 2009
-Updated protection should fix some more performance issues
-Negative autofade time is now allowed to insert a gap between 2 songs in autoplay mode
-Improved DJ-Tech i-Mix support
-Added createddays and modifieddays fields to smart playlists
-M4A/MP4 tag writing added
-HC4500 display should be correct when returning from CD mode
-Master VST effect menu now shows VST name
-New smart playlist feature: group by range
-Fixed sampler pitch bend not returning to previous pitch on release
-Sampler pitch bend now also used ‘Enable tempo control on pitch bend’ option
-Fixed problem browsing to network shares
-Fixed bug preventing 2 Denon HS-5500′s to be used simultaneously
-Added Denon Controllers option to select Match button action
-Added DAC-2 ‘constant pitch bend’ option
-Fixed DAC3 ‘constant pitch bend’ option
-Right-click playlist/browser scroll bar to show total length of that folder or playlist
-Fix possible playlist search crash

#7084 Aug 6 2009
-Changed Activation Security
-Fixed HC4500 display when returning from CD mode
-Fixed small graphical artifacts that could appear when resizing a skin
-Fixed delete/rename not working correctly when used from case button
-Performance Enhancements (faster loading of files, Faster graphics)
-Fixed problem with m4a/mp4 tag length not showing up
-M4A/MP4 cover art should be loaded correctly now
-The Keyboard/mixnow button now correctly works with autoplay. This function is also used by some controllers, but some skins still use their own mixnow script
-Fixed some tag database bugs
-Fixed non-column mode playlist/browser format not being restored on startup
-Fixed switching decks on the HS-5500 causing pitch jumps
-Fixed using Reflex/MsPinky vinyl on sample rates other than 44.1 kHz
-Added threshold and cutoff options for Reflex/MsPinky to optimize behavior when needle is stopped
-M4A/MP4 tags that were still in the tag database from before the previous update are now automatically updated
-MP4/M4A tags are now shown when loading the song to a player, and length is also read from the tag while browsing
-Fixed some small issues with loading playlists and re-ordering them
-Added new EQ type Full Spectrum, which is a little stronger, and mid-eq better complements low and high eq
-TouchPadX and TouchPadY values can be used for midi controllers now
-4% pitch range added
-Fixed playback of .cue files (.cue’s in combination with audio files)
-Small improvements to tempo control quality
-Added keyboard/loadnext command to load the next track in the playlist
-Improved automatic beatgrid on tracks with variable bpm
-Time display changed so that it no longer shows decimals when the time is larger than 1 hour (looks better on certain skins)
-Fixed problem with ‘enable tempo control on pitch bend’ not disabling tempo control when used from a midi control when pitch bending is stopped.
-Added initial support for DJ-Tech i-Mix, DJ-Tech i-Mix Reload and DJ-Tech Kontrol One controllers
-Fixed preview player not working with DirectSound driver and output mode 4 or 5
-Fixed preview player in playlist/browser not working with DirectSound output in Output Mode 4 or 5
-Fixed possible crash when trying to load a file or change folder/case while a delete or move operation was in progress
-Fixed m4a/mp4 tag reading in playlist and browser
-Reading of unsynchronized id3v2 tags in playlist and browser is supported now
-Fixed possible lockup when trying to load unsupported files
-Added PCDJ RED Mobile Skins

#6997 June 9 2009
-New Track rating column
-new ability to have Dex send MTC midi clock
-Support for Monkey’s audio file format
-Playlist repeat option added
-New beat-grid added (only in FX skin)
-Support for new KARAOKI plug-in
-Audio engine upgraded

#6887 April 8 2009
-Smartlist functionality added
-Fixed Audio CD’s not playing anymore
-Added ‘Dump’ value to activate dump effect from keyboard or midi shortcuts
-Dump effect added for the HC-4500 (next to reverse/backspin/brake effects)
-Fixed problem removing color from tag
-Fixed problem with unicode characters in ogg vorbis tags
-Fixed problem with kbps column and certain files
-Added Edcast winamp plugin support (formerly known as Oddcast)
-It is now possible to select and re-arrange columns in playlist column mode
by right-clicking the column header
-Fixed tag cache problem with deleted files still showing up in the browser
-Fixed paths with double backslashes entering the database
-Added user interface to create and edit smart playlists
-Fixed possible crash when loading a song in a deck that had a wma or wav
file loaded
-Fixed some sampler bugs
-Fixed possible crash when opening certain mp3 files

#6788 March 11 2009
-Fixed option to disable tempo control while performing effects (Brake / Startup / Backspin)
-Improved behavior when using backspace in folder list
-Sampler can now be controlled using the HC-4500
-Added initial support for Stanton DaScratch controller
-Fixed problem with Autoplay not working from smart playlist or iTunes playlist
-Improved reading of tags
-Improved searching
-Fixed a database error keeping some groups from fully displaying contents

#6714 Feb 9 2009
-Fixed possible audio drop-out when scratching with a controller while tempo control was enabled

#6705 Feb 7 2009
-Fixed bug with Browser Preview function not working anymore
-Fixed bug where sometimes tags weren’t saved

#6703 Feb 5 2009
-Fixed some DAC-2 controller bugs
-Added Allen&Heath Xone:2D support (see here for more info)

#6677 Jan 26 2009
-Fixed possible crash with FLAC files
-Tag changes should be updated in the database correctly now
-DAC-3 scratch mode selection

#6676 Jan 24 2009
-Number of possible cue points and stored loops increased to 100
-Fixed problem reading tags with corrupt ETCO frame
-Fixed problem using break effect with new tempocontrol algorithm
-Fixed problem using loops on Line In and Vinyl Control in Absolute mode

#6667 Jan 11 2009
-Option to overwrite read-only files has been added to the bpm utility
-Fixed some small bugs

#6653 Jan 2 2009
-Fixed some sampler bugs
-Added Auto Fade Start position option

#6632 Dec 10 2008
-Fixed problem with exiting loops in some cases
-Fixed some tempo control problems
-pl_active_select will now load songs to the specified deck instead of adding them to the playlist

#6622 Dec 1 2008
-Fixed ID3v2 tag reading and writing for large tags in the v2.4 format
-Improvement in tempo control quality
-Fixed problem with AutoPlay not starting with the playing deck in some cases

#6601 Nov 13 2008
-Updated Dunks1984 skin
-Some HC-4500 improvements
-Manual updated to show the 1984 skin
-Added TimeCode2 Skin

#6593 Nov 5 2008
-Improved DN-HS5500 scratch performance
-Various small improvements to DAC-3 mapping
-’loadsong’ script command added
-Fixed possible problem with AUTO button (sync bpm’s) not working correctly
-Added ‘SynchronizedLoop’ value to be used in skins, keyboard or midi mappings. When enabled, your loops will stay in sync on exit (useful when cutting loops in very small parts, but still remain beatmatched when exiting the loop)

#6586 Oct 22 2008
-Fixed bug with double-clicking on skins
-Fixed bug with reading/writing wav tags
-Some small bug fixes

#6577 Oct 8 2008
-Fixed some problems with new midi mapping method
-Added debug mode for build tag cache

#6573 Oct 7 2008
-Test for new way of midi mapping added
-Fixed problem retrieving the same loop twice with HC-4500
-Fixed visual problem adding folders in bpm detect utility
-Fixed problem with bold selection in autoplay when a file is added twice

#6567 Sep 26 2008
-Fixed problem with autoplay when a file was twice in the playlist
-Unicode search option added (open F1 search window to activate)
-Autofade time can no longer be set to 0, which could cause autoplay to stop working

#6563 Sep 22 2008
-Fixed problem adding files to playlist with DEX from Explorer->Open With…
-Added OverdubMonitor skin object to enable/disable monitor while using overdub
-Removed MFC42.DLL from installation

#6545 Sep 8 2008
-Reverse button on DAC-3 works correctly again
-Saving 4th audio input and output settings fixed

#6537 Sept 2 2008
-24-bit FLAC files supported
-RecordInput skin object now returns state and can be used to toggle recording off too
-OverDubInput object added to record over existing audio (will only work correctly on non-streaming, or RecordInput audio)

#6536 Aug 28 2008
-HC-4500 effects on deck 2 weren’t working in previous beta anymore
-Added flanger length selection on hc-4500

#6524 Aug 19 2008
-DJ Console RMX support improved
-Fixed problem opening corrupted wav files
-Small improvement with setting loop length
-Master to Cue is now actually a copy of the master output, not just the same volume

#6513 Aug 11 2008
-Some small skinning fixes
-MIDI performance improvements
-VCI-100 SE supported

#6499 Aug 3 2008
-Fixed problem with loading master vst effect presets
-Fixed problem using 2 denon controllers for deck 1/2 (such as 2 S1200′s)
-Added option to disable mix now button on dac-3 controller

#6486 2008-07-22
-Small improvement to auto-advance
-Fixed crash reading certain wav files
-Fixed small problem with entering registration code

#6481 2008-07-15
-DN-HS5500 support improved

#6465 2008-07-03
-Fixed slowness reading unsynchronized id3v2 tags
-Improved skin loading speed
-Script variables are reset when loading a new skin

#6445 2008-06-28
-Fixes some id3 tag problems

#6439 2008-06-17
-DJDEX BPM Utility now uses same settings dir on vista as DJDEX
-Initial Hercules DJ Console RMX support added
-Should fix bug editing tags from within DJDEX
-AND search setting is stored when closing DJDEX

#6435 2008-06-12
-BPM from tag is now sent to VST effects if detected BPM is too uncertain
-Pitch Bend on controllers should work better again
-Flanger can be used on DAC-3
-addtrigger and removetrigger script commands added

#6427 2008-06-08
-EKS XP5 support added
-DN HS-S5500 test code added
-Small search bug fixed
-MIDI Jog Wheel pitch bend should be smoother

#6415 2008-06-04
-Added choice between Exact Match and AND search on F1 search window
-Cue points are now stored in WAV tags
-Some small skinning fixes

#6409 2008-05-23
-Small DAC-2 and DAC-3 improvements
-Fixed autoplay folder icons not working correctly

#6401 2008-05-17
-Some small DAC-3 improvements
-Some Numark Total Control improvements
-WAV Tag writing added
-Scripting: It is now possible to see if a script is running

#6392 2008-05-08
-Fixed problem playing mono mp3′s
-Added AIFF file support
-Track Loading using timecoded vinyl is now possible
-DJDEX TimeCode should work better now

#6378 2008-04-30
-Wav and ogg decoding are no longer done with the FMod sound engine
-Fixed problem resizing some skins with the SSE/SSE2 optimized version
-Fixed some small bugs with cue mode selections
-Fixed a bug that could cause a crash when loading a new skin

#6371
-Added New PCDJ DEX RED VRM Skin.
-Added New AutoPlay Modes: Basic, Beatmatching, in which you can adjust fade time, and Fully Automatic.
-Added ability to right click on any folder and set it as Autoplay folder.
-Added Headphone Cue Buttons (PFL or Cue) in Mixer section of skins.

#6367 2008-04-23
-4 decks support for BCD-2000
-Initial support for DN-HS5500
-VCI-100 jog wheel improvements
-Some playlist and auto-advance fixes
-Support for 2 VCI’s or 2 Denon controllers in Vista working

#6322 2008-04-09
-skin now has search field on playlist window
-Fixed midi bindings bug
-Some DAC-2 improvements
-BPM Detection utility fixed
-Fixed some playlist problems when using record cases in browser and playlist part together

#6302 2008-03-31
-Fixed some small HC4500 issues
-Fixed some scripting bugs
-Fixed some sampler bugs
-Added option on console to open settings folder
-Could improve DJDEX Timecode cpu usage

#6284 2008-03-19
-Fixed problems with cueing introduced in previous beta
-Fixed drag&drop on custom windows
-Backspinning with HC4500 jog wheel should work better
-Minimize bugs fixed

#6279 2008-03-18
-Fixed various HC4500 bugs
-Fixed various skin bugs
-Fixed some sampler bugs

#6256 2008-03-11
-Preview player bugs fixed
-Flip+Load on DN-HC4500 switches deck 1 to deck 3 or deck 2 to deck 4
-Initial Numark Total Control support
-Added option to select any specific folder for autoplay
-loadvst script command fixed
-setabs script command can now be used to open/hide windows

#6250 2008-03-10
-Skinning: ShowDeck and ShowPL also return state info now
-Scripts: setabs can be used with 0 and 1 to show/hide windows
-Some bugs reading certain id3v2 tags fixed
-Autoplay folder or playlist can be selected by right-clicking it in the folder list
-VST effect slots 3 and 4 can actually be used now

#6238 2008-03-06
-Fixed VST menus
-Skins: Added %[BPM00] and %[BPM0] for TrackInfoCustom objects
-Skins: Fixed custom window bugs
-Skins: Fixed some problems using scripts with wait command

Support Hours

Monday – Friday
10am to 5pm EST

Quick Links

Contacts

Digital 1 DJ

611 S. Ft. Harrison Ave., #317
Clearwater, FL 33756