<?xml version="1.0" encoding="utf-8"?>
<MixxxMIDIPreset schemaVersion="1" mixxxVersion="1.8.0+">
  <info>
    <name>Hercules DJ Control MP3 e2</name>
    <author>Gianfe</author>
    <description>This is a complete mapping for Hercules DJ Control MP3 e2 controller. Requires scripting.</description>
  </info>
  <controller id="Hercules DJ Control MP3 e2" port="">
    <scriptfiles>
      <file filename="Hercules DJ Control MP3 e2-scripts.js" functionprefix="HerculesMP3e2"/>
    </scriptfiles>
    <controls>
      <control>
        <status>0x90</status>
        <midino>0x2E</midino>
        <group>[Channel1]</group>
        <key>HerculesMP3e2.automix</key>
        <options>
          <Script-Binding/>
        </options>
      </control>
      <control>
        <status>0x90</status>
        <midino>0x2D</midino>
        <group>[Channel1]</group>
        <key>HerculesMP3e2.scratch</key>
        <options>
          <Script-Binding/>
        </options>
      </control>
      <control>
        <status>0x90</status>
        <midino>0x01</midino>
        <group>[Channel1]</group>
        <key>HerculesMP3e2.keyButton</key>
        <options>
          <Script-Binding/>
        </options>
      </control>
      <control>
        <status>0x90</status>
        <midino>0x02</midino>
        <group>[Channel1]</group>
        <key>HerculesMP3e2.keyButton</key>
        <options>
          <Script-Binding/>
        </options>
      </control>
      <control>
        <status>0x90</status>
        <midino>0x03</midino>
        <group>[Channel1]</group>
        <key>HerculesMP3e2.keyButton</key>
        <options>
          <Script-Binding/>
        </options>
      </control>
      <control>
        <status>0x90</status>
        <midino>0x04</midino>
        <group>[Channel1]</group>
        <key>HerculesMP3e2.keyButton</key>
        <options>
          <Script-Binding/>
        </options>
      </control>
      <control>
        <status>0x90</status>
        <midino>0x05</midino>
        <group>[Channel1]</group>
        <key>HerculesMP3e2.keyButton</key>
        <options>
          <Script-Binding/>
        </options>
      </control>
      <control>
        <status>0x90</status>
        <midino>0x06</midino>
        <group>[Channel1]</group>
        <key>HerculesMP3e2.keyButton</key>
        <options>
          <Script-Binding/>
        </options>
      </control>
      <control>
        <status>0x90</status>
        <midino>0x07</midino>
        <group>[Channel1]</group>
        <key>HerculesMP3e2.keyButton</key>
        <options>
          <Script-Binding/>
        </options>
      </control>
      <control>
        <status>0x90</status>
        <midino>0x08</midino>
        <group>[Channel1]</group>
        <key>HerculesMP3e2.keyButton</key>
        <options>
          <Script-Binding/>
        </options>
      </control>
      <control>
        <status>0x90</status>
        <midino>0x15</midino>
        <group>[Channel2]</group>
        <key>HerculesMP3e2.keyButton</key>
        <options>
          <Script-Binding/>
        </options>
      </control>
      <control>
        <status>0x90</status>
        <midino>0x16</midino>
        <group>[Channel2]</group>
        <key>HerculesMP3e2.keyButton</key>
        <options>
          <Script-Binding/>
        </options>
      </control>
      <control>
        <status>0x90</status>
        <midino>0x17</midino>
        <group>[Channel2]</group>
        <key>HerculesMP3e2.keyButton</key>
        <options>
          <Script-Binding/>
        </options>
      </control>
      <control>
        <status>0x90</status>
        <midino>0x18</midino>
        <group>[Channel2]</group>
        <key>HerculesMP3e2.keyButton</key>
        <options>
          <Script-Binding/>
        </options>
      </control>
      <control>
        <status>0x90</status>
        <midino>0x19</midino>
        <group>[Channel2]</group>
        <key>HerculesMP3e2.keyButton</key>
        <options>
          <Script-Binding/>
        </options>
      </control>
      <control>
        <status>0x90</status>
        <midino>0x1A</midino>
        <group>[Channel2]</group>
        <key>HerculesMP3e2.keyButton</key>
        <options>
          <Script-Binding/>
        </options>
      </control>
      <control>
        <status>0x90</status>
        <midino>0x1B</midino>
        <group>[Channel2]</group>
        <key>HerculesMP3e2.keyButton</key>
        <options>
          <Script-Binding/>
        </options>
      </control>
      <control>
        <status>0x90</status>
        <midino>0x1C</midino>
        <group>[Channel2]</group>
        <key>HerculesMP3e2.keyButton</key>
        <options>
          <Script-Binding/>
        </options>
      </control>
      <control>
        <status>0xB0</status>
        <midino>0x30</midino>
        <group>[Channel1]</group>
        <key>HerculesMP3e2.jogWheel</key>
        <options>
          <Script-Binding/>
        </options>
      </control>
      <control>
        <status>0xB0</status>
        <midino>0x31</midino>
        <group>[Channel2]</group>
        <key>HerculesMP3e2.jogWheel</key>
        <options>
          <Script-Binding/>
        </options>
      </control>
      <control>
        <status>0x90</status>
        <midino>0x2B</midino>
        <group>[Playlist]</group>
        <key>HerculesMP3e2.scroll</key>
        <options>
          <Script-Binding/>
        </options>
      </control>
      <control>
        <status>0x90</status>
        <midino>0x2C</midino>
        <group>[Playlist]</group>
        <key>HerculesMP3e2.scroll</key>
        <options>
          <Script-Binding/>
        </options>
      </control>
      <control>
        <status>0xB0</status>
        <midino>0x32</midino>
        <group>[Channel1]</group>
        <key>HerculesMP3e2.pitch</key>
        <options>
          <Script-Binding/>
        </options>
      </control>
      <control>
        <status>0xB0</status>
        <midino>0x33</midino>
        <group>[Channel2]</group>
        <key>HerculesMP3e2.pitch</key>
        <options>
          <Script-Binding/>
        </options>
      </control>
      <control>
        <status>0x90</status>
        <midino>0x0B</midino>
        <group>[Channel1]</group>
        <key>HerculesMP3e2.pitchbend</key>
        <options>
          <Script-Binding/>
        </options>
      </control>
      <control>
        <status>0x90</status>
        <midino>0x1F</midino>
        <group>[Channel2]</group>
        <key>HerculesMP3e2.pitchbend</key>
        <options>
          <Script-Binding/>
        </options>
      </control>
      <control>
        <status>0x90</status>
        <midino>0x0A</midino>
        <group>[Channel1]</group>
        <key>HerculesMP3e2.pitchbend</key>
        <options>
          <Script-Binding/>
        </options>
      </control>
      <control>
        <status>0x90</status>
        <midino>0x1E</midino>
        <group>[Channel2]</group>
        <key>HerculesMP3e2.pitchbend</key>
        <options>
          <Script-Binding/>
        </options>
      </control>
      <control>
        <status>0xb0</status>
        <midino>0x34</midino>
        <group>[Channel1]</group>
        <key>volume</key>
        <options>
          <normal/>
        </options>
      </control>
      <control>
        <status>0xb0</status>
        <midino>0x35</midino>
        <group>[Channel1]</group>
        <key>filterHigh</key>
        <options>
          <normal/>
        </options>
      </control>
      <control>
        <status>0x90</status>
        <midino>0xd</midino>
        <group>[Channel1]</group>
        <key>fwd</key>
        <options>
          <Button/>
        </options>
      </control>
      <control>
        <status>0xb0</status>
        <midino>0x36</midino>
        <group>[Channel1]</group>
        <key>filterMid</key>
        <options>
          <normal/>
        </options>
      </control>
      <control>
        <status>0x90</status>
        <midino>0xe</midino>
        <group>[Channel1]</group>
        <key>HerculesMP3e2.cue</key>
        <options>
          <Script-Binding/>
        </options>
      </control>
      <control>
        <status>0xb0</status>
        <midino>0x37</midino>
        <group>[Channel1]</group>
        <key>filterLow</key>
        <options>
          <normal/>
        </options>
      </control>
      <control>
        <status>0x90</status>
        <midino>0xf</midino>
        <group>[Channel1]</group>
        <key>play</key>
        <options>
          <Button/>
        </options>
      </control>
      <control>
        <status>0xb0</status>
        <midino>0x38</midino>
        <group>[Master]</group>
        <key>crossfader</key>
        <options>
          <normal/>
        </options>
      </control>
      <control>
        <status>0x90</status>
        <midino>0x10</midino>
        <group>[Channel1]</group>
        <key>pfl</key>
        <options>
          <Button/>
        </options>
      </control>
      <control>
        <status>0xb0</status>
        <midino>0x39</midino>
        <group>[Channel2]</group>
        <key>volume</key>
        <options>
          <normal/>
        </options>
      </control>
      <control>
        <status>0xb0</status>
        <midino>0x3a</midino>
        <group>[Channel2]</group>
        <key>filterHigh</key>
        <options>
          <normal/>
        </options>
      </control>
      <control>
        <status>0xb0</status>
        <midino>0x3b</midino>
        <group>[Channel2]</group>
        <key>filterMid</key>
        <options>
          <normal/>
        </options>
      </control>
      <control>
        <status>0xb0</status>
        <midino>0x3c</midino>
        <group>[Channel2]</group>
        <key>filterLow</key>
        <options>
          <normal/>
        </options>
      </control>
      <control>
        <status>0x90</status>
        <midino>0xc</midino>
        <group>[Channel1]</group>
        <key>back</key>
        <options>
          <Button/>
        </options>
      </control>
      <control>
        <status>0x90</status>
        <midino>0xd</midino>
        <group>[Channel1]</group>
        <key>fwd</key>
        <options>
          <Button/>
        </options>
      </control>
      <control>
        <status>0x90</status>
        <midino>0x0E</midino>
        <group>[Channel1]</group>
        <key>HerculesMP3e2.cue</key>
        <options>
          <Script-Binding/>
        </options>
      </control>
      <control>
        <status>0x90</status>
        <midino>0x22</midino>
        <group>[Channel2]</group>
        <key>HerculesMP3e2.cue</key>
        <options>
          <Script-Binding/>
        </options>
      </control>
      <control>
        <status>0x90</status>
        <midino>0x12</midino>
        <group>[Channel1]</group>
        <key>HerculesMP3e2.sync</key>
        <options>
          <Script-Binding/>
        </options>
      </control>
      <control>
        <status>0x90</status>
        <midino>0x26</midino>
        <group>[Channel2]</group>
        <key>HerculesMP3e2.sync</key>
        <options>
          <Script-Binding/>
        </options>
      </control>
      <control>
        <status>0x90</status>
        <midino>0xf</midino>
        <group>[Channel1]</group>
        <key>play</key>
        <options>
          <Button/>
        </options>
      </control>
      <control>
        <status>0x90</status>
        <midino>0x10</midino>
        <group>[Channel1]</group>
        <key>pfl</key>
        <options>
          <Button/>
        </options>
      </control>
      <control>
        <status>0x90</status>
        <midino>0x11</midino>
        <group>[Channel1]</group>
        <key>HerculesMP3e2.loadTrack</key>
        <options>
          <Script-Binding/>
        </options>
      </control>
      <control>
        <status>0x90</status>
        <midino>0x25</midino>
        <group>[Channel2]</group>
        <key>HerculesMP3e2.loadTrack</key>
        <options>
          <Script-Binding/>
        </options>
      </control>
      <control>
        <status>0x90</status>
        <midino>0x13</midino>
        <group>[Channel1]</group>
        <key>HerculesMP3e2.masterTempo</key>
        <options>
          <Script-Binding/>
        </options>
      </control>
		<control>
        <status>0x90</status>
        <midino>0x27</midino>
        <group>[Channel2]</group>
        <key>HerculesMP3e2.masterTempo</key>
        <options>
          <Script-Binding/>
        </options>
      </control>
      <control>
        <status>0x90</status>
        <midino>0x21</midino>
        <group>[Channel2]</group>
        <key>fwd</key>
        <options>
          <Button/>
        </options>
      </control>
      <control>
        <status>0x90</status>
        <midino>0x23</midino>
        <group>[Channel2]</group>
        <key>play</key>
        <options>
          <Button/>
        </options>
      </control>
      <control>
        <status>0x90</status>
        <midino>0x24</midino>
        <group>[Channel2]</group>
        <key>pfl</key>
        <options>
          <Button/>
        </options>
      </control>
      <control>
        <status>0x90</status>
        <midino>0x20</midino>
        <group>[Channel2]</group>
        <key>back</key>
        <options>
          <Button/>
        </options>
      </control>
      <control>
        <status>0x90</status>
        <midino>0x21</midino>
        <group>[Channel2]</group>
        <key>fwd</key>
        <options>
          <Button/>
        </options>
      </control>
      <control>
        <status>0x90</status>
        <midino>0x23</midino>
        <group>[Channel2]</group>
        <key>play</key>
        <options>
          <Button/>
        </options>
      </control>

      <control>
        <status>0x90</status>
        <midino>0x24</midino>
        <group>[Channel2]</group>
        <key>pfl</key>
        <options>
          <Button/>
        </options>
      </control>
      
      <control>
        <status>0x90</status>
        <midino>0x29</midino>
        <group>[Playlist]</group>
        <key>SelectPrevTrack</key>
        <options>
          <Button/>
        </options>
      </control>
      <control>
        <status>0x90</status>
        <midino>0x2a</midino>
        <group>[Playlist]</group>
        <key>SelectNextTrack</key>
        <options>
          <Button/>
        </options>
      </control>
    </controls>
    <!-- LEDs CONFIGURATION -->
    <outputs>
      <output>
        <group>[Channel1]</group>
        <key>pfl</key>
        <status>0x90</status>
        <midino>0x10</midino>
        <minimum>0.5</minimum>
        <maximum>1</maximum>
      </output>
      <output>
        <group>[Channel2]</group>
        <key>pfl</key>
        <status>0x90</status>
        <midino>0x24</midino>
        <minimum>0.5</minimum>
        <maximum>1</maximum>
      </output>
      <output>
        <group>[Channel1]</group>
        <key>play</key>
        <status>0x90</status>
        <midino>0x0f</midino>
        <minimum>0.5</minimum>
        <maximum>1</maximum>
      </output>
      <output>
        <group>[Channel2]</group>
        <key>play</key>
        <status>0x90</status>
        <midino>0x23</midino>
        <minimum>0.5</minimum>
        <maximum>1</maximum>
      </output>
		<output>
        <group>[Channel1]</group>
        <key>loop_enabled</key>
        <status>0x90</status>
        <midino>51</midino>
        <minimum>0.5</minimum>
        <maximum>1</maximum>
      </output>
		<output>
        <group>[Channel1]</group>
        <key>loop_enabled</key>
        <status>0x90</status>
        <midino>52</midino>
        <minimum>0.5</minimum>
        <maximum>1</maximum>
      </output>
		<output>
        <group>[Channel2]</group>
        <key>loop_enabled</key>
        <status>0x90</status>
        <midino>71</midino>
        <minimum>0.5</minimum>
        <maximum>1</maximum>
      </output>
		<output>
        <group>[Channel2]</group>
        <key>loop_enabled</key>
        <status>0x90</status>
        <midino>72</midino>
        <minimum>0.5</minimum>
        <maximum>1</maximum>
      </output>
		<output>
        <group>[Channel2]</group>
        <key>loop_start_position</key>
        <status>0x90</status>
        <midino>01</midino>
        <minimum>0</minimum>
        <maximum>10000000</maximum>
      </output>
      <output>
        <group>[Channel1]</group>
        <key>flanger</key>
        <status>0x90</status>
        <midino>67</midino>
        <minimum>0.5</minimum>
        <maximum>1</maximum>
      </output>
      <output>
        <group>[Channel2]</group>
        <key>flanger</key>
        <status>0x90</status>
        <midino>87</midino>
        <minimum>0.5</minimum>
        <maximum>1</maximum>
      </output>
      <output>
        <group>[Channel1]</group>
        <key>hotcue_1_enabled</key>
        <status>0x90</status>
        <midino>5</midino>
        <minimum>0.5</minimum>
        <maximum>1</maximum>
      </output>
      <output>
        <group>[Channel1]</group>
        <key>hotcue_2_enabled</key>
        <status>0x90</status>
        <midino>6</midino>
        <minimum>0.5</minimum>
        <maximum>1</maximum>
      </output>
      <output>
        <group>[Channel1]</group>
        <key>hotcue_3_enabled</key>
        <status>0x90</status>
        <midino>7</midino>
        <minimum>0.5</minimum>
        <maximum>1</maximum>
      </output>
      <output>
        <group>[Channel1]</group>
        <key>hotcue_4_enabled</key>
        <status>0x90</status>
        <midino>8</midino>
        <minimum>0.5</minimum>
        <maximum>1</maximum>
      </output>
      <output>
        <group>[Channel2]</group>
        <key>hotcue_1_enabled</key>
        <status>0x90</status>
        <midino>25</midino>
        <minimum>0.5</minimum>
        <maximum>1</maximum>
      </output>
      <output>
        <group>[Channel2]</group>
        <key>hotcue_2_enabled</key>
        <status>0x90</status>
        <midino>26</midino>
        <minimum>0.5</minimum>
        <maximum>1</maximum>
      </output>
      <output>
        <group>[Channel2]</group>
        <key>hotcue_3_enabled</key>
        <status>0x90</status>
        <midino>27</midino>
        <minimum>0.5</minimum>
        <maximum>1</maximum>
      </output>
      <output>
        <group>[Channel2]</group>
        <key>hotcue_4_enabled</key>
        <status>0x90</status>
        <midino>28</midino>
        <minimum>0.5</minimum>
        <maximum>1</maximum>
      </output>
      <!--<output>
        <group>[Channel1]</group>
        <key>playposition</key>
        <status>0x90</status>
        <midino>0x3F</midino>
        <minimum>0.8</minimum>
        <maximum>0.99</maximum>
      </output>
      <output>
        <group>[Channel2]</group>
        <key>playposition</key>
        <status>0x90</status>
        <midino>0x53</midino>
        <minimum>0.8</minimum>
        <maximum>0.99</maximum>
      </output> -->
    </outputs>
  </controller>
</MixxxMIDIPreset>
