Mixtrack Pro 3

Hello All! I have purchased a Mixtrack Pro 3 from Numark and love using the Mixx Software. I can’t connect the controller to the software. Is there any Mixtrack Pro 3 mapping for MIXX yet?

No, but it would be great if you made one! See mixxx.org/wiki/doku.php#controll … umentation . I don’t know how similar the MIDI signals are from the Mixtrack Pro 2 compared to the Mixtrack Pro 3, but I suggest trying to load the Mixtrack Pro 2 mapping as a starting point and fix what doesn’t work. The new touch strips on the Mixtrack Pro 3 may take some scripting to map well. Also, the buttons on the Mixtrack Pro 3 are multicolored but they aren’t on the Mixtrack Pro 2, so you’d need to map that out yourself to take advantage of that capability of the hardware.

Can you confirm that the soundcard in Mixtrack Pro 3 works with Linux? It is advertised as USB audio class compliant, so it should work. Please update mixxx.org/wiki/doku.php/hardware … ontrollers if it does work. If you don’t have a computer with Linux on it available, you can put Crossfade on a USB drive to test this.

I have no knowledge of scripting which is why I was really hoping someone else was already on it. Any chance I can find out if someone is working on it?

AFAIK no one else is, or if they are, they have not said anything publicly about it.

I found a web site which had a coded download available for the mixtrack pro 3 but it was not an XML document. Could someone use this to create a map file for the mixtrack pro 3 that would work in Mixxx?

Hyper Link:


No, TSI file mappings are for Traktor. They are nominally XML files, but taking a look at that, the actual data is not human-readable (so I don’t know why they use XML…) and would be useless for making a Mixxx mapping. If you want to make a Mixxx mapping, see the Mixxx controller mapping documentation.

I’m actively working on mapping this controller and starting to digest how to script the scratch pads as well as the FX slider at the top.

I have everything mostly working save for the pitch sliders go ape when used, the scratch wheels are un-useable at this juncture, and the FX slider does nothing. I’ll follow up with some github links to the progress when I’m out of work today.

I just started a Mappings In Development table on the wiki and added this controller. I also started a wiki page for it.

I got my pitch faders to work – the learning wizard got the byte order confused. I set the LSB option for control 0x38, and MSB for 0x18, the wizard suggested the other way around.

Lazypower, could you share your progress? I’d be happy to contribute, I’m new to mapping, but willing to learn.

Hey lazy power and or wollollo could you guys post a link to the current mapping files?

When this mapping is finished will it work with the NUMARK Mixtrack 3(non pro version)

Probably. Would you be able to verify that?

Ill be more than happy to do so! But probably on this Sunday or Monday afternoon!

I’ve got a fairly functional mapping now.

Files are here:

Some things that work:
All the essentials: play/pause, cue, pitch sliders & nudge buttons, jogwheel (scratch & nudge mode, select with wheel button), upfaders, crossfaders, eq, cue gain & mix, master gain, pfl, browse & load, sync.
Touch strip: sets super knobs on effects, and searches through track if shift is pressed at the same time.
The VU leds: shows master level, but if pfl is pressed on a channel the strip on that side switches to that channel. The top light lights up if the signal is clipping, and only then.

Things that work, but not perfectly:
Filter knobs assume that slot 2 of effect rack 1 (for channel 1) or rack 2 (for channel 2) contains a filter, and twisting left sets lowpass cutoff, right sets highpass. (Or really, just sets parameters 1 and 3…) Obviously this conflicts with the super knob assigned to the touch strips, so disable super on the filter. FX2 and FX3 toggle slot 1 and 2 of the rack on that side, FX1 toggles the entire rack. All of this makes some sense for Shade, which is the skin I usually use, but not for LateNight or Deere.
Hot cues can be set and played, but should be deleted by shift + hotcue, this is easy but not yet done.
The top row of pads works as manual loop (in, out, off/reloop, halve (or double with shift)), auto loop (1 beat, 2, 4, 8 beats), or as sampler (plain play/pause for slots 1-4), depending on which mode they are in - select with pad mode + the pad labelled the mode you want. The shift key should change what a lot (most?) of these do, e.g. Serato makes shift + loop start a looproll, which seems like a good idea. I chose the simplest thing I could think of for the samplers, there might be better things to map them to.

Stuff that does not work:
Most of the lights, including pads and fx.
The tempo tap and effects speed selector, I’m not sure what the best approach is for these.
Shift + cue for return to start, shift + play for stutter.

Have a play with it, see what you think.
I’d like to get this done fully & properly, so any thoughts, comments, ideas, questions, bugs, annoyances etc are very welcome.

The script is based on the script for the Mixtrack Pro 1 provided with mixxx. There are a few functions in the script file that come from the Pro 1 script, and which I don’t use, so if you see a function that doesn’t appear in the mapping, it’s probably something I haven’t been ruthless enough to cull yet, or something I would like to keep, but haven’t fully adjusted to Mixtrack Pro 3 yet.


Could you rename the mapping files to use the convention of other mappings rather than the autogenerated filenames?

I’m confused what the issue is and what the purpose of the filterCutoff JS function is. Why not just map the filter knob to [QuickEffectRack1_[ChannelX], super1, which is what the skins use?

Yes, this is an issue with Mixxx. Don’t sweat about it too much for mapping until there is a unified interface for all the skins. Please comment on this bug if you are interested in planning how the effects interface should be.

For the tempo tap, use [ChannelX], bpm_tap. I don’t know about effect speed right now because Mixxx has no analogous concept (yet).


Please put spaces around conditional expressions for readability. For example, change “if(NumarkMixTrackPro3.deleteKey[deck-1]){” to “if (NumarkMixTrackPro3.deleteKey[deck-1]) {”

I’ve downloaded wollollo’s mapping and it worked on Mixxx 1.11 on Windows but not on Fedora 22 (Mixxx runs pretty poorly on it anyway for some reason with constant freezing).

Would you be able to put this in a proper git repo, so we can make changes easily?

Thanks for your hard work and I might have a go at improving the code once I learn Javascript. I’m more of a Python person, but I’m willing to give anything a shot.

i have the files edited for use with mix(meaning thy=ey are now js and midi files now)
If you want to know how to do that on windows then :
1: right click the files from wollowo and press save target as then same the files like you normaly do
2: Open notepad and open both files in different windows and for the midi one type this at the end.midi
for the js file type at the .js
and that is it!
I will test the numark mixtrack 3 out with these mappings on Sunday night or Monday after school and will let you guys know if it works!
Peace out!
(also let me know when the mappers are fully finished so I cam use them with virtual dj 7!)

Actually, scratch that about the repo, I’ve realised you’ve put the files in a branch. Doh!

I’ve been running Mixxx on Fedora 22 fine.

If you know Python, you will probably be able to learn JS easily. The MIDI Scripting wiki page has links to some JS tutorials and references.