Numark DJ2GO2 Touch Mapping

Hi there,

I got a Numark DJ2GO2 Touch yesterday and adapted the DJ2GO2 mapping from Kafuzke to get the scratching functionality working.

attached to this message is a .zip file with the .xml and .js files to put in your Mixxx controllers folder. (2.81 KB)

1 Like

Thanks so much for doing this!

Two things:

  1. After moving the pitch fader for the first time after Mixxx is launched, it defaults to -0.16 when the physical fader is in the middle. Is there a way to calibrate this so that the pitch is at 0.00 when the fader is in the middle position?

  2. Is there a way to reverse the + and - directions of the pitch fader so that the pitch fader direction matches the + and - markings on the device?

About point 2, you can change the slider direction that Mixxx uses on the preferences, decks section (It’s a checkbox on the right).

About point 1, I haven’t checked the mapping. It could be a rounding on the script. Also, it might happen that changing the direction setting, it would fix for you.

Thanks for the advice! That setting is useful. Unfortunately it doesn’t help with the centre position issue, it just means it goes to +0.16 instead of -0.16.

You could try modifying the two “rate” controls on the xml like this:
(search for rate )


And adding the following to the javascript file:

NumarkDJ2Go2Touch.deckRate= function(midichan, control, value, status, group) {
engine.setValue(group, “rate”, script.midiPitch(0,value, 0xE0));

If this makes the control move in the opposite direction than what you want ( the correct direction is the same direction than the user interface), then change the javascript function to this:

engine.setValue(group, “rate”, -script.midiPitch(0,value, 0xE0));

1 Like

Hi and thank you all for the mapping. I’ve just received my new DJ2Go2 Touch and I’m already playing with it, really good fun.

Anyway, I’m using Mixxx 2.2.3 on macOS Catalina and I was also noticing the pitch fader issues, I implemented JosepMa’a recommendations and they fixed those issues for me. I’ve also made the whole thing available on GitHub (after a little bit of JavaScript refactoring too that made the code more concise): … ch-mapping

I also took the chance to update the Wiki page ( adding that’s been tested on macOS too and it works great

I get this error: [see image]

EDIT: The error doesn’t come up now after pressing retry the first time. The pitch fader problem is fixed. Thanks guys!

EDIT 2: I made the following change to the .js file downloaded from GitHub because the on-screen fader was moving in the opposite direction (visually) to the physical one. However the fader range is now -10 to +9.84.

EDIT 3: The tops of the jogwheels now perform the nudge function instead of scratching??

Thanks a lot!

For the records, I’ve tried to follow the suggestion from this wiki article and send a status dump when initialized but unfortunately it doesn’t work for me.

A quick update to let you know I’ve also added a missing feature to the mapping, now the “Browse” knob selects the focused link when clicked (e.g: clicking while on “Crates” will show the crates, then turning the knob, selecting one crate and clicking again will focus on the selected crate track list, etcf) … ch-mapping

1 Like

Just a quick update about the mapping: I’ve been using it with both current 2.3 beta and nightly builds and it’s working like a charm (and I’m having a lot of fun indeed).

While practicing transitions I’ve noticed that I basically never use the pregain knobs (labeled as Level on the controller) and I turn to the mouse to tinker with the Quick Effect Super Knobs, so I’ve edited the mapping to use the Level knobs as Quick Effect Super Knobs instead.

The updated mapping is available on the same repository (for future reference, the change is tagged as 0.2.0).

Hi all,

First - is this still being worked on (in a vague sense)? Don’t mind contributing a bit to the code if so.

I’ve tried the DJ2GO2 Touch controller with both Serato Light & Mixxx. As a piece of software, I much prefer Mixxx - and it’s areas where upgrading Serato isn’t going to ‘fix’ the discrepancy. Mixxx, to me, is just a better bit of software even ignoring the benefit of it being open source (and FOSS at that).

However, there’s a couple of mappings I’d like to carry over, and wondered - as much, could someone point me at the right documentation or something :slight_smile:

First, in Serato if you touch the outside of the jogwheel it’s more finely grained (smaller) movements. Can that be ported over to Mixxx? It’s really quite handy.

Second, the browser knob. I’d prefer it if pressing the “browse” knob toggled between the list of creates and the tracklist … it means I can almost completely dispense with the mouse :slight_smile:

Third - I love swapping the track gain knobs for high-low pass filter - it’s much more use, but is it possible to change the scale to a logarithmic one? As it is, you only need to move it about 1/3rd of the way to either side to practically cut out the entire track.

Fourth - I can’t get the headphones to output on channels 3/4 (i.e. out of the headphone socket) - is that just me, or is it a bug?

As above - a simple “RTFM” and a pointer at what bit I need to be looking at to would be ace, although obviously if someone wants to do the work for me that’s also good :stuck_out_tongue:

By the way - despite all of that - excellent work to everyone who’s contributed to the controller mapping. Overall, it’s ace.

Thanks a lot. I just got my touch controller and Mixxx didn’t recognize it at first.

I just got this controller this week. I initially set up using the github files, but was disappointed to not have scratch functionality. I ended up using the mapping files Pancake linked in the original post. However, I was also getting the ReferenceError every time I touched a jogwheel. So, I removed the variable (functionprefix=“NumarkDJ2Go2Touch”) from the file line in the scripts section of the XML file and all is now working as expected.

Hopefully this can help someone else that may be getting this error as well. Thanks to everyone that contributed here, I am having a lot of fun playing with my new toy!

1 Like

Thanks for this, this worked for me! Alternatively, putting the functionprefix at the end fixed it, too:

<file filename="Numark-DJ2Go2Touch-scripts.js" functionprefix="NumarkDJ2Go2Touch"/>

Might be the cleaner solution, but either deletion or rearranging works for me, so I’m not sure (haven’t learned enough about mappings to judge).