<?xml version="1.0" encoding="UTF-8"?>
<MixxxControllerPreset schemaVersion="1" mixxxVersion="2.2.3+">
  <info>
    <name>Behringer DDM4000</name>
    <author>Christian</author>
    <description>Mixxx controller preset for a Behringer DDM4000 mixer.</description>
  </info>
  <controller id="DDM4000">
    <scriptfiles>
      <file filename="lodash.mixxx.js" />
      <file filename="midi-components-0.0.js" />
      <file filename="Behringer-Extension-scripts.js" />
      <file filename="Behringer-DDM4000-scripts.js" functionprefix="DDM4000" />
    </scriptfiles>
    <controls>

      <!-- Channel 1-->
      <control>
        <description>Channel 1: Button P1 (High)</description>
        <status>0x90</status>
        <midino>0x00</midino>
        <options>
          <script-binding />
        </options>
        <key>DDM4000.input</key>
      </control>
      <control>
        <description>Channel 1: Button P2 (Mid)</description>
        <status>0x90</status>
        <midino>0x01</midino>
        <options>
          <script-binding />
        </options>
        <key>DDM4000.input</key>
      </control>
      <control>
        <description>Channel 1: Button P3 (Low)</description>
        <status>0x90</status>
        <midino>0x02</midino>
        <options>
          <script-binding />
        </options>
        <key>DDM4000.input</key>
      </control>
      <control>
        <description>Channel 1: Mode</description>
        <status>0x90</status>
        <midino>0x03</midino>
        <options>
          <script-binding />
        </options>
        <key>DDM4000.input</key>
      </control>
      <control>
        <description>Channel 1: Pot High</description>
        <status>0xB0</status>
        <midino>0x04</midino>
        <options>
          <script-binding />
        </options>
        <key>DDM4000.input</key>
      </control>
      <control>
        <description>Channel 1: Pot Mid</description>
        <status>0xB0</status>
        <midino>0x05</midino>
        <options>
          <script-binding />
        </options>
        <key>DDM4000.input</key>
      </control>
      <control>
        <description>Channel 1: Pot Low</description>
        <status>0xB0</status>
        <midino>0x06</midino>
        <options>
          <script-binding />
        </options>
        <key>DDM4000.input</key>
      </control>
      <control>
        <description>Channel 1: Volume</description>
        <status>0xB0</status>
        <midino>0x07</midino>
        <options>
          <script-binding />
        </options>
        <key>DDM4000.input</key>
      </control>
      <control>
        <description>Channel 1: CF Assign</description>
        <status>0x90</status>
        <midino>0x20</midino>
        <options>
          <script-binding />
        </options>
        <key>DDM4000.input</key>
      </control>
      <control>
        <description>Channel 1: PFL</description>
        <status>0x90</status>
        <midino>0x3F</midino>
        <options>
          <script-binding />
        </options>
        <key>DDM4000.input</key>
      </control>

      <!-- Channel 2 -->
      <control>
        <description>Channel 2: Volume</description>
        <status>0x90</status>
        <midino>0x04</midino>
        <options>
          <script-binding />
        </options>
        <key>DDM4000.input</key>
      </control>
      <control>
        <description>Channel 2: CF Assign</description>
        <status>0x90</status>
        <midino>0x05</midino>
        <options>
          <script-binding />
        </options>
        <key>DDM4000.input</key>
      </control>
      <control>
        <description>Channel 2: PFL</description>
        <status>0x90</status>
        <midino>0x06</midino>
        <options>
          <script-binding />
        </options>
        <key>DDM4000.input</key>
      </control>
      <control>
        <description>Channel 2: Mode</description>
        <status>0x90</status>
        <midino>0x07</midino>
        <options>
          <script-binding />
        </options>
        <key>DDM4000.input</key>
      </control>
      <control>
        <description>Channel 2: Pot Low</description>
        <status>0xB0</status>
        <midino>0x08</midino>
        <options>
          <script-binding />
        </options>
        <key>DDM4000.input</key>
      </control>
      <control>
        <description>Channel 2: Pot Mid</description>
        <status>0xB0</status>
        <midino>0x09</midino>
        <options>
          <script-binding />
        </options>
        <key>DDM4000.input</key>
      </control>
      <control>
        <description>Channel 2: Pot High</description>
        <status>0xB0</status>
        <midino>0x0A</midino>
        <options>
          <script-binding />
        </options>
        <key>DDM4000.input</key>
      </control>
      <control>
        <description>Channel 2: Button P3 (Low)</description>
        <status>0xB0</status>
        <midino>0x0B</midino>
        <options>
          <script-binding />
        </options>
        <key>DDM4000.input</key>
      </control>
      <control>
        <description>Channel 2: Button P2 (Mid)</description>
        <status>0x90</status>
        <midino>0x22</midino>
        <options>
          <script-binding />
        </options>
        <key>DDM4000.input</key>
      </control>
      <control>
        <description>Channel 2: Button P1 (High)</description>
        <status>0x90</status>
        <midino>0x49</midino>
        <options>
          <script-binding />
        </options>
        <key>DDM4000.input</key>
      </control>

      <!-- Channel 3-->
      <control>
        <description>Channel 3: Volume</description>
        <status>0x90</status>
        <midino>0x08</midino>
        <options>
          <script-binding />
        </options>
        <key>DDM4000.input</key>
      </control>
      <control>
        <description>Channel 3: CF Assign</description>
        <status>0x90</status>
        <midino>0x09</midino>
        <options>
          <script-binding />
        </options>
        <key>DDM4000.input</key>
      </control>
      <control>
        <description>Channel 3: PFL</description>
        <status>0x90</status>
        <midino>0x0A</midino>
        <options>
          <script-binding />
        </options>
        <key>DDM4000.input</key>
      </control>
      <control>
        <description>Channel 3: Mode</description>
        <status>0x90</status>
        <midino>0x0B</midino>
        <options>
          <script-binding />
        </options>
        <key>DDM4000.input</key>
      </control>
      <control>
        <description>Channel 3: Pot Low</description>
        <status>0xB0</status>
        <midino>0x0C</midino>
        <options>
          <script-binding />
        </options>
        <key>DDM4000.input</key>
      </control>
      <control>
        <description>Channel 3: Pot Mid</description>
        <status>0xB0</status>
        <midino>0x0D</midino>
        <options>
          <script-binding />
        </options>
        <key>DDM4000.input</key>
      </control>
      <control>
        <description>Channel 3: Pot High</description>
        <status>0xB0</status>
        <midino>0x0E</midino>
        <options>
          <script-binding />
        </options>
        <key>DDM4000.input</key>
      </control>
      <control>
        <description>Channel 3: Button P3 (Low)</description>
        <status>0xB0</status>
        <midino>0x0F</midino>
        <options>
          <script-binding />
        </options>
        <key>DDM4000.input</key>
      </control>
      <control>
        <description>Channel 3: Button P2 (Mid)</description>
        <status>0x90</status>
        <midino>0x24</midino>
        <options>
          <script-binding />
        </options>
        <key>DDM4000.input</key>
      </control>
      <control>
        <description>Channel 3: Button P1 (High)</description>
        <status>0x90</status>
        <midino>0x53</midino>
        <options>
          <script-binding />
        </options>
        <key>DDM4000.input</key>
      </control>

      <!-- Channel 4 -->
      <control>
        <description>Channel 4: Volume</description>
        <status>0x90</status>
        <midino>0x0C</midino>
        <options>
          <script-binding />
        </options>
        <key>DDM4000.input</key>
      </control>
      <control>
        <description>Channel 4: CF Assign</description>
        <status>0x90</status>
        <midino>0x0D</midino>
        <options>
          <script-binding />
        </options>
        <key>DDM4000.input</key>
      </control>
      <control>
        <description>Channel 4: PFL</description>
        <status>0x90</status>
        <midino>0x0E</midino>
        <options>
          <script-binding />
        </options>
        <key>DDM4000.input</key>
      </control>
      <control>
        <description>Channel 4: Mode</description>
        <status>0x90</status>
        <midino>0x0F</midino>
        <options>
          <script-binding />
        </options>
        <key>DDM4000.input</key>
      </control>
      <control>
        <description>Channel 4: Pot Low</description>
        <status>0xB0</status>
        <midino>0x10</midino>
        <options>
          <script-binding />
        </options>
        <key>DDM4000.input</key>
      </control>
      <control>
        <description>Channel 4: Pot Mid</description>
        <status>0xB0</status>
        <midino>0x11</midino>
        <options>
          <script-binding />
        </options>
        <key>DDM4000.input</key>
      </control>
      <control>
        <description>Channel 4: Pot High</description>
        <status>0xB0</status>
        <midino>0x12</midino>
        <options>
          <script-binding />
        </options>
        <key>DDM4000.input</key>
      </control>
      <control>
        <description>Channel 4: Button P3 (Low)</description>
        <status>0xB0</status>
        <midino>0x13</midino>
        <options>
          <script-binding />
        </options>
        <key>DDM4000.input</key>
      </control>
      <control>
        <description>Channel 4: Button P2 (Mid)</description>
        <status>0x90</status>
        <midino>0x26</midino>
        <options>
          <script-binding />
        </options>
        <key>DDM4000.input</key>
      </control>
      <control>
        <description>Channel 4: Button P1 (High)</description>
        <status>0x90</status>
        <midino>0x5D</midino>
        <options>
          <script-binding />
        </options>
        <key>DDM4000.input</key>
      </control>

      <!-- Microphone -->
      <control>
        <description>Mic: Pot High</description>
        <status>0xB0</status>
        <midino>0x00</midino>
        <options>
          <script-binding />
        </options>
        <key>DDM4000.input</key>
      </control>
      <control>
        <description>Mic: Pot Mid</description>
        <status>0xB0</status>
        <midino>0x01</midino>
        <options>
          <script-binding />
        </options>
        <key>DDM4000.input</key>
      </control>
      <control>
        <description>Mic: Pot Low</description>
        <status>0xB0</status>
        <midino>0x02</midino>
        <options>
          <script-binding />
        </options>
        <key>DDM4000.input</key>
      </control>
      <control>
        <description>Mic: Setup</description>
        <status>0x90</status>
        <midino>0x31</midino>
        <options>
          <script-binding />
        </options>
        <key>DDM4000.input</key>
      </control>
      <control>
        <description>Mic: XMC On</description>
        <status>0x90</status>
        <midino>0x32</midino>
        <options>
          <script-binding />
        </options>
        <key>DDM4000.input</key>
      </control>
      <control>
        <description>Mic: FX On</description>
        <status>0x90</status>
        <midino>0x33</midino>
        <options>
          <script-binding />
        </options>
        <key>DDM4000.input</key>
      </control>
      <control>
        <description>Mic: Talk On</description>
        <status>0x90</status>
        <midino>0x34</midino>
        <options>
          <script-binding />
        </options>
        <key>DDM4000.input</key>
      </control>
      <control>
        <description>Mic: On/Off</description>
        <status>0x90</status>
        <midino>0x35</midino>
        <options>
          <script-binding />
        </options>
        <key>DDM4000.input</key>
      </control>

      <!-- Crossfader -->
      <control>
        <description>Crossfader: Curve</description>
        <status>0xB0</status>
        <midino>0x14</midino>
        <options>
          <script-binding />
        </options>
        <key>DDM4000.input</key>
      </control>
      <control>
        <description>Crossfader</description>
        <status>0xB0</status>
        <midino>0x15</midino>
        <options>
          <script-binding />
        </options>
        <key>DDM4000.input</key>
      </control>
      <control>
        <description>Crossfader: A Full Freq</description>
        <status>0x90</status>
        <midino>0x17</midino>
        <options>
          <script-binding />
        </options>
        <key>DDM4000.input</key>
      </control>
      <control>
        <description>Crossfader: A High</description>
        <status>0x90</status>
        <midino>0x18</midino>
        <options>
          <script-binding />
        </options>
        <key>DDM4000.input</key>
      </control>
      <control>
        <description>Crossfader: A Mid</description>
        <status>0x90</status>
        <midino>0x19</midino>
        <options>
          <script-binding />
        </options>
        <key>DDM4000.input</key>
      </control>
      <control>
        <description>Crossfader: A Low</description>
        <status>0x90</status>
        <midino>0x1A</midino>
        <options>
          <script-binding />
        </options>
        <key>DDM4000.input</key>
      </control>
      <control>
        <description>Crossfader: B Full Freq</description>
        <status>0x90</status>
        <midino>0x1B</midino>
        <options>
          <script-binding />
        </options>
        <key>DDM4000.input</key>
      </control>
      <control>
        <description>Crossfader: B High</description>
        <status>0x90</status>
        <midino>0x1C</midino>
        <options>
          <script-binding />
        </options>
        <key>DDM4000.input</key>
      </control>
      <control>
        <description>Crossfader: B Mid</description>
        <status>0x90</status>
        <midino>0x1D</midino>
        <options>
          <script-binding />
        </options>
        <key>DDM4000.input</key>
      </control>
      <control>
        <description>Crossfader: B Low</description>
        <status>0x90</status>
        <midino>0x1E</midino>
        <options>
          <script-binding />
        </options>
        <key>DDM4000.input</key>
      </control>
      <control>
        <description>Crossfader: CF On</description>
        <status>0x90</status>
        <midino>0x1F</midino>
        <options>
          <script-binding />
        </options>
        <key>DDM4000.input</key>
      </control>
      <control>
        <description>Crossfader: Reverse Tap</description>
        <status>0x90</status>
        <midino>0x28</midino>
        <options>
          <script-binding />
        </options>
        <key>DDM4000.input</key>
      </control>
      <control>
        <description>Crossfader: Reverse Hold</description>
        <status>0x90</status>
        <midino>0x29</midino>
        <options>
          <script-binding />
        </options>
        <key>DDM4000.input</key>
      </control>
      <control>
        <description>Crossfader: Bounce to MIDI Clock</description>
        <status>0x90</status>
        <midino>0x2A</midino>
        <options>
          <script-binding />
        </options>
        <key>DDM4000.input</key>
      </control>
      <control>
        <description>Crossfader: Beat (Left)</description>
        <status>0x90</status>
        <midino>0x2B</midino>
        <options>
          <script-binding />
        </options>
        <key>DDM4000.input</key>
      </control>
      <control>
        <description>Crossfader: Beat (Right)</description>
        <status>0x90</status>
        <midino>0x2C</midino>
        <options>
          <script-binding />
        </options>
        <key>DDM4000.input</key>
      </control>

      <!-- Sampler -->
      <control>
        <description>Sampler: Dry/Wet</description>
        <status>0xB0</status>
        <midino>0x03</midino>
        <options>
          <script-binding />
        </options>
        <key>DDM4000.input</key>
      </control>
      <control>
        <description>Sampler: Insert</description>
        <status>0x90</status>
        <midino>0x5F</midino>
        <options>
          <script-binding />
        </options>
        <key>DDM4000.input</key>
      </control>
      <control>
        <description>Sampler: REC Source Right</description>
        <status>0x90</status>
        <midino>0x60</midino>
        <options>
          <script-binding />
        </options>
        <key>DDM4000.input</key>
      </control>
      <control>
        <description>Sampler: REC Source Left</description>
        <status>0x90</status>
        <midino>0x61</midino>
        <options>
          <script-binding />
        </options>
        <key>DDM4000.input</key>
      </control>
      <control>
        <description>Sampler: PFL</description>
        <status>0x90</status>
        <midino>0x66</midino>
        <options>
          <script-binding />
        </options>
        <key>DDM4000.input</key>
      </control>
      <control>
        <description>Sampler: Sample Length (Right)</description>
        <status>0x90</status>
        <midino>0x67</midino>
        <options>
          <script-binding />
        </options>
        <key>DDM4000.input</key>
      </control>
      <control>
        <description>Sampler: Sample Length (Left)</description>
        <status>0x90</status>
        <midino>0x68</midino>
        <options>
          <script-binding />
        </options>
        <key>DDM4000.input</key>
      </control>
      <control>
        <description>Sampler: Bank Assign</description>
        <status>0x90</status>
        <midino>0x6C</midino>
        <options>
          <script-binding />
        </options>
        <key>DDM4000.input</key>
      </control>
      <control>
        <description>Sampler: Record/In</description>
        <status>0x90</status>
        <midino>0x6D</midino>
        <options>
          <script-binding />
        </options>
        <key>DDM4000.input</key>
      </control>
      <control>
        <description>Sampler: Bank 1 Play/Out</description>
        <status>0x90</status>
        <midino>0x6E</midino>
        <options>
          <script-binding />
        </options>
        <key>DDM4000.input</key>
      </control>
      <control>
        <description>Sampler: Bank 1 Mode</description>
        <status>0x90</status>
        <midino>0x71</midino>
        <options>
          <script-binding />
        </options>
        <key>DDM4000.input</key>
      </control>
      <control>
        <description>Sampler: Bank 2 Play/Out</description>
        <status>0x90</status>
        <midino>0x73</midino>
        <options>
          <script-binding />
        </options>
        <key>DDM4000.input</key>
      </control>
      <control>
        <description>Sampler: Bank 2 Mode</description>
        <status>0x90</status>
        <midino>0x76</midino>
        <options>
          <script-binding />
        </options>
        <key>DDM4000.input</key>
      </control>
      <control>
        <description>Sampler: FX On</description>
        <status>0x90</status>
        <midino>0x78</midino>
        <options>
          <script-binding />
        </options>
        <key>DDM4000.input</key>
      </control>
      <control>
        <description>Sampler: Select</description>
        <status>0x90</status>
        <midino>0x79</midino>
        <options>
          <script-binding />
        </options>
        <key>DDM4000.input</key>
      </control>
      <control>
        <description>Sampler: CF Assign</description>
        <status>0x90</status>
        <midino>0x7A</midino>
        <options>
          <script-binding />
        </options>
        <key>DDM4000.input</key>
      </control>
      <control>
        <description>Sampler: CF Start</description>
        <status>0x90</status>
        <midino>0x7C</midino>
        <options>
          <script-binding />
        </options>
        <key>DDM4000.input</key>
      </control>
    </controls>
  </controller>
</MixxxControllerPreset>
