Quick Sign In:  

Forum: VirtualDJ Technical Support

Topic: DDJ-1000 Controller Definition File

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

Hi, i'd like to know where i can find the definition file for the DDJ-1000 (Rekordbox edition), i'd like to change a few names to make custom mapping easier for me.
I tried tigging through the VirtualDJ.exe file, and it's probably the CONTROLLERS.dat file, but i can't open it.
Regards, Function =)
 

Posted Thu 10 Sep 20 @ 9:40 pm
Definitions of build in controllers are proprietary.
You can make your own definition from scratch though and override the build in definition if you wish.

May I ask what problem you have with build in definition?
 

Posted Thu 10 Sep 20 @ 11:00 pm
I don't have a problem per se, but i'd like to see how it works and change some entries to have more accurate names and try to prune those that don't seem to do anything. The default mapping shows a lot more buttons and triggers than i know of, and i've never seen them executed in the Mapping view, so i wanna learn more so i can master my hardware.
 

Posted Fri 11 Sep 20 @ 6:02 am
There are a lot of "keys" that are actually sending data for the screens to operate properly.
That's why you don't see those keys "getting executed" as they are triggered by the software, and not by you.
Also the code used to support the screens should be considered pretty much a "black box"
I mean you can see some actions like "get_pioneer_display" on your mapper. For the most part of it, there's no way you can modify this action (or the definition of it's key) that won't brake the screen support. Simply put, screens demand specific data to be sent on a strict specific format. Any attempt to send other kind of data (or different format e.t.c.) usually brakes operation of the entire screen and not just the portion you are messing with.

PS: If you are unsure about a key on your mapper we may help you by explaining better what it's supposed to do. But as I said, some keys are just "too technical" in order to have screens operating properly
 

Posted Fri 11 Sep 20 @ 7:40 am
One of my two biggest questions are:
1. What are the DNC- mappings for? They seem to set default settings for the controller, but i don't know when. Do they set up the custom controller settings, so it's just a 'hack' to add those settings to the interface through the mapping?
2. What are the HD_ mappings and the DDJ1K_HID variable? When is HID not active? Why do i always see both HD_ and not HD actions, and why are they mapped this way? Does this have anything to do with HID mode from standalone players?
Yeah okay so actually they are more than two questions, but you get the idea.

Edit: How can i make the controller not search when using Shift + Jogwheel?
 

Posted Fri 11 Sep 20 @ 1:33 pm
DNC stands for "Do Not Change"

They hold critical actions for the controller usability. On DDJ-1000 some of the DNC keys also READ or SET the device settings in it's own memory.
In simple terms, DDJ-1000 stores the changes of it's own settings (like what's visible on the display, if the hardware peak stop limiter is enabled or not, the master attenuattion level e.t.c.) on it's own memory. The software (VirtualDJ or Rekordbox) should read those settings and respect them (so that your unit behaves the same on all computers, with "any" software). Also whne you change a setting (by using VirtualDJ special controller settings page, or Rekordbox special page), the changes should be sent back on the device.
That's what most of the DNC items do. They handle that communication.
Changing them won't brake the device, but it sure will brake proper operation (reading and setting settings in a way that respects user choices)

DDJ-1000 is a Hybrid unit. It offers both a HID and a MIDI interface.
HID is used for screens and SOME elements, while MIDI is used for everything else.
Jogs, Volume sliders and Crossfader are offered both on HID and MIDI protocol.
So, HD_ means "High Definition", in other words an element that's reported from HID protocol and also exists on MIDI.
Most likely we could "get rid" of MIDI controls for elements that are also reported by HID protocol. However there's a catch.
HID protocol is partially "locked" by Pioneer. We can't provide further details on the subject.
However the mapper is programmed in a way that should you loose the HID protocol (because something went wrong and the device locked it) the controller should remain still usable even in "degraded" performance.
PS: Reconnecting the device in such a case restores HID protocol. Still we can't provide further details on that subject.

Finally:
Find SHIFT_HD_JOG and remap it to touchwheel
Find SHIFT_HD_JOG_TOUCH and remap it to touchwheel_touch
Find SHIFT_JOG and remap it to var '$DDJ1K_HID' ? nothing : touchwheel
Find SHIFT_JOG_OUT_RING and remap it to var '$DDJ1K_HID' ? nothing : touchwheel
Find SHIFT_JOG_TOUCH and remap it to var '$DDJ1K_HID' ? nothing : touchwheel_touch
 

Posted Fri 11 Sep 20 @ 9:14 pm
It took me some time to get back to this and test it and stuff, but now everything's sorted out.
Thank you so much PhantomDeejay!! Now this stuff finally makes sense. The shift-search removal also works perfectly.
I'll use this information to make a sort-of mapping 'preprocessor' in NodeJS where all of the duplicated information for _HID mappings is generated automatically, to give an easier overview and make changing actions simpler.
 

Posted Wed 23 Sep 20 @ 9:38 am


(Old topics and forums are automatically closed)