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------
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
