The Mixman DM2 <http://www.mixman.com/products/dm2.html> is a great
simple little input console. It has comportably-sized spinners and a
slew of buttons all over the place; it was originally designed for
synthing (the circle of buttons around each wheel is meant for turning
patches on and off) but it's easy to subvert it for our nefarious
DJing purposes. Mixxx already has a mapping file for it, but sadly
when I tried to use it with my Mac I got stuck at the fact that there
was no driver. I found someone who has written a driver:
http://www.joemattiello.com/dm2/Notes.html
In fact the driver has a mode for Mixxx, but it doesn't seem well known.

Anyway, so the default mapping file for this controller didn't work
since the driver has all different mappings then.
This mapping is written for using the "Mixxx" mode of the driver. It's
designed according to how I find useful, and a bunch of keys have been
left unmapped to avoid clutter.

Driver problems to be aware of:
-you have to poke at it in its Prefs panel to make it actually work
the first (or sometimes other?) time.
http://www.snoize.com/MIDIMonitor/ helps to debug this.
~The four "macro" buttons in the bottom left corner do not send midi
~for some reason the ring-buttons like to change their numbers
sometimes. it seems to be completely random, but I noticed one or two
patterns so perhaps there's a binary-decoding bug somewhere.

-Nick
<!DOCTYPE controller>

<!-- Mixxx midi mapping for the Mixman DM2 <http://www.mixman.com/products/dm2.html>
  using Joe Mattiello's unnofficial OS X driver <http://www.joemattiello.com/dm2/Notes.html>
The 1,2,3,4 buttons (meant for meta keys?) in the bottom left corner don't seem to be supported with this driver, sadly.
Todo: make a scratching version of this that uses "scratch" instead of "wheel"
 -->

<controller>
  <controls>
    <control>
      <group>[Master]</group>
      <key>crossfader</key>
      <miditype>Ctrl</miditype>
      <midino>8</midino>
      <midichan>1</midichan>
    </control>

    
<!--middle bigbutton = 72-->


<!--channel 1-->
    <control>
      <group>[Channel1]</group>
      <key>play</key>
      <miditype>Key</miditype>
      <midino>71</midino>
      <midichan>1</midichan>
    </control>
    <control>
      <group>[Channel1]</group>
      <key>reverse</key>
      <miditype>Key</miditype>
      <midino>13</midino>
      <midichan>1</midichan>
      <options>
        <button/>
      </options>
    </control>
    
    <control>
      <group>[Channel1]</group>
      <key>beatsync</key>
      <miditype>Key</miditype>
      <midino>8</midino>
      <midichan>1</midichan>
    </control>


    <control>
      <group>[Channel1]</group>
      <key>cue_set</key>
      <miditype>Key</miditype>
      <midino>14</midino>
      <midichan>1</midichan>
    </control>
    <control>
      <group>[Channel1]</group>
      <key>cue_goto</key>
      <miditype>Key</miditype>
      <midino>15</midino>
      <midichan>1</midichan>
    </control>


    <control>
      <group>[Channel1]</group>
      <key>filterLowKill</key>
      <miditype>Key</miditype>
      <midino>11</midino>
      <midichan>1</midichan>
    </control>
    <control>
      <group>[Channel1]</group>
      <key>filterMidKill</key>
      <miditype>Key</miditype>
      <midino>10</midino>
      <midichan>1</midichan>
    </control>
    <control>
      <group>[Channel1]</group>
      <key>filterHighKill</key>
      <miditype>Key</miditype>
      <midino>9</midino>
      <midichan>1</midichan>
    </control>



<!--wheels-->
    <!--support "Mixxx" mode. this is more sensitive-->
    <control>
      <group>[Channel1]</group>
      <key>wheel</key>
      <miditype>Ctrl</miditype>
      <midino>22</midino>
      <midichan>2</midichan>
      <options>
        <spread64/>
      </options>
      <sensitivity>500</sensitivity>
      <translations>
        <!-- <single value="66">64</single> -->
        <range lower="64" upper="65">64</range>
      </translations>
    </control>

    <!--support "generic midi" mode-->
    <control>
      <group>[Channel1]</group>
      <key>fwd</key>
      <miditype>Key</miditype>
      <midino>75</midino>
      <midichan>1</midichan>
    </control>
    <control>
      <group>[Channel1]</group>
      <key>back</key>
      <miditype>Key</miditype>
      <midino>76</midino>
      <midichan>1</midichan>
    </control>


    <!--support "Mixxx" mode. this is more sensitive-->
    <control>
      <group>[Channel2]</group>
      <key>wheel</key>
      <miditype>Ctrl</miditype>
      <midino>22</midino>
      <midichan>3</midichan>
      <options>
        <spread64/>
      </options>
      <sensitivity>500</sensitivity>
      <translations>
        <!-- <single value="66">64</single> -->
        <range lower="64" upper="65">64</range>
      </translations>
    </control>

    <!--support "generic midi" mode-->
    <control>
      <group>[Channel2]</group>
      <key>fwd</key>
      <miditype>Key</miditype>
      <midino>77</midino>
      <midichan>1</midichan>
    </control>
    <control>
      <group>[Channel2]</group>
      <key>back</key>
      <miditype>Key</miditype>
      <midino>78</midino>
      <midichan>1</midichan>
    </control>


<!--joystick-->

    <control>
      <group>[Channel1]</group>
      <key>rate</key>
      <miditype>Ctrl</miditype>
      <midino>disabled 13</midino>
      <midichan>disabled (1)</midichan>
      <options>

      </options>
      <sensitivity>5000</sensitivity>
      <translations>
        <!-- <single value="66">64</single> -->
        <range lower="10" upper="120">64</range>
      </translations>
    </control>



    <control>
      <group>[Channel2]</group>
      <key>rate</key>
      <miditype>Ctrl</miditype>
      <midino>disabled 12</midino>
      <midichan>disabled (1)</midichan>
      <options>
      </options>
      <sensitivity>500</sensitivity>
      <translations>
        <!-- <single value="66">64</single> -->
        <range lower="10" upper="120">64</range>
      </translations>
    </control>



<!--channel 2-->

    <control>
      <group>[Channel2]</group>
      <key>play</key>
      <miditype>Key</miditype>
      <midino>70</midino>
      <midichan>1</midichan>
    </control>
    <control>
      <group>[Channel2]</group>
      <key>reverse</key>
      <miditype>Key</miditype>
      <midino>1</midino>
      <midichan>1</midichan>
      <options>
        <button/>
      </options>
    </control>

    <control>
      <group>[Channel2]</group>
      <key>beatsync</key>
      <miditype>Key</miditype>
      <midino>6</midino>
      <midichan>1</midichan>
    </control>

    <control>
      <group>[Channel2]</group>
      <key>cue_set</key>
      <miditype>Key</miditype>
      <midino>0</midino>
      <midichan>1</midichan>
    </control>
    <control>
      <group>[Channel2]</group>
      <key>cue_goto</key>
      <miditype>Key</miditype>
      <midino>7</midino>
      <midichan>1</midichan>
    </control>

    <control>
      <group>[Channel2]</group>
      <key>filterLowKill</key>
      <miditype>Key</miditype>
      <midino>3</midino>
      <midichan>1</midichan>
    </control>
    <control>
      <group>[Channel2]</group>
      <key>filterMidKill</key>
      <miditype>Key</miditype>
      <midino>4</midino>
      <midichan>1</midichan>
    </control>
    <control>
      <group>[Channel2]</group>
      <key>filterHighKill</key>
      <miditype>Key</miditype>
      <midino>5</midino>
      <midichan>1</midichan>
    </control>


  </controls>
</controller>
-------------------------------------------------------------------------
Check out the new SourceForge.net Marketplace.
It's the best place to buy or sell services for
just about anything Open Source.
http://sourceforge.net/services/buy/index.php
_______________________________________________
Mixxx-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/mixxx-devel

Reply via email to