Skip to content

Instantly share code, notes, and snippets.

@kousu
Created September 9, 2021 07:33
Show Gist options
  • Save kousu/9182023b2e0a9cf3b9a6fbb643f2df22 to your computer and use it in GitHub Desktop.
Save kousu/9182023b2e0a9cf3b9a6fbb643f2df22 to your computer and use it in GitHub Desktop.
<?xml version='1.0' encoding='utf-8'?>
<MixxxControllerPreset schemaVersion="1" mixxxVersion="2.3.0">
<info>
<name>Akai MPK Mini</name>
</info>
<controller id="AkaiMPKMini">
<scriptfiles/>
<controls>
<!-- Master -->
<!-- mixer -->
<control>
<group>[Master]</group>
<key>gain</key>
<status>0xB0</status>
<midino>0x01</midino>
<options>
<soft-takeover/>
</options>
</control>
<control>
<group>[Master]</group>
<key>headGain</key>
<status>0xB0</status>
<midino>0x05</midino>
<options>
<soft-takeover/>
</options>
</control>
<control>
<group>[Master]</group>
<key>headMix</key>
<status>0xB0</status>
<midino>0x04</midino>
<options>
<soft-takeover/>
</options>
</control>
<control>
<group>[Master]</group>
<key>crossfader</key>
<status>0xB0</status>
<midino>0x08</midino>
<options>
<soft-takeover/>
</options>
</control>
<!-- Deck 1 -->
<!-- transport -->
<control>
<group>[Channel1]</group>
<key>play</key>
<status>0x90</status>
<midino>0x30</midino>
<options>
<normal/>
</options>
</control>
<control>
<group>[Channel1]</group>
<key>cue_default</key>
<status>0x90</status>
<midino>0x35</midino>
<options>
<normal/>
</options>
</control>
<control>
<group>[Channel1]</group>
<key>cue_default</key>
<status>0x80</status> <!-- note off: necessary to make hold-and-release work -->
<midino>0x35</midino>
<options>
<normal/>
</options>
</control>
<control>
<group>[Channel1]</group>
<key>pfl</key>
<status>0x90</status>
<midino>0x31</midino>
<options>
<normal/>
</options>
</control>
<control>
<group>[Channel1]</group>
<key>rate</key>
<status>0xB0</status>
<midino>0x02</midino>
<options>
<soft-takeover/>
</options>
</control>
<control>
<group>[Channel1]</group>
<key>sync_enabled</key>
<status>0x90</status>
<midino>0x33</midino>
<options>
<normal/>
</options>
</control>
<!-- mixer -->
<control>
<group>[Channel1]</group>
<key>volume</key>
<status>0xB0</status>
<midino>0x03</midino>
<options>
<soft-takeover/>
</options>
</control>
<!-- pitch bend -->
<control>
<group>[Channel1]</group>
<key>rate_temp_down</key>
<status>0x90</status>
<midino>0x32</midino>
<options>
<normal/>
</options>
</control>
<control>
<group>[Channel1]</group>
<key>rate_temp_down</key>
<status>0x80</status> <!-- note off: necessary to make hold-and-release work -->
<midino>0x32</midino>
<options>
<normal/>
</options>
</control>
<control>
<group>[Channel1]</group>
<key>rate_temp_up</key>
<status>0x90</status>
<midino>0x34</midino>
<options>
<normal/>
</options>
</control>
<control>
<group>[Channel1]</group>
<key>rate_temp_up</key>
<status>0x80</status> <!-- note off: necessary to make hold-and-release work -->
<midino>0x34</midino>
<options>
<normal/>
</options>
</control>
<!-- EQs -->
<!-- EQ levels -->
<control>
<group>[Channel1]</group>
<key>pregain</key>
<status>0xB2</status>
<midino>0x01</midino>
<options>
<soft-takeover/>
</options>
</control>
<control>
<group>[EqualizerRack1_[Channel1]_Effect1]</group>
<key>parameter3</key>
<status>0xB2</status>
<midino>0x02</midino>
<options>
<soft-takeover/>
</options>
</control>
<control>
<group>[EqualizerRack1_[Channel1]_Effect1]</group>
<key>parameter2</key>
<status>0xB2</status>
<midino>0x03</midino>
<options>
<soft-takeover/>
</options>
</control>
<control>
<group>[EqualizerRack1_[Channel1]_Effect1]</group>
<key>parameter1</key>
<status>0xB2</status>
<midino>0x04</midino>
<options>
<soft-takeover/>
</options>
</control>
<!-- EQ cuts -->
<control>
<group>[EqualizerRack1_[Channel1]_Effect1]</group>
<key>button_parameter3</key>
<status>0x90</status>
<midino>0x37</midino>
<options>
<normal/>
</options>
</control>
<control>
<group>[EqualizerRack1_[Channel1]_Effect1]</group>
<key>button_parameter2</key>
<status>0x90</status>
<midino>0x39</midino>
<options>
<normal/>
</options>
</control>
<control>
<group>[EqualizerRack1_[Channel1]_Effect1]</group>
<key>button_parameter1</key>
<status>0x90</status>
<midino>0x3B</midino>
<options>
<normal/>
</options>
</control>
<!-- Deck 2 -->
<!-- transport controls -->
<control>
<group>[Channel2]</group>
<key>play</key>
<status>0x90</status>
<midino>0x3C</midino>
<options>
<normal/>
</options>
</control>
<control>
<group>[Channel2]</group>
<key>cue_default</key>
<status>0x90</status>
<midino>0x41</midino>
<options>
<normal/>
</options>
</control>
<control>
<group>[Channel2]</group>
<key>cue_default</key>
<status>0x80</status> <!-- note off: necessary to make hold-and-release work -->
<midino>0x41</midino>
<options>
<normal/>
</options>
</control>
<control>
<group>[Channel2]</group>
<key>pfl</key>
<status>0x90</status>
<midino>0x3D</midino>
<options>
<normal/>
</options>
</control>
<control>
<group>[Channel2]</group>
<key>rate</key>
<status>0xB0</status>
<midino>0x06</midino>
<options>
<soft-takeover/>
</options>
</control>
<control>
<group>[Channel2]</group>
<key>sync_enabled</key>
<status>0x90</status>
<midino>0x3F</midino>
<options>
<normal/>
</options>
</control>
<!-- mixer -->
<control>
<group>[Channel2]</group>
<key>volume</key>
<status>0xB0</status>
<midino>0x07</midino>
<options>
<soft-takeover/>
</options>
</control>
<!-- pitchbend -->
<control>
<group>[Channel2]</group>
<key>rate_temp_down</key>
<status>0x90</status>
<midino>0x3E</midino>
<options>
<normal/>
</options>
</control>
<control>
<group>[Channel2]</group>
<key>rate_temp_down</key>
<status>0x80</status> <!-- note off: necessary to make hold-and-release work -->
<midino>0x3E</midino>
<options>
<normal/>
</options>
</control>
<control>
<group>[Channel2]</group>
<key>rate_temp_up</key>
<status>0x90</status>
<midino>0x40</midino>
<options>
<normal/>
</options>
</control>
<control>
<group>[Channel2]</group>
<key>rate_temp_up</key>
<status>0x80</status> <!-- note off: necessary to make hold-and-release work -->
<midino>0x40</midino>
<options>
<normal/>
</options>
</control>
<!-- EQ -->
<!-- note: the EQ dials, the ones tagged 'soft-takeover', don't all fit into the MPK mini's 8 dials
at the same time as the other controls above,
so they are instead shifted onto midi channel 3.
to access them, hold Program+Prog3
to shift back, hold Program+Prog1 -->
<!-- EQ levels -->
<control>
<group>[Channel2]</group>
<key>pregain</key>
<status>0xB2</status>
<midino>0x05</midino>
<options>
<soft-takeover/>
</options>
</control>
<control>
<group>[EqualizerRack1_[Channel2]_Effect1]</group>
<key>parameter3</key>
<status>0xB2</status>
<midino>0x06</midino>
<options>
<soft-takeover/>
</options>
</control>
<control>
<group>[EqualizerRack1_[Channel2]_Effect1]</group>
<key>parameter2</key>
<status>0xB2</status>
<midino>0x07</midino>
<options>
<soft-takeover/>
</options>
</control>
<control>
<group>[EqualizerRack1_[Channel2]_Effect1]</group>
<key>parameter1</key>
<status>0xB2</status>
<midino>0x08</midino>
<options>
<soft-takeover/>
</options>
</control>
<!-- EQ cuts -->
<control>
<group>[EqualizerRack1_[Channel2]_Effect1]</group>
<key>button_parameter3</key>
<status>0x90</status>
<midino>0x43</midino>
<options>
<normal/>
</options>
</control>
<control>
<group>[EqualizerRack1_[Channel2]_Effect1]</group>
<key>button_parameter2</key>
<status>0x90</status>
<midino>0x45</midino>
<options>
<normal/>
</options>
</control>
<control>
<group>[EqualizerRack1_[Channel2]_Effect1]</group>
<key>button_parameter1</key>
<status>0x90</status>
<midino>0x47</midino>
<options>
<normal/>
</options>
</control>
</controls>
<outputs/>
</controller>
</MixxxControllerPreset>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment