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

      <!-- Pushencoder Group 1 -->
      <control>
        <description>Pushencoder G1.1 Encoder</description>
        <status>0xB0</status>
        <midino>0x01</midino>
        <options>
          <script-binding />
        </options>
        <key>BCR2000.input</key>
      </control>
      <control>
        <description>Pushencoder G1.2 Encoder</description>
        <status>0xB0</status>
        <midino>0x02</midino>
        <options>
          <script-binding />
        </options>
        <key>BCR2000.input</key>
      </control>
      <control>
        <description>Pushencoder G1.3 Encoder</description>
        <status>0xB0</status>
        <midino>0x03</midino>
        <options>
          <script-binding />
        </options>
        <key>BCR2000.input</key>
      </control>
      <control>
        <description>Pushencoder G1.4 Encoder</description>
        <status>0xB0</status>
        <midino>0x04</midino>
        <options>
          <script-binding />
        </options>
        <key>BCR2000.input</key>
      </control>
      <control>
        <description>Pushencoder G1.5 Encoder</description>
        <status>0xB0</status>
        <midino>0x05</midino>
        <options>
          <script-binding />
        </options>
        <key>BCR2000.input</key>
      </control>
      <control>
        <description>Pushencoder G1.6 Encoder</description>
        <status>0xB0</status>
        <midino>0x06</midino>
        <options>
          <script-binding />
        </options>
        <key>BCR2000.input</key>
      </control>
      <control>
        <description>Pushencoder G1.7 Encoder</description>
        <status>0xB0</status>
        <midino>0x07</midino>
        <options>
          <script-binding />
        </options>
        <key>BCR2000.input</key>
      </control>
      <control>
        <description>Pushencoder G1.8 Encoder</description>
        <status>0xB0</status>
        <midino>0x08</midino>
        <options>
          <script-binding />
        </options>
        <key>BCR2000.input</key>
      </control>
      <control>
        <description>Pushencoder G1.1 Button</description>
        <status>0xB0</status>
        <midino>0x21</midino>
        <options>
          <script-binding />
        </options>
        <key>BCR2000.input</key>
      </control>
      <control>
        <description>Pushencoder G1.2 Button</description>
        <status>0xB0</status>
        <midino>0x22</midino>
        <options>
          <script-binding />
        </options>
        <key>BCR2000.input</key>
      </control>
      <control>
        <description>Pushencoder G1.3 Button</description>
        <status>0xB0</status>
        <midino>0x23</midino>
        <options>
          <script-binding />
        </options>
        <key>BCR2000.input</key>
      </control>
      <control>
        <description>Pushencoder G1.4 Button</description>
        <status>0xB0</status>
        <midino>0x24</midino>
        <options>
          <script-binding />
        </options>
        <key>BCR2000.input</key>
      </control>
      <control>
        <description>Pushencoder G1.5 Button</description>
        <status>0xB0</status>
        <midino>0x25</midino>
        <options>
          <script-binding />
        </options>
        <key>BCR2000.input</key>
      </control>
      <control>
        <description>Pushencoder G1.6 Button</description>
        <status>0xB0</status>
        <midino>0x26</midino>
        <options>
          <script-binding />
        </options>
        <key>BCR2000.input</key>
      </control>
      <control>
        <description>Pushencoder G1.7 Button</description>
        <status>0xB0</status>
        <midino>0x27</midino>
        <options>
          <script-binding />
        </options>
        <key>BCR2000.input</key>
      </control>
      <control>
        <description>Pushencoder G1.8 Button</description>
        <status>0xB0</status>
        <midino>0x28</midino>
        <options>
          <script-binding />
        </options>
        <key>BCR2000.input</key>
      </control>

      <!-- Pushencoder Group 2 -->
      <control>
        <description>Pushencoder G2.1 Encoder</description>
        <status>0xB0</status>
        <midino>0x09</midino>
        <options>
          <script-binding />
        </options>
        <key>BCR2000.input</key>
      </control>
      <control>
        <description>Pushencoder G2.2 Encoder</description>
        <status>0xB0</status>
        <midino>0x0A</midino>
        <options>
          <script-binding />
        </options>
        <key>BCR2000.input</key>
      </control>
      <control>
        <description>Pushencoder G2.3 Encoder</description>
        <status>0xB0</status>
        <midino>0x0B</midino>
        <options>
          <script-binding />
        </options>
        <key>BCR2000.input</key>
      </control>
      <control>
        <description>Pushencoder G2.4 Encoder</description>
        <status>0xB0</status>
        <midino>0x0C</midino>
        <options>
          <script-binding />
        </options>
        <key>BCR2000.input</key>
      </control>
      <control>
        <description>Pushencoder G2.5 Encoder</description>
        <status>0xB0</status>
        <midino>0x0D</midino>
        <options>
          <script-binding />
        </options>
        <key>BCR2000.input</key>
      </control>
      <control>
        <description>Pushencoder G2.6 Encoder</description>
        <status>0xB0</status>
        <midino>0x0E</midino>
        <options>
          <script-binding />
        </options>
        <key>BCR2000.input</key>
      </control>
      <control>
        <description>Pushencoder G2.7 Encoder</description>
        <status>0xB0</status>
        <midino>0x0F</midino>
        <options>
          <script-binding />
        </options>
        <key>BCR2000.input</key>
      </control>
      <control>
        <description>Pushencoder G2.8 Encoder</description>
        <status>0xB0</status>
        <midino>0x10</midino>
        <options>
          <script-binding />
        </options>
        <key>BCR2000.input</key>
      </control>
      <control>
        <description>Pushencoder G2.1 Button</description>
        <status>0xB0</status>
        <midino>0x29</midino>
        <options>
          <script-binding />
        </options>
        <key>BCR2000.input</key>
      </control>
      <control>
        <description>Pushencoder G2.2 Button</description>
        <status>0xB0</status>
        <midino>0x2A</midino>
        <options>
          <script-binding />
        </options>
        <key>BCR2000.input</key>
      </control>
      <control>
        <description>Pushencoder G2.3 Button</description>
        <status>0xB0</status>
        <midino>0x2B</midino>
        <options>
          <script-binding />
        </options>
        <key>BCR2000.input</key>
      </control>
      <control>
        <description>Pushencoder G2.4 Button</description>
        <status>0xB0</status>
        <midino>0x2C</midino>
        <options>
          <script-binding />
        </options>
        <key>BCR2000.input</key>
      </control>
      <control>
        <description>Pushencoder G2.5 Button</description>
        <status>0xB0</status>
        <midino>0x2D</midino>
        <options>
          <script-binding />
        </options>
        <key>BCR2000.input</key>
      </control>
      <control>
        <description>Pushencoder G2.6 Button</description>
        <status>0xB0</status>
        <midino>0x2E</midino>
        <options>
          <script-binding />
        </options>
        <key>BCR2000.input</key>
      </control>
      <control>
        <description>Pushencoder G2.7 Button</description>
        <status>0xB0</status>
        <midino>0x2F</midino>
        <options>
          <script-binding />
        </options>
        <key>BCR2000.input</key>
      </control>
      <control>
        <description>Pushencoder G2.8 Button</description>
        <status>0xB0</status>
        <midino>0x30</midino>
        <options>
          <script-binding />
        </options>
        <key>BCR2000.input</key>
      </control>

      <!-- Pushencoder Group 3 -->
      <control>
        <description>Pushencoder G3.1 Encoder</description>
        <status>0xB0</status>
        <midino>0x11</midino>
        <options>
          <script-binding />
        </options>
        <key>BCR2000.input</key>
      </control>
      <control>
        <description>Pushencoder G3.2 Encoder</description>
        <status>0xB0</status>
        <midino>0x12</midino>
        <options>
          <script-binding />
        </options>
        <key>BCR2000.input</key>
      </control>
      <control>
        <description>Pushencoder G3.3 Encoder</description>
        <status>0xB0</status>
        <midino>0x13</midino>
        <options>
          <script-binding />
        </options>
        <key>BCR2000.input</key>
      </control>
      <control>
        <description>Pushencoder G3.4 Encoder</description>
        <status>0xB0</status>
        <midino>0x14</midino>
        <options>
          <script-binding />
        </options>
        <key>BCR2000.input</key>
      </control>
      <control>
        <description>Pushencoder G3.5 Encoder</description>
        <status>0xB0</status>
        <midino>0x15</midino>
        <options>
          <script-binding />
        </options>
        <key>BCR2000.input</key>
      </control>
      <control>
        <description>Pushencoder G3.6 Encoder</description>
        <status>0xB0</status>
        <midino>0x16</midino>
        <options>
          <script-binding />
        </options>
        <key>BCR2000.input</key>
      </control>
      <control>
        <description>Pushencoder G3.7 Encoder</description>
        <status>0xB0</status>
        <midino>0x17</midino>
        <options>
          <script-binding />
        </options>
        <key>BCR2000.input</key>
      </control>
      <control>
        <description>Pushencoder G3.8 Encoder</description>
        <status>0xB0</status>
        <midino>0x18</midino>
        <options>
          <script-binding />
        </options>
        <key>BCR2000.input</key>
      </control>
      <control>
        <description>Pushencoder G3.1 Button</description>
        <status>0xB0</status>
        <midino>0x31</midino>
        <options>
          <script-binding />
        </options>
        <key>BCR2000.input</key>
      </control>
      <control>
        <description>Pushencoder G3.2 Button</description>
        <status>0xB0</status>
        <midino>0x32</midino>
        <options>
          <script-binding />
        </options>
        <key>BCR2000.input</key>
      </control>
      <control>
        <description>Pushencoder G3.3 Button</description>
        <status>0xB0</status>
        <midino>0x33</midino>
        <options>
          <script-binding />
        </options>
        <key>BCR2000.input</key>
      </control>
      <control>
        <description>Pushencoder G3.4 Button</description>
        <status>0xB0</status>
        <midino>0x34</midino>
        <options>
          <script-binding />
        </options>
        <key>BCR2000.input</key>
      </control>
      <control>
        <description>Pushencoder G3.5 Button</description>
        <status>0xB0</status>
        <midino>0x35</midino>
        <options>
          <script-binding />
        </options>
        <key>BCR2000.input</key>
      </control>
      <control>
        <description>Pushencoder G3.6 Button</description>
        <status>0xB0</status>
        <midino>0x36</midino>
        <options>
          <script-binding />
        </options>
        <key>BCR2000.input</key>
      </control>
      <control>
        <description>Pushencoder G3.7 Button</description>
        <status>0xB0</status>
        <midino>0x37</midino>
        <options>
          <script-binding />
        </options>
        <key>BCR2000.input</key>
      </control>
      <control>
        <description>Pushencoder G3.8 Button</description>
        <status>0xB0</status>
        <midino>0x38</midino>
        <options>
          <script-binding />
        </options>
        <key>BCR2000.input</key>
      </control>

      <!-- Pushencoder Group 4 -->
      <control>
        <description>Pushencoder G4.1 Encoder</description>
        <status>0xB0</status>
        <midino>0x19</midino>
        <options>
          <script-binding />
        </options>
        <key>BCR2000.input</key>
      </control>
      <control>
        <description>Pushencoder G4.2 Encoder</description>
        <status>0xB0</status>
        <midino>0x1A</midino>
        <options>
          <script-binding />
        </options>
        <key>BCR2000.input</key>
      </control>
      <control>
        <description>Pushencoder G4.3 Encoder</description>
        <status>0xB0</status>
        <midino>0x1B</midino>
        <options>
          <script-binding />
        </options>
        <key>BCR2000.input</key>
      </control>
      <control>
        <description>Pushencoder G4.4 Encoder</description>
        <status>0xB0</status>
        <midino>0x1C</midino>
        <options>
          <script-binding />
        </options>
        <key>BCR2000.input</key>
      </control>
      <control>
        <description>Pushencoder G4.5 Encoder</description>
        <status>0xB0</status>
        <midino>0x1D</midino>
        <options>
          <script-binding />
        </options>
        <key>BCR2000.input</key>
      </control>
      <control>
        <description>Pushencoder G4.6 Encoder</description>
        <status>0xB0</status>
        <midino>0x1E</midino>
        <options>
          <script-binding />
        </options>
        <key>BCR2000.input</key>
      </control>
      <control>
        <description>Pushencoder G4.7 Encoder</description>
        <status>0xB0</status>
        <midino>0x1F</midino>
        <options>
          <script-binding />
        </options>
        <key>BCR2000.input</key>
      </control>
      <control>
        <description>Pushencoder G4.8 Encoder</description>
        <status>0xB0</status>
        <midino>0x20</midino>
        <options>
          <script-binding />
        </options>
        <key>BCR2000.input</key>
      </control>
      <control>
        <description>Pushencoder G4.1 Button</description>
        <status>0xB0</status>
        <midino>0x39</midino>
        <options>
          <script-binding />
        </options>
        <key>BCR2000.input</key>
      </control>
      <control>
        <description>Pushencoder G4.2 Button</description>
        <status>0xB0</status>
        <midino>0x3A</midino>
        <options>
          <script-binding />
        </options>
        <key>BCR2000.input</key>
      </control>
      <control>
        <description>Pushencoder G4.3 Button</description>
        <status>0xB0</status>
        <midino>0x3B</midino>
        <options>
          <script-binding />
        </options>
        <key>BCR2000.input</key>
      </control>
      <control>
        <description>Pushencoder G4.4 Button</description>
        <status>0xB0</status>
        <midino>0x3C</midino>
        <options>
          <script-binding />
        </options>
        <key>BCR2000.input</key>
      </control>
      <control>
        <description>Pushencoder G4.5 Button</description>
        <status>0xB0</status>
        <midino>0x3D</midino>
        <options>
          <script-binding />
        </options>
        <key>BCR2000.input</key>
      </control>
      <control>
        <description>Pushencoder G4.6 Button</description>
        <status>0xB0</status>
        <midino>0x3E</midino>
        <options>
          <script-binding />
        </options>
        <key>BCR2000.input</key>
      </control>
      <control>
        <description>Pushencoder G4.7 Button</description>
        <status>0xB0</status>
        <midino>0x3F</midino>
        <options>
          <script-binding />
        </options>
        <key>BCR2000.input</key>
      </control>
      <control>
        <description>Pushbutton G4.8 Button</description>
        <status>0xB0</status>
        <midino>0x40</midino>
        <options>
          <script-binding />
        </options>
        <key>BCR2000.input</key>
      </control>

      <!-- Button Row 1 -->
      <control>
        <description>Button R1C1</description>
        <status>0xB0</status>
        <midino>0x41</midino>
        <options>
          <script-binding />
        </options>
        <key>BCR2000.input</key>
      </control>
      <control>
        <description>Button R1C2</description>
        <status>0xB0</status>
        <midino>0x42</midino>
        <options>
          <script-binding />
        </options>
        <key>BCR2000.input</key>
      </control>
      <control>
        <description>Button R1C3</description>
        <status>0xB0</status>
        <midino>0x43</midino>
        <options>
          <script-binding />
        </options>
        <key>BCR2000.input</key>
      </control>
      <control>
        <description>Button R1C4</description>
        <status>0xB0</status>
        <midino>0x44</midino>
        <options>
          <script-binding />
        </options>
        <key>BCR2000.input</key>
      </control>
      <control>
        <description>Button R1C5</description>
        <status>0xB0</status>
        <midino>0x45</midino>
        <options>
          <script-binding />
        </options>
        <key>BCR2000.input</key>
      </control>
      <control>
        <description>Button R1C6</description>
        <status>0xB0</status>
        <midino>0x46</midino>
        <options>
          <script-binding />
        </options>
        <key>BCR2000.input</key>
      </control>
      <control>
        <description>Button R1C7</description>
        <status>0xB0</status>
        <midino>0x47</midino>
        <options>
          <script-binding />
        </options>
        <key>BCR2000.input</key>
      </control>
      <control>
        <description>Button R1C8</description>
        <status>0xB0</status>
        <midino>0x48</midino>
        <options>
          <script-binding />
        </options>
        <key>BCR2000.input</key>
      </control>

      <!-- Button Row 2 -->
      <control>
        <description>Button R2C1</description>
        <status>0xB0</status>
        <midino>0x49</midino>
        <options>
          <script-binding />
        </options>
        <key>BCR2000.input</key>
      </control>
      <control>
        <description>Button R2C2</description>
        <status>0xB0</status>
        <midino>0x4A</midino>
        <options>
          <script-binding />
        </options>
        <key>BCR2000.input</key>
      </control>
      <control>
        <description>Button R2C3</description>
        <status>0xB0</status>
        <midino>0x4B</midino>
        <options>
          <script-binding />
        </options>
        <key>BCR2000.input</key>
      </control>
      <control>
        <description>Button R2C4</description>
        <status>0xB0</status>
        <midino>0x4C</midino>
        <options>
          <script-binding />
        </options>
        <key>BCR2000.input</key>
      </control>
      <control>
        <description>Button R2C5</description>
        <status>0xB0</status>
        <midino>0x4D</midino>
        <options>
          <script-binding />
        </options>
        <key>BCR2000.input</key>
      </control>
      <control>
        <description>Button R2C6</description>
        <status>0xB0</status>
        <midino>0x4E</midino>
        <options>
          <script-binding />
        </options>
        <key>BCR2000.input</key>
      </control>
      <control>
        <description>Button R2C7</description>
        <status>0xB0</status>
        <midino>0x4F</midino>
        <options>
          <script-binding />
        </options>
        <key>BCR2000.input</key>
      </control>
      <control>
        <description>Button R2C8</description>
        <status>0xB0</status>
        <midino>0x50</midino>
        <options>
          <script-binding />
        </options>
        <key>BCR2000.input</key>
      </control>

      <!-- Encoder Row 1 -->
      <control>
        <description>Encoder R1C1</description>
        <status>0xB0</status>
        <midino>0x51</midino>
        <options>
          <script-binding />
        </options>
        <key>BCR2000.input</key>
      </control>
      <control>
        <description>Encoder R1C2</description>
        <status>0xB0</status>
        <midino>0x52</midino>
        <options>
          <script-binding />
        </options>
        <key>BCR2000.input</key>
      </control>
      <control>
        <description>Encoder R1C3</description>
        <status>0xB0</status>
        <midino>0x53</midino>
        <options>
          <script-binding />
        </options>
        <key>BCR2000.input</key>
      </control>
      <control>
        <description>Encoder R1C4</description>
        <status>0xB0</status>
        <midino>0x54</midino>
        <options>
          <script-binding />
        </options>
        <key>BCR2000.input</key>
      </control>
      <control>
        <description>Encoder R1C5</description>
        <status>0xB0</status>
        <midino>0x55</midino>
        <options>
          <script-binding />
        </options>
        <key>BCR2000.input</key>
      </control>
      <control>
        <description>Encoder R1C6</description>
        <status>0xB0</status>
        <midino>0x56</midino>
        <options>
          <script-binding />
        </options>
        <key>BCR2000.input</key>
      </control>
      <control>
        <description>Encoder R1C7</description>
        <status>0xB0</status>
        <midino>0x57</midino>
        <options>
          <script-binding />
        </options>
        <key>BCR2000.input</key>
      </control>
      <control>
        <description>Encoder R1C8</description>
        <status>0xB0</status>
        <midino>0x58</midino>
        <options>
          <script-binding />
        </options>
        <key>BCR2000.input</key>
      </control>

      <!-- Encoder Row 2 -->
      <control>
        <description>Encoder R2C1</description>
        <status>0xB0</status>
        <midino>0x59</midino>
        <options>
          <script-binding />
        </options>
        <key>BCR2000.input</key>
      </control>
      <control>
        <description>Encoder R2C2</description>
        <status>0xB0</status>
        <midino>0x5A</midino>
        <options>
          <script-binding />
        </options>
        <key>BCR2000.input</key>
      </control>
      <control>
        <description>Encoder R2C3</description>
        <status>0xB0</status>
        <midino>0x5B</midino>
        <options>
          <script-binding />
        </options>
        <key>BCR2000.input</key>
      </control>
      <control>
        <description>Encoder R2C4</description>
        <status>0xB0</status>
        <midino>0x5C</midino>
        <options>
          <script-binding />
        </options>
        <key>BCR2000.input</key>
      </control>
      <control>
        <description>Encoder R2C5</description>
        <status>0xB0</status>
        <midino>0x5D</midino>
        <options>
          <script-binding />
        </options>
        <key>BCR2000.input</key>
      </control>
      <control>
        <description>Encoder R2C6</description>
        <status>0xB0</status>
        <midino>0x5E</midino>
        <options>
          <script-binding />
        </options>
        <key>BCR2000.input</key>
      </control>
      <control>
        <description>Encoder R2C7</description>
        <status>0xB0</status>
        <midino>0x5F</midino>
        <options>
          <script-binding />
        </options>
        <key>BCR2000.input</key>
      </control>
      <control>
        <description>Encoder R2C8</description>
        <status>0xB0</status>
        <midino>0x60</midino>
        <options>
          <script-binding />
        </options>
        <key>BCR2000.input</key>
      </control>

      <!-- Encoder Row 3 -->
      <control>
        <description>Encoder R3C1</description>
        <status>0xB0</status>
        <midino>0x61</midino>
        <options>
          <script-binding />
        </options>
        <key>BCR2000.input</key>
      </control>
      <control>
        <description>Encoder R3C2</description>
        <status>0xB0</status>
        <midino>0x62</midino>
        <options>
          <script-binding />
        </options>
        <key>BCR2000.input</key>
      </control>
      <control>
        <description>Encoder R3C3</description>
        <status>0xB0</status>
        <midino>0x63</midino>
        <options>
          <script-binding />
        </options>
        <key>BCR2000.input</key>
      </control>
      <control>
        <description>Encoder R3C4</description>
        <status>0xB0</status>
        <midino>0x64</midino>
        <options>
          <script-binding />
        </options>
        <key>BCR2000.input</key>
      </control>
      <control>
        <description>Encoder R3C5</description>
        <status>0xB0</status>
        <midino>0x65</midino>
        <options>
          <script-binding />
        </options>
        <key>BCR2000.input</key>
      </control>
      <control>
        <description>Encoder R3C6</description>
        <status>0xB0</status>
        <midino>0x66</midino>
        <options>
          <script-binding />
        </options>
        <key>BCR2000.input</key>
      </control>
      <control>
        <description>Encoder R3C7</description>
        <status>0xB0</status>
        <midino>0x67</midino>
        <options>
          <script-binding />
        </options>
        <key>BCR2000.input</key>
      </control>
      <control>
        <description>Encoder R3C8</description>
        <status>0xB0</status>
        <midino>0x68</midino>
        <options>
          <script-binding />
        </options>
        <key>BCR2000.input</key>
      </control>

      <!-- Button Box -->
      <control>
        <description>Button Box Top Left</description>
        <status>0xB0</status>
        <midino>0x69</midino>
        <options>
          <script-binding />
        </options>
        <key>BCR2000.input</key>
      </control>
      <control>
        <description>Button Box Top Right</description>
        <status>0xB0</status>
        <midino>0x6A</midino>
        <options>
          <script-binding />
        </options>
        <key>BCR2000.input</key>
      </control>
      <control>
        <description>Button Box Bottom Left</description>
        <status>0xB0</status>
        <midino>0x6B</midino>
        <options>
          <script-binding />
        </options>
        <key>BCR2000.input</key>
      </control>
      <control>
        <description>Button Box Bottom Right</description>
        <status>0xB0</status>
        <midino>0x6C</midino>
        <options>
          <script-binding />
        </options>
        <key>BCR2000.input</key>
      </control>
    </controls>
  </controller>
</MixxxControllerPreset>
