Skip to content

Instantly share code, notes, and snippets.

@mfep
Created August 24, 2023 18:35
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save mfep/0d415c54bac79126b0f78844e93f6985 to your computer and use it in GitHub Desktop.
Save mfep/0d415c54bac79126b0f78844e93f6985 to your computer and use it in GitHub Desktop.
Numark MixTrack Pro mapping for Mixxx
<?xml version='1.0' encoding='utf-8'?>
<MixxxControllerPreset schemaVersion="1" mixxxVersion="1.11.0+">
<info>
<name>Numark MixTrack Pro (mfep)</name>
<author>Matteo (matteo@magm3.com), James Ralston, and D. J. Freije (dario2004@gmail.com)</author>
<description>version v1.2 w/brake, backspin, blink beat Leds.</description>
<forums>https://mixxx.discourse.group/t/numark-mixtrack-pro-with-backspin-and-more/12557</forums>
</info>
<controller id="Numark">
<scriptfiles>
<file filename="Numark-Mixtrack-Pro-scripts.js" functionprefix="NumarkMixTrackPro"/>
</scriptfiles>
<controls>
<control>
<group>[Channel1]</group>
<key>volume</key>
<status>0xB0</status>
<midino>0x08</midino>
<options>
<normal/>
</options>
</control>
<control>
<group>[Channel2]</group>
<key>volume</key>
<status>0xB0</status>
<midino>0x09</midino>
<options>
<normal/>
</options>
</control>
<control>
<group>[Master]</group>
<key>crossfader</key>
<status>0xB0</status>
<midino>0x0A</midino>
<options>
<invert/>
</options>
</control>
<control>
<group>[Master]</group>
<key>headVolume</key>
<status>0xB0</status>
<midino>0x0B</midino>
<options>
<normal/>
</options>
</control>
<control>
<group>[Master]</group>
<key>headMix</key>
<status>0xB0</status>
<midino>0x0C</midino>
<options>
<normal/>
</options>
</control>
<control>
<group>[Channel1]</group>
<key>NumarkMixTrackPro.pitch</key>
<status>0xB0</status>
<midino>0x0D</midino>
<options>
<script-binding/>
</options>
</control>
<control>
<group>[Channel2]</group>
<key>NumarkMixTrackPro.pitch</key>
<status>0xB0</status>
<midino>0x0E</midino>
<options>
<script-binding/>
</options>
</control>
<control>
<group>[Channel1]</group>
<key>filterHigh</key>
<status>0xB0</status>
<midino>0x10</midino>
<options>
<normal/>
</options>
</control>
<control>
<group>[Channel2]</group>
<key>filterHigh</key>
<status>0xB0</status>
<midino>0x11</midino>
<options>
<normal/>
</options>
</control>
<control>
<group>[Channel1]</group>
<key>filterMid</key>
<status>0xB0</status>
<midino>0x12</midino>
<options>
<normal/>
</options>
</control>
<control>
<group>[Channel2]</group>
<key>filterMid</key>
<status>0xB0</status>
<midino>0x13</midino>
<options>
<normal/>
</options>
</control>
<control>
<group>[Channel1]</group>
<key>filterLow</key>
<status>0xB0</status>
<midino>0x14</midino>
<options>
<normal/>
</options>
</control>
<control>
<group>[Channel2]</group>
<key>filterLow</key>
<status>0xB0</status>
<midino>0x15</midino>
<options>
<normal/>
</options>
</control>
<control>
<group>[Master]</group>
<key>volume</key>
<status>0xB0</status>
<midino>0x17</midino>
<options>
<normal/>
</options>
</control>
<control>
<group>[Channel2]</group>
<key>NumarkMixTrackPro.jogWheel</key>
<status>0xB0</status>
<midino>0x18</midino>
<options>
<script-binding/>
</options>
</control>
<control>
<group>[Channel1]</group>
<key>NumarkMixTrackPro.jogWheel</key>
<status>0xB0</status>
<midino>0x19</midino>
<options>
<script-binding/>
</options>
</control>
<control>
<group>[Playlist]</group>
<key>NumarkMixTrackPro.selectKnob</key>
<status>0xB0</status>
<midino>0x1A</midino>
<options>
<script-binding/>
</options>
</control>
<control>
<group>[EffectRack1_EffectUnit1_Effect1]</group>
<key>effect_selector</key>
<description>MIDI Learned from 9 messages.</description>
<status>0xB0</status>
<midino>0x1B</midino>
<options>
<selectknob/>
</options>
</control>
<control>
<group>[EffectRack1_EffectUnit1_Effect1]</group>
<key>meta</key>
<description>MIDI Learned from 347 messages.</description>
<status>0xB0</status>
<midino>0x1C</midino>
<options>
<diff/>
</options>
</control>
<control>
<group>[EffectRack1_EffectUnit2_Effect1]</group>
<key>effect_selector</key>
<description>MIDI Learned from 31 messages.</description>
<status>0xB0</status>
<midino>0x1E</midino>
<options>
<selectknob/>
</options>
</control>
<control>
<group>[EffectRack1_EffectUnit2_Effect1]</group>
<key>meta</key>
<description>MIDI Learned from 213 messages.</description>
<status>0xB0</status>
<midino>0x1F</midino>
<options>
<diff/>
</options>
</control>
<control>
<group>[Channel1]</group>
<key>NumarkMixTrackPro.cuebutton</key>
<status>0x90</status>
<midino>0x33</midino>
<options>
<script-binding/>
</options>
</control>
<control>
<group>[Channel2]</group>
<key>NumarkMixTrackPro.LoadTrack</key>
<status>0x90</status>
<midino>0x34</midino>
<options>
<script-binding/>
</options>
</control>
<control>
<group>[Channel1]</group>
<key>NumarkMixTrackPro.playbutton</key>
<status>0x90</status>
<midino>0x3B</midino>
<options>
<script-binding/>
</options>
</control>
<control>
<group>[Channel2]</group>
<key>NumarkMixTrackPro.cuebutton</key>
<status>0x90</status>
<midino>0x3C</midino>
<options>
<script-binding/>
</options>
</control>
<control>
<group>[Channel1]</group>
<key>NumarkMixTrackPro.beatsync</key>
<status>0x90</status>
<midino>0x40</midino>
<options>
<script-binding/>
</options>
</control>
<control>
<group>[Channel2]</group>
<key>NumarkMixTrackPro.playbutton</key>
<status>0x90</status>
<midino>0x42</midino>
<options>
<script-binding/>
</options>
</control>
<control>
<group>[Channel1]</group>
<key>rate_temp_down</key>
<status>0x90</status>
<midino>0x43</midino>
<options>
<normal/>
</options>
</control>
<control>
<group>[Channel1]</group>
<key>rate_temp_up</key>
<status>0x90</status>
<midino>0x44</midino>
<options>
<normal/>
</options>
</control>
<control>
<group>[Channel2]</group>
<key>rate_temp_down</key>
<status>0x90</status>
<midino>0x45</midino>
<options>
<normal/>
</options>
</control>
<control>
<group>[Channel2]</group>
<key>rate_temp_up</key>
<status>0x90</status>
<midino>0x46</midino>
<options>
<normal/>
</options>
</control>
<control>
<group>[Channel2]</group>
<key>NumarkMixTrackPro.beatsync</key>
<status>0x90</status>
<midino>0x47</midino>
<options>
<script-binding/>
</options>
</control>
<control>
<group>[Channel1]</group>
<key>NumarkMixTrackPro.toggleScratchMode</key>
<status>0x90</status>
<midino>0x48</midino>
<options>
<script-binding/>
</options>
</control>
<control>
<group>[Channel1]</group>
<key>NumarkMixTrackPro.playFromCue</key>
<status>0x90</status>
<midino>0x4A</midino>
<options>
<script-binding/>
</options>
</control>
<control>
<group>[Channel1]</group>
<key>NumarkMixTrackPro.LoadTrack</key>
<status>0x90</status>
<midino>0x4B</midino>
<options>
<script-binding/>
</options>
</control>
<control>
<group>[Channel2]</group>
<key>NumarkMixTrackPro.playFromCue</key>
<status>0x90</status>
<midino>0x4C</midino>
<options>
<script-binding/>
</options>
</control>
<control>
<group>[Channel2]</group>
<key>NumarkMixTrackPro.wheelTouch</key>
<status>0x90</status>
<midino>0x4D</midino>
<options>
<script-binding/>
</options>
</control>
<control>
<group>[Channel1]</group>
<key>NumarkMixTrackPro.wheelTouch</key>
<status>0x90</status>
<midino>0x4E</midino>
<options>
<script-binding/>
</options>
</control>
<control>
<group>[Playlist]</group>
<key>LoadSelectedIntoFirstStopped</key>
<status>0x90</status>
<midino>0x4F</midino>
<options>
<normal/>
</options>
</control>
<control>
<group>[Channel2]</group>
<key>NumarkMixTrackPro.toggleScratchMode</key>
<status>0x90</status>
<midino>0x50</midino>
<options>
<script-binding/>
</options>
</control>
<control>
<group>[Channel1]</group>
<key>keylock</key>
<status>0x90</status>
<midino>0x51</midino>
<options>
<normal/>
</options>
</control>
<control>
<group>[Channel2]</group>
<key>keylock</key>
<status>0x90</status>
<midino>0x52</midino>
<options>
<normal/>
</options>
</control>
<control>
<group>[Channel1]</group>
<key>NumarkMixTrackPro.loopIn</key>
<status>0x90</status>
<midino>0x53</midino>
<options>
<script-binding/>
</options>
</control>
<control>
<group>[Channel1]</group>
<key>NumarkMixTrackPro.loopOut</key>
<status>0x90</status>
<midino>0x54</midino>
<options>
<script-binding/>
</options>
</control>
<control>
<group>[Channel1]</group>
<key>NumarkMixTrackPro.reLoop</key>
<status>0x90</status>
<midino>0x55</midino>
<options>
<script-binding/>
</options>
</control>
<control>
<group>[Channel2]</group>
<key>NumarkMixTrackPro.loopIn</key>
<status>0x90</status>
<midino>0x56</midino>
<options>
<script-binding/>
</options>
</control>
<control>
<group>[Channel2]</group>
<key>NumarkMixTrackPro.loopOut</key>
<status>0x90</status>
<midino>0x57</midino>
<options>
<script-binding/>
</options>
</control>
<control>
<group>[Channel2]</group>
<key>NumarkMixTrackPro.reLoop</key>
<status>0x90</status>
<midino>0x58</midino>
<options>
<script-binding/>
</options>
</control>
<control>
<group>[Channel1]</group>
<key>NumarkMixTrackPro.toggleDeleteKey</key>
<status>0x90</status>
<midino>0x59</midino>
<options>
<script-binding/>
</options>
</control>
<control>
<group>[Channel1]</group>
<key>NumarkMixTrackPro.changeHotCue</key>
<status>0x90</status>
<midino>0x5A</midino>
<options>
<script-binding/>
</options>
</control>
<control>
<group>[Channel1]</group>
<key>NumarkMixTrackPro.changeHotCue</key>
<status>0x90</status>
<midino>0x5B</midino>
<options>
<script-binding/>
</options>
</control>
<control>
<group>[Channel1]</group>
<key>NumarkMixTrackPro.changeHotCue</key>
<status>0x90</status>
<midino>0x5C</midino>
<options>
<script-binding/>
</options>
</control>
<control>
<group>[Channel2]</group>
<key>NumarkMixTrackPro.toggleDeleteKey</key>
<status>0x90</status>
<midino>0x5D</midino>
<options>
<script-binding/>
</options>
</control>
<control>
<group>[Channel2]</group>
<key>NumarkMixTrackPro.changeHotCue</key>
<status>0x90</status>
<midino>0x5E</midino>
<options>
<script-binding/>
</options>
</control>
<control>
<group>[Channel2]</group>
<key>NumarkMixTrackPro.changeHotCue</key>
<status>0x90</status>
<midino>0x5F</midino>
<options>
<script-binding/>
</options>
</control>
<control>
<group>[Channel2]</group>
<key>NumarkMixTrackPro.changeHotCue</key>
<status>0x90</status>
<midino>0x60</midino>
<options>
<script-binding/>
</options>
</control>
<control>
<group>[Channel1]</group>
<key>NumarkMixTrackPro.toggleManualLooping</key>
<status>0x90</status>
<midino>0x61</midino>
<options>
<script-binding/>
</options>
</control>
<control>
<group>[Channel2]</group>
<key>NumarkMixTrackPro.toggleManualLooping</key>
<status>0x90</status>
<midino>0x62</midino>
<options>
<script-binding/>
</options>
</control>
<control>
<group>[EffectRack1_EffectUnit1_Effect1]</group>
<key>enabled</key>
<description>MIDI Learned from 18 messages.</description>
<status>0x90</status>
<midino>0x63</midino>
<options>
<normal/>
</options>
</control>
<control>
<group>[EffectRack1_EffectUnit2_Effect1]</group>
<key>enabled</key>
<description>MIDI Learned from 26 messages.</description>
<status>0x90</status>
<midino>0x64</midino>
<options>
<normal/>
</options>
</control>
<control>
<group>[Channel1]</group>
<key>pfl</key>
<status>0x90</status>
<midino>0x65</midino>
<options>
<normal/>
</options>
</control>
<control>
<group>[Channel2]</group>
<key>pfl</key>
<status>0x90</status>
<midino>0x66</midino>
<options>
<normal/>
</options>
</control>
<control>
<group>[Playlist]</group>
<key>NumarkMixTrackPro.toggleDirectoryMode</key>
<status>0x90</status>
<midino>0x69</midino>
<options>
<script-binding/>
</options>
</control>
</controls>
<outputs>
<output>
<group>[Channel1]</group>
<key>beatsync</key>
<status>0x90</status>
<midino>0x40</midino>
<on>0x00</on>
<off>0x64</off>
<maximum>0.1</maximum>
</output>
<output>
<group>[Channel1]</group>
<key>beatsync_tempo</key>
<status>0x90</status>
<midino>0x40</midino>
<on>0x00</on>
<off>0x64</off>
<maximum>0.1</maximum>
</output>
<output>
<group>[Channel1]</group>
<key>keylock</key>
<status>0x90</status>
<midino>0x51</midino>
<on>0x00</on>
<off>0x64</off>
<maximum>0.1</maximum>
</output>
<output>
<group>[Channel1]</group>
<key>pfl</key>
<status>0x90</status>
<midino>0x65</midino>
<on>0x00</on>
<off>0x64</off>
<maximum>0.1</maximum>
</output>
<output>
<group>[Channel1]</group>
<key>play</key>
<status>0x90</status>
<midino>0x3B</midino>
<on>0x00</on>
<off>0x64</off>
<maximum>0.1</maximum>
</output>
<output>
<group>[Channel1]</group>
<key>play</key>
<status>0x90</status>
<midino>0x33</midino>
<on>0x64</on>
<maximum>0.1</maximum>
</output>
<output>
<group>[Channel1]</group>
<key>rate</key>
<status>0x90</status>
<midino>0x70</midino>
<on>0x64</on>
<maximum>0.1</maximum>
<minimum>-0.1</minimum>
</output>
<output>
<group>[Channel2]</group>
<key>beatsync</key>
<status>0x90</status>
<midino>0x47</midino>
<on>0x00</on>
<off>0x64</off>
<maximum>0.1</maximum>
</output>
<output>
<group>[Channel2]</group>
<key>beatsync_tempo</key>
<status>0x90</status>
<midino>0x47</midino>
<on>0x00</on>
<off>0x64</off>
<maximum>0.1</maximum>
</output>
<output>
<group>[Channel2]</group>
<key>keylock</key>
<status>0x90</status>
<midino>0x52</midino>
<on>0x00</on>
<off>0x64</off>
<maximum>0.1</maximum>
</output>
<output>
<group>[Channel2]</group>
<key>pfl</key>
<status>0x90</status>
<midino>0x66</midino>
<on>0x00</on>
<off>0x64</off>
<maximum>0.1</maximum>
</output>
<output>
<group>[Channel2]</group>
<key>play</key>
<status>0x90</status>
<midino>0x42</midino>
<on>0x00</on>
<off>0x64</off>
<maximum>0.1</maximum>
</output>
<output>
<group>[Channel2]</group>
<key>play</key>
<status>0x90</status>
<midino>0x3C</midino>
<on>0x64</on>
<maximum>0.1</maximum>
</output>
<output>
<group>[Channel2]</group>
<key>rate</key>
<status>0x90</status>
<midino>0x71</midino>
<on>0x64</on>
<maximum>0.1</maximum>
<minimum>-0.1</minimum>
</output>
<output>
<group>[EffectRack1_EffectUnit1_Effect1]</group>
<key>enabled</key>
<status>0x90</status>
<midino>0x63</midino>
<on>0x00</on>
<off>0x64</off>
<maximum>0</maximum>
</output>
<output>
<group>[EffectRack1_EffectUnit2_Effect1]</group>
<key>enabled</key>
<status>0x90</status>
<midino>0x64</midino>
<on>0x00</on>
<off>0x64</off>
<maximum>0</maximum>
</output>
</outputs>
</controller>
</MixxxControllerPreset>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment