Hi There,

  This is a MIDI Mapping file as well as Script which turns the Boss
DR670 Drum Machine into a Loop Controller. I tried to keep the code as
general and readable as possible.

Some notes about the script:

    * It assumes that the autodecteted or set BPM is correct
    * It assumes that the Sample Rate of track is 44.1 Khz
    * It uses the Looping Controller to quantize beat juggling/looping
      (the features_looping branch merges easily with features_portmidi)

-- 
-----BEGIN GEEK CODE BLOCK-----
Version: 3.1
GCS d--@>+ s(+):(-) a- C++(++++)$ ULC+++(++++) P+ L+++ E-() W++ N o? K
w-- O? !M V PS+(+++) PE(-) Y+ !PGP !t !5 X(+) !R tv+ b++ DI+ D+ G e>++
h r y+
------END GEEK CODE BLOCK------

Attachment: DR670.js
Description: JavaScript source

<?xml version="1.0" encoding="utf-8"?>
<MixxxMIDIPreset mixxxVersion="1.7.0+" schemaVersion="1" >
    <info>
        <name>DR670</name>
        <author>Phillip Whelan</author>
        <description>Small MIDI Mapping to turn the DR670 into a looping machine</description>
    </info>
    <controller id="DR670" port="">
        <scriptfiles>
            <file filename="DR670.js" functionprefix="DR670"/>
        </scriptfiles>
        <!--    The DR670 doesn't use note off, instead it uses velocity. 
                This is handled by the script.
        -->
        <controls>
            <!-- Deck 1 -->
            <!-- Pad 1 -->
            <control>
                <status>0x90</status>
                <midino>0x31</midino>
                <group>[Channel1]</group>
                <key>DR670.jumpQuantizedBack16Deck1</key>
                <options>
                    <Script-Binding/>
                </options>
            </control>
            <!-- Pad 2 -->
            <control>
                <status>0x90</status>
                <midino>0x39</midino>
                <group>[Channel1]</group>
                <key>DR670.jumpQuantizedBack8Deck1</key>
                <options>
                    <Script-Binding/>
                </options>
            </control>
            <!-- Pad 3 -->
            <control>
                <status>0x90</status>
                <midino>0x35</midino>
                <group>[Channel1]</group>
                <key>DR670.jumpQuantizedBack4Deck1</key>
                <options>
                    <Script-Binding/>
                </options>
            </control>
            <!-- Pad 4 -->
            <control>
                <status>0x90</status>
                <midino>0x33</midino>
                <group>[Channel1]</group>
                <key>DR670.jumpQuantizedBack2Deck1</key>
                <options>
                    <Script-Binding/>
                </options>
            </control>
            <!-- Pad 5 -->
            <control>
                <status>0x90</status>
                <midino>0x32</midino>
                <group>[Channel1]</group>
                <key>DR670.jumpBack4Deck1</key>
                <options>
                    <Script-Binding/>
                </options>
            </control>
            <!-- Pad 6 -->
            <control>
                <status>0x90</status>
                <midino>0x30</midino>
                <group>[Channel1]</group>
                <key>DR670.jumpBack1Deck1</key>
                <options>
                    <Script-Binding/>
                </options>
            </control>
            <!-- Pad 7 -->
            <control>
                <status>0x90</status>
                <midino>0x2d</midino>
                <group>[Channel1]</group>
                <key>DR670.jumpFwd1Deck1</key>
                <options>
                    <Script-Binding/>
                </options>
            </control>
            <!-- Pad 8 -->
            <control>
                <status>0x90</status>
                <midino>0x29</midino>
                <group>[Channel1]</group>
                <key>DR670.jumpFwd4Deck1</key>
                <options>
                    <Script-Binding/>
                </options>
            </control>
            <!-- Pad 9 -->
            <control>
                <status>0x90</status>
                <midino>0x25</midino>
                <group>[Channel1]</group>
                <key>DR670.quantizedLoop4Deck1</key>
                <options>
                    <Script-Binding/>
                </options>
            </control>
            <!-- Pad 10 -->
            <control>
                <status>0x90</status>
                <midino>0x27</midino>
                <group>[Channel1]</group>
                <key>DR670.quantizedLoop8Deck1</key>
                <options>
                    <Script-Binding/>
                </options>
            </control>
            <!-- Pad 11 -->
            <control>
                <status>0x90</status>
                <midino>0x38</midino>
                <group>[Channel1]</group>
                <key>DR670.quantizedLoop16Deck1</key>
                <options>
                    <Script-Binding/>
                </options>
            </control>
            <!-- Pad 12 -->
            <control>
                <status>0x90</status>
                <midino>0x2c</midino>
                <group>[Channel1]</group>
                <key>DR670.quantizedLoop32Deck1</key>
                <options>
                    <Script-Binding/>
                </options>
            </control>
            <!-- Pad 13 -->
            <control>
                <status>0x90</status>
                <midino>0x24</midino>
                <group>[Channel1]</group>
                <key>loop_in</key>
            </control>
            <!-- Pad 14 -->
            <control>
                <status>0x90</status>
                <midino>0x26</midino>
                <group>[Channel1]</group>
                <key>loop_out</key>
            </control>
            <!-- Pad 15 -->
            <control>
                <status>0x90</status>
                <midino>0x2a</midino>
                <group>[Channel1]</group>
                <key>reloop_exit</key>
            </control>
            <!-- Pad 16 -->
            <!-- UNDEFINED
            <control>
                <status>0x90</status>
                <midino>0x2e</midino>
                <group>[Channel2]</group>
                <key>DR670.jumpBack1Deck2</key>
                <options>
                    <Script-Binding/>
                </options>
            </control>
            -->
            <!-- DRUM B for Deck 2 -->
            <!-- Pad 1 -->
            <control>
                <status>0x90</status>
                <midino>0x45</midino>
                <group>[Channel2]</group>
                <key>DR670.jumpQuantizedBack16Deck2</key>
                <options>
                    <Script-Binding/>
                </options>
            </control>
            <!-- Pad 2 -->
            <control>
                <status>0x90</status>
                <midino>0x4b</midino>
                <group>[Channel2]</group>
                <key>DR670.jumpQuantizedBack8Deck2</key>
                <options>
                    <Script-Binding/>
                </options>
            </control>
            <!-- Pad 3 -->
            <control>
                <status>0x90</status>
                <midino>0x46</midino>
                <group>[Channel2]</group>
                <key>DR670.jumpQuantizedBack4Deck2</key>
                <options>
                    <Script-Binding/>
                </options>
            </control>
            <!-- Pad 4 -->
            <control>
                <status>0x90</status>
                <midino>0x3a</midino>
                <group>[Channel2]</group>
                <key>DR670.jumpQuantizedBack2Deck2</key>
                <options>
                    <Script-Binding/>
                </options>
            </control>
            <!-- Pad 5 -->
            <control>
                <status>0x90</status>
                <midino>0x43</midino>
                <group>[Channel2]</group>
                <key>DR670.jumpBack4Deck2</key>
                <options>
                    <Script-Binding/>
                </options>
            </control>
            <!-- Pad 6 -->
            <control>
                <status>0x90</status>
                <midino>0x44</midino>
                <group>[Channel2]</group>
                <key>DR670.jumpBack1Deck2</key>
                <options>
                    <Script-Binding/>
                </options>
            </control>
            <!-- Pad 7 -->
            <control>
                <status>0x90</status>
                <midino>0x49</midino>
                <group>[Channel2]</group>
                <key>DR670.jumpFwd1Deck2</key>
                <options>
                    <Script-Binding/>
                </options>
            </control>
            <!-- Pad 8 -->
            <control>
                <status>0x90</status>
                <midino>0x4a</midino>
                <group>[Channel2]</group>
                <key>DR670.jumpFwd4Deck2</key>
                <options>
                    <Script-Binding/>
                </options>
            </control>
            <!-- Pad 9 -->
            <control>
                <status>0x90</status>
                <midino>0x3c</midino>
                <group>[Channel2]</group>
                <key>DR670.quantizedLoop4Deck2</key>
                <options>
                    <Script-Binding/>
                </options>
            </control>
            <!-- Pad 10 -->
            <control>
                <status>0x90</status>
                <midino>0x3d</midino>
                <group>[Channel2]</group>
                <key>DR670.quantizedLoop8Deck2</key>
                <options>
                    <Script-Binding/>
                </options>
            </control>
            <!-- Pad 11 -->
            <control>
                <status>0x90</status>
                <midino>0x42</midino>
                <group>[Channel2]</group>
                <key>DR670.quantizedLoop16Deck2</key>
                <options>
                    <Script-Binding/>
                </options>
            </control>
            <!-- Pad 12 -->
            <control>
                <status>0x90</status>
                <midino>0x41</midino>
                <group>[Channel2]</group>
                <key>DR670.quantizedLoop32Deck2</key>
                <options>
                    <Script-Binding/>
                </options>
            </control>
            <!-- Pad 13 -->
            <control>
                <status>0x90</status>
                <midino>0x36</midino>
                <group>[Channel2]</group>
                <key>loop_in</key>
            </control>
            <!-- Pad 14 -->
            <control>
                <status>0x90</status>
                <midino>0x3e</midino>
                <group>[Channel2]</group>
                <key>loop_out</key>
            </control>
            <!-- Pad 15 -->
            <control>
                <status>0x90</status>
                <midino>0x3f</midino>
                <group>[Channel2]</group>
                <key>reloop_exit</key>
            </control>
            <!-- Pad 16 -->
            <!-- UNDEFINED
            <control>
                <status>0x90</status>
                <midino>0x40</midino>
                <group>[Channel2]</group>
                <key>DR670.jumpBack1Deck2</key>
                <options>
                    <Script-Binding/>
                </options>
            </control>
            -->
        </controls>
    </controller>
</MixxxMIDIPreset>
------------------------------------------------------------------------------
Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
trial. Simplify your report design, integration and deployment - and focus on 
what you do best, core application coding. Discover what's new with 
Crystal Reports now.  http://p.sf.net/sfu/bobj-july
_______________________________________________
Mixxx-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/mixxx-devel

Reply via email to