<?xml version="1.0" encoding="utf-8"?>
<MixxxMIDIPreset schemaVersion="1" mixxxVersion="1.8.0+">
  <info>
    <name>DJ TechTools MIDI Fighter</name>
    <author>RJ Ryan</author>
    <description>Mapping for DJ TechTools MIDI Fighter Classic Controller</description>
    <manual>dj_techtools_midi_figher_classic</manual>
  </info>
  <controller id="DJTechTools MIDIFighter" port="">
    <scriptfiles>
      <file filename="DJTechTools-MIDIFighter-scripts.js" functionprefix="MIDIFighter"/>
    </scriptfiles>

    <!--
       Status byte maps:

       Top Row
       0x30, 0x31, 0x32, 0x33
       0x2C, 0x2D, 0x2E, 0x2F
       0x28, 0x29, 0x2A, 0x2B
       0x24, 0x25, 0x26, 0x27
       Bottom Row

       Buttons
       01 02 03 04
       05 06 07 08
       09 10 11 12
       13 14 15 16

       MIDI Fighter Logo

       On button down, NOTE_ON (status 0x92)
       On button up, NOTE_OFF (status 0x82)
      -->

    <controls>
      <control>
        <group>[Master]</group>
        <key>MIDIFighter.button_down</key>
        <status>0x92</status>
        <midino>0x24</midino>
        <options>
          <Script-Binding/>
        </options>
      </control>
      <control>
        <group>[Master]</group>
        <key>MIDIFighter.button_down</key>
        <status>0x92</status>
        <midino>0x25</midino>
        <options>
          <Script-Binding/>
        </options>
      </control>
      <control>
        <group>[Master]</group>
        <key>MIDIFighter.button_down</key>
        <status>0x92</status>
        <midino>0x26</midino>
        <options>
          <Script-Binding/>
        </options>
      </control>
      <control>
        <group>[Master]</group>
        <key>MIDIFighter.button_down</key>
        <status>0x92</status>
        <midino>0x27</midino>
        <options>
          <Script-Binding/>
        </options>
      </control>
      <control>
        <group>[Master]</group>
        <key>MIDIFighter.button_down</key>
        <status>0x92</status>
        <midino>0x28</midino>
        <options>
          <Script-Binding/>
        </options>
      </control>
      <control>
        <group>[Master]</group>
        <key>MIDIFighter.button_down</key>
        <status>0x92</status>
        <midino>0x29</midino>
        <options>
          <Script-Binding/>
        </options>
      </control>
      <control>
        <group>[Master]</group>
        <key>MIDIFighter.button_down</key>
        <status>0x92</status>
        <midino>0x2A</midino>
        <options>
          <Script-Binding/>
        </options>
      </control>
      <control>
        <group>[Master]</group>
        <key>MIDIFighter.button_down</key>
        <status>0x92</status>
        <midino>0x2B</midino>
        <options>
          <Script-Binding/>
        </options>
      </control>
      <control>
        <group>[Master]</group>
        <key>MIDIFighter.button_down</key>
        <status>0x92</status>
        <midino>0x2C</midino>
        <options>
          <Script-Binding/>
        </options>
      </control>
      <control>
        <group>[Master]</group>
        <key>MIDIFighter.button_down</key>
        <status>0x92</status>
        <midino>0x2D</midino>
        <options>
          <Script-Binding/>
        </options>
      </control>
      <control>
        <group>[Master]</group>
        <key>MIDIFighter.button_down</key>
        <status>0x92</status>
        <midino>0x2E</midino>
        <options>
          <Script-Binding/>
        </options>
      </control>
      <control>
        <group>[Master]</group>
        <key>MIDIFighter.button_down</key>
        <status>0x92</status>
        <midino>0x2F</midino>
        <options>
          <Script-Binding/>
        </options>
      </control>
      <control>
        <group>[Master]</group>
        <key>MIDIFighter.button_down</key>
        <status>0x92</status>
        <midino>0x30</midino>
        <options>
          <Script-Binding/>
        </options>
      </control>
      <control>
        <group>[Master]</group>
        <key>MIDIFighter.button_down</key>
        <status>0x92</status>
        <midino>0x31</midino>
        <options>
          <Script-Binding/>
        </options>
      </control>
      <control>
        <group>[Master]</group>
        <key>MIDIFighter.button_down</key>
        <status>0x92</status>
        <midino>0x32</midino>
        <options>
          <Script-Binding/>
        </options>
      </control>
      <control>
        <group>[Master]</group>
        <key>MIDIFighter.button_down</key>
        <status>0x92</status>
        <midino>0x33</midino>
        <options>
          <Script-Binding/>
        </options>
      </control>

      <control>
        <group>[Master]</group>
        <key>MIDIFighter.button_up</key>
        <status>0x82</status>
        <midino>0x24</midino>
        <options>
          <Script-Binding/>
        </options>
      </control>
      <control>
        <group>[Master]</group>
        <key>MIDIFighter.button_up</key>
        <status>0x82</status>
        <midino>0x25</midino>
        <options>
          <Script-Binding/>
        </options>
      </control>
      <control>
        <group>[Master]</group>
        <key>MIDIFighter.button_up</key>
        <status>0x82</status>
        <midino>0x26</midino>
        <options>
          <Script-Binding/>
        </options>
      </control>
      <control>
        <group>[Master]</group>
        <key>MIDIFighter.button_up</key>
        <status>0x82</status>
        <midino>0x27</midino>
        <options>
          <Script-Binding/>
        </options>
      </control>
      <control>
        <group>[Master]</group>
        <key>MIDIFighter.button_up</key>
        <status>0x82</status>
        <midino>0x28</midino>
        <options>
          <Script-Binding/>
        </options>
      </control>
      <control>
        <group>[Master]</group>
        <key>MIDIFighter.button_up</key>
        <status>0x82</status>
        <midino>0x29</midino>
        <options>
          <Script-Binding/>
        </options>
      </control>
      <control>
        <group>[Master]</group>
        <key>MIDIFighter.button_up</key>
        <status>0x82</status>
        <midino>0x2A</midino>
        <options>
          <Script-Binding/>
        </options>
      </control>
      <control>
        <group>[Master]</group>
        <key>MIDIFighter.button_up</key>
        <status>0x82</status>
        <midino>0x2B</midino>
        <options>
          <Script-Binding/>
        </options>
      </control>
      <control>
        <group>[Master]</group>
        <key>MIDIFighter.button_up</key>
        <status>0x82</status>
        <midino>0x2C</midino>
        <options>
          <Script-Binding/>
        </options>
      </control>
      <control>
        <group>[Master]</group>
        <key>MIDIFighter.button_up</key>
        <status>0x82</status>
        <midino>0x2D</midino>
        <options>
          <Script-Binding/>
        </options>
      </control>
      <control>
        <group>[Master]</group>
        <key>MIDIFighter.button_up</key>
        <status>0x82</status>
        <midino>0x2E</midino>
        <options>
          <Script-Binding/>
        </options>
      </control>
      <control>
        <group>[Master]</group>
        <key>MIDIFighter.button_up</key>
        <status>0x82</status>
        <midino>0x2F</midino>
        <options>
          <Script-Binding/>
        </options>
      </control>
      <control>
        <group>[Master]</group>
        <key>MIDIFighter.button_up</key>
        <status>0x82</status>
        <midino>0x30</midino>
        <options>
          <Script-Binding/>
        </options>
      </control>
      <control>
        <group>[Master]</group>
        <key>MIDIFighter.button_up</key>
        <status>0x82</status>
        <midino>0x31</midino>
        <options>
          <Script-Binding/>
        </options>
      </control>
      <control>
        <group>[Master]</group>
        <key>MIDIFighter.button_up</key>
        <status>0x82</status>
        <midino>0x32</midino>
        <options>
          <Script-Binding/>
        </options>
      </control>
      <control>
        <group>[Master]</group>
        <key>MIDIFighter.button_up</key>
        <status>0x82</status>
        <midino>0x33</midino>
        <options>
          <Script-Binding/>
        </options>
      </control>
    </controls>
  </controller>
</MixxxMIDIPreset>
