Quick Sign In:  

Forum: VirtualDJ Technical Support

Topic: Controller Definfition File for DAC 2 (VDJ8)

This topic is old and might contain outdated or incorrect information.

Hello,
i hope someone can help me.
I'm trying to create my first Controller Definition File for my old PCDJ DAC 2's for VDJ 8 ( creating only the mapper causes problems with sliders and wheels - may be that i make something wrong).
The General idea is to use the existing DAC2 mappers for the older VDJ versions, which are working for VDJ 7 (generally this part is working).

For MIDI Access i'm using LoopMIDI + Hairless MIDI. Sending MIDI commands to VDJ generally works at COM 1 with FTDI Chipset Drivers at Windows 10 (64 bit).
My Problem is that i've no idea to make following parts work:
-sliders,
-wheels,
-LED's (not so important),
-Display (not so important)

Does anyone have an idea (or can provide a working controller definition file (may be for older Version or HID))?
All Buttons are working perfectly.

<?xml version="1.0" encoding="UTF-8"?>
<device name="PCDJ DAC2 MIDI" author="JS" type="MIDI" decks="2" drivername="DAC2 MIDI" vid="0x0403" pid="0xFA88" >
<!--Buttons-->*
<button note="0x51" deck="1" name="CUE" channel="" />
<button note="0x5B" deck="1" name="LOAD" channel="" />
<button note="0x55" deck="1" name="WAITLIST" channel="" />
<button note="0x5A" deck="1" name="SHIFT" channel="" />
<button note="0x56" deck="1" name="BACKWARD" channel="" />
<button note="0x57" deck="1" name="GROUP" channel="" />
<button note="0x58" deck="1" name="FORWARD" channel="" />
<button note="0x50" deck="1" name="PLAYPAUSE" channel="" />
<button note="0x59" deck="1" name="PREVIEW" channel="" />
<button note="0x54" deck="1" name="MINUS" channel="" />
<button note="0x53" deck="1" name="PLUS" channel="" />
<button note="0x82" deck="1" name="MATCH" channel="" />

<button note="0x41" deck="2" name="CUE" channel="" />
<button note="0x4B" deck="2" name="LOAD" channel="" />
<button note="0x45" deck="2" name="WAITLIST" channel="" />
<button note="0x4A" deck="2" name="SHIFT" channel="" />
<button note="0x46" deck="2" name="BACKWARD" channel="" />
<button note="0x47" deck="2" name="GROUP" channel="" />
<button note="0x48" deck="2" name="FORWARD" channel="" />
<button note="0x40" deck="2" name="PLAYPAUSE" channel="" />
<button note="0x49" deck="2" name="PREVIEW" channel="" />
<button note="0x44" deck="2" name="MINUS" channel="" />
<button note="0x43" deck="2" name="PLUS" channel="" />
<button note="0x42" deck="2" name="MATCH" channel="" />


<!-- ***************************************************************** now the non working part *******************************************************-->
<!--Sliders-->*
<!--
Pitch A (Slider) +:
min :E0 03 3F 00
max:E0 03 01 00
Null:E0 03 00 00

Pitch A (Slider) -:
min :E0 04 3F 00
max:E0 04 01 00
Null:E0 04 00 00
-->
<slider ccmsb="0x03" cclsb="0x04" name="PITCH" deck="1" channel="" />
<slider ccmsb="0x01" cclsb="0x02" zero="0x00" name="PITCH" deck="2" channel="" />

<!--Jogs-->*
<!--
Jogwheel A:
+ :90 61 30 00
- :90 61 20 00
-->
<encoder cc="0x61" zero="0x25" name="WHEEL" deck="1" channel="" />

<encoder cc="0x60" zero="0x25" name="WHEEL" deck="2" channel="" />

<!--<jog cc="0x61" zero="0x40" Full="128" name="WHEEL" deck="1" channel="" />

<jog cc="0x60" zero="0x40" Full="128" name="WHEEL" deck="2" channel="" />-->


<!--Encoder-->*
<!--
Outerwheel A:
Null:90 30 00 00
+ :90 31 40 00
+ :90 31 00 00
+ :90 32 40 00
+ :90 32 00 00
+ :90 33 40 00
+ :90 33 00 00
+ :90 34 40 00
+ :90 34 00 00
+ :90 35 40 00
+ :90 35 00 00
+ :90 36 40 00
+ :90 36 00 00
+ :90 37 40 00
+ :90 37 00 00
- :90 38 40 00
- :90 38 00 00
- :90 39 40 00
- :90 39 00 00
- :90 3A 40 00
- :90 3A 00 00
- :90 3B 40 00
- :90 3B 00 00
- :90 3C 40 00
- :90 3C 00 00
- :90 3D 40 00
- :90 3D 00 00
- :90 3E 40 00
- :90 3E 00 00
- :90 3F 40 00
- :90 3F 00 00
-->
<encoder cc="0x30" name="OUTERWHEEL" deck="1" channel="" />
<encoder cc="0x20" name="OUTERWHEEL" deck="1" channel="" />
</device>
 

Posted Sun 11 Feb 18 @ 4:02 pm
djdadPRO InfinityDevelopment ManagerMember since 2005
Are you sure its the DAC2, or maybe its firmware is old ?
For example, i see the PITCH sending Pitch notes instead of CC
When the note starts with Ex, it needs <slider pitch="true" channel="x"/>

Same for the Jogwheel...
Jogwheel A:
+ :90 61 30 00
- :90 61 20 00
-->
<button note="0x61" value="0x30" channel="0" name="JOG+" deck="1"/>
<button note="0x61" value="0x20" channel="0" name="JOG-" deck="1"/>
and map it as jogwheel +0.01 (or greater value depending on its resolution)


Here is the definition from ver 7. Probably you have it already, but just in case..

<slider name="PITCH" cc="0x04" deck="1" />
<slider name="PITCH" cc="0x02" deck="2" />
<slider name="OUTERWHEEL" cc="0x30" zero="0x40" deck="1" />
<slider name="OUTERWHEEL" cc="0x20" zero="0x40" deck="2" />
<jog name="WHEEL" cc="0x61" deck="1" />
<jog name="WHEEL" cc="0x60" deck="2" />
<led name="LED_PLAY" default="PLAYPAUSE" cc="0x0D" ccoff="0x0E" value="0x00" deck="1" />
<led name="LED_CUE" default="CUE" cc="0x0D" ccoff="0x0E" value="0x01" deck="1" />
<led name="LED_MATCH" default="MATCH" cc="0x0D" ccoff="0x0E" value="0x02" deck="1" />
<led name="LED_PLAY" default="PLAYPAUSE" cc="0x0D" ccoff="0x0E" value="0x04" deck="2" />
<led name="LED_CUE" default="CUE" cc="0x0D" ccoff="0x0E" value="0x05" deck="2" />
<led name="LED_MATCH" default="MATCH" cc="0x0D" ccoff="0x0E" value="0x06" deck="2" />
<led name="LED_LOOP" cc="0x0D" ccoff="0x0E" value="0x08" deck="1" />
<led name="LED_FX" default="FX" cc="0x0D" ccoff="0x0E" value="0x09" deck="1" />
<led name="LED_LOOP" cc="0x0D" ccoff="0x0E" value="0x0A" deck="2" />
<led name="LED_FX" default="FX" cc="0x0D" ccoff="0x0E" value="0x0B" deck="2" />
<led name="LCD_PLAY" cc="0x0B" ccoff="0x0C" value="0x00" deck="1" />
<led name="LCD_PAUSE" cc="0x0B" ccoff="0x0C" value="0x01" deck="1" />
<led name="LCD_CUE" cc="0x0B" ccoff="0x0C" value="0x02" deck="1" />
<led name="LCD_TRACK" cc="0x0B" ccoff="0x0C" value="0x03" deck="1" />
<led name="LCD_PROGRAM" cc="0x0B" ccoff="0x0C" value="0x04" deck="1" />
<led name="LCD_SINGLE" cc="0x0B" ccoff="0x0C" value="0x05" deck="1" />
<led name="LCD_ELAPSED" cc="0x0B" ccoff="0x0C" value="0x06" deck="1" />
<led name="LCD_REMAIN" cc="0x0B" ccoff="0x0C" value="0x07" deck="1" />
<led name="LCD_PITCH" cc="0x0B" ccoff="0x0C" value="0x08" deck="1" />
<led name="LCD_LOOP" cc="0x0B" ccoff="0x0C" value="0x09" deck="1" />
<led name="LCD_RELOOP" cc="0x0B" ccoff="0x0C" value="0x0A" deck="1" />
<led name="LCD_BPM" cc="0x0B" ccoff="0x0C" value="0x0B" deck="1" />
<led name="LCD_PITCHTEXT" cc="0x0B" ccoff="0x0C" value="0x0C" deck="1" />
<led name="LCD_TIMEDOTS" cc="0x0B" ccoff="0x0C" value="0x0D" deck="1" />
<led name="LCD_BPMDOT" cc="0x0B" ccoff="0x0C" value="0x0E" deck="1" />
<led name="LCD_CONTINUE" cc="0x0B" ccoff="0x0C" value="0x0F" deck="1" />
<led name="LCD_PLAY" cc="0x0B" ccoff="0x0C" value="0x10" deck="2" />
<led name="LCD_PAUSE" cc="0x0B" ccoff="0x0C" value="0x11" deck="2" />
<led name="LCD_CUE" cc="0x0B" ccoff="0x0C" value="0x12" deck="2" />
<led name="LCD_TRACK" cc="0x0B" ccoff="0x0C" value="0x13" deck="2" />
<led name="LCD_PROGRAM" cc="0x0B" ccoff="0x0C" value="0x14" deck="2" />
<led name="LCD_SINGLE" cc="0x0B" ccoff="0x0C" value="0x15" deck="2" />
<led name="LCD_ELAPSED" cc="0x0B" ccoff="0x0C" value="0x16" deck="2" />
<led name="LCD_REMAIN" cc="0x0B" ccoff="0x0C" value="0x17" deck="2" />
<led name="LCD_PITCH" cc="0x0B" ccoff="0x0C" value="0x18" deck="2" />
<led name="LCD_LOOP" cc="0x0B" ccoff="0x0C" value="0x19" deck="2" />
<led name="LCD_RELOOP" cc="0x0B" ccoff="0x0C" value="0x1A" deck="2" />
<led name="LCD_BPM" cc="0x0B" ccoff="0x0C" value="0x1B" deck="2" />
<led name="LCD_PITCHTEXT" cc="0x0B" ccoff="0x0C" value="0x1C" deck="2" />
<led name="LCD_TIMEDOTS" cc="0x0B" ccoff="0x0C" value="0x1D" deck="2" />
<led name="LCD_BPMDOT" cc="0x0B" ccoff="0x0C" value="0x1E" deck="2" />
<led name="LCD_CONTINUE" cc="0x0B" ccoff="0x0C" value="0x1F" deck="2" />
<digit name="DIGIT_TRACK" cc="0x01" ccmsb="0x00" base="10" blank="0x0B" deck="1" />
<digit name="DIGIT_TIME_MIN" cc="0x03" ccmsb="0x02" base="10" blank="0x0B" deck="1" />
<digit name="DIGIT_TIME_SEC" cc="0x05" ccmsb="0x04" base="10" blank="0x0B" deck="1" />
<digit name="DIGIT_TIME_MS" cc="0x07" ccmsb="0x06" base="10" blank="0x0B" deck="1" />
<digit name="DIGIT_PITCH" cc="0x0A" ccmsb="0x09" max="99" base="10" multiply="10" ccsign="0x08" signplus="0x0B" signminus="0x0A" blank="0x0B" deck="1" />
<digit name="DIGIT_BPM" cc="0x0A" ccmsb="0x09" ccmsb2="0x08" max="999" base="10" blank="0x0B" deck="1" />
<digit name="DIGIT_TRACK" cc="0x11" ccmsb="0x10" base="10" blank="0x0B" deck="2" />
<digit name="DIGIT_TIME_MIN" cc="0x13" ccmsb="0x12" base="10" blank="0x0B" deck="2" />
<digit name="DIGIT_TIME_SEC" cc="0x15" ccmsb="0x14" base="10" blank="0x0B" deck="2" />
<digit name="DIGIT_TIME_MS" cc="0x17" ccmsb="0x16" base="10" blank="0x0B" deck="2" />
<digit name="DIGIT_PITCH" cc="0x1A" ccmsb="0x19" max="99" base="10" multiply="10" ccsign="0x18" signplus="0x0B" signminus="0x0A" blank="0x0B" deck="2" />
<digit name="DIGIT_BPM" cc="0x1A" ccmsb="0x19" ccmsb2="0x18" max="999" base="10" blank="0x0B" deck="2" />
<bar name="BAR" cc="0x0F" max="10" deck="1" />
<bar name="BAR" cc="0x1F" max="10" deck="2" />
 

Posted Mon 12 Feb 18 @ 1:27 am
Hello DjDad,
many thanks :-)
I'll try it at weekend, but it seems that this is exactly what i'm searching for :-) It would be great if it works....

bye
Jens
 

Posted Mon 12 Feb 18 @ 6:10 pm
Hello again,
I've tried it the whole day, but it doesn't work.

Most of LED's and Display are working now using your code Fragment(some error at the Bar, which is only shown partially and some other smaller things, but overall this part works)

The sliders and wheels are not working whyever. The most successfull try generates the result that the pitch slider moves (only minus and to the wrong direction - using inverted ="true" doesn't work whyever). Another effect is that at most tries using the pitch slider causes that the other deck starts playing, but i can't explain, why, because it's nowhere defined. The biggest problem is that the DAC hangs up using the slider . It's a original PCDJ DAC2 and i've tried it with a second one, too. The result has been the same.

It seems that i'll have to work with V7 instead .... :-(

bye
Jens
 

Posted Fri 16 Feb 18 @ 4:13 pm


(Old topics and forums are automatically closed)