dj console rmx2 map...
 
Notifications
Clear all

dj console rmx2 mapping for mixxx

4 Posts
2 Users
0 Likes
2 Views
0
Topic starter

does anybody have mapping for mixxx software for hercules dj console rmx2? i need it so much, i tryed to do it by myself using "learning wizard" in mixxx 1.11.0 and had some success, but i don`t know how no make leds blinking or highlighted

0

There seems to be a few users on the Mixx forum who might be able to help you out:

http://www.mixxx.org/forums/viewtopic.php?f=1&t=4454

Regarding the LEDs, it is not someting you can do (yet...) with the wizard. A script file also needs to be created, as explained here:

http://mixxx.org/wiki/doku.php/midi_scripting

The Rmx2 will likely be natively supported by Mixx eventually, but since this a community based development, they are counting on guys like you to help them out.

0
Topic starter

One of these users on Mixxx forum is me) I don`t know how to write right XML file with led support, it seems not easy. Nevertheless i try to do it.

0
Topic starter

In a quick and dirty attempt following the tutorial I at least got the two jog-wheels working. But haven't got much time to do the rest at the moment. I'm using Mixxx 1.10.1! Simply follow the MIDI-Assistant and export the XML file and give it the name Hercules DJ Console RMX 2.midi.xml

Open xml and specify a script file between the <scriptfiles></scriptfiles>-tags
<file filename="Hercules-DJ-Console-RMX-2-scripts.js" functionprefix="HerculesRMX2"/>

Put this code somewhere between the <controls>...</controls>-tags (but not between any <control></control>-tag
            <control>
                <status>0xB0</status>
                <midino>0x32</midino>
                <group>[Channel1]</group>
                <key>HerculesRMX2.wheelTurn</key>
                <options>
                    <Script-Binding/>
                </options>
            </control>
            <control>
                <status>0x90</status>
                <midino>0x2f</midino>
                <group>[Channel1]</group>
                <key>HerculesRMX2.wheelTouch</key>
                <options>
                    <Script-Binding/>
                </options>
            </control>
            <control>
                <status>0xB0</status>
                <midino>0x33</midino>
                <group>[Channel1]</group>
                <key>HerculesRMX2.wheelTurn</key>
                <options>
                    <Script-Binding/>
                </options>
            </control>
            <control>
                <status>0x90</status>
                <midino>0x40</midino>
                <group>[Channel1]</group>
                <key>HerculesRMX2.wheelTouch</key>
                <options>
                    <Script-Binding/>
                </options>
            </control>

name the script: Hercules-DJ-Console-RMX-2-scripts.js and put this:
function HerculesRMX2() {}

HerculesRMX2.scratching = []

// The button that enables/disables scratching
HerculesRMX2.wheelTouch = function (channel, control, value, status) {
    var deckNumber;
    if (control == 0x2F) {
        deckNumber = 1;
    } else if (control == 0x40) {
        deckNumber = 2;
    }
    //if ((status & 0xF0) == 0x90) {    // If button down
    if (value == 0x7F) {  // Some wheels send 0x90 on press and release, so you need to check the value
        var alpha = 1.0/8;
        var beta = alpha/32;
        engine.scratchEnable(deckNumber, 128, 33+1/3, alpha, beta);
        // Keep track of whether we're scratching on this virtual deck - for v1.10.x or below
        HerculesRMX2.scratching[deckNumber] = true;
    }
    else {    // If button up
        engine.scratchDisable(deckNumber);
        HerculesRMX2.scratching[deckNumber] = false;  // Only for v1.10.x and below
    }
}

// The wheel that actually controls the scratching
HerculesRMX2.wheelTurn = function (channel, control, value, status) {
    var deckNumber;
    if (control == 0x32) {
        deckNumber = 1;
    } else if (control == 0x33) {
        deckNumber = 2;
    }
    // See if we're scratching. If not, skip this.
    //if (!HerculesRMX2.scratching[1]) return; // for 1.11.0 and above
    if (!HerculesRMX2.scratching[deckNumber]) return; // for 1.10.x and below

    // --- Choose only one of the following!

    // A: For a control that centers on 0:
    var newValue;
    if (value-64 > 0) newValue = value-128;
    else newValue = value;

    // B: For a control that centers on 0x40 (64):
    //var newValue=(value-64);

    // --- End choice

    // In either case, register the movement
    engine.scratchTick(deckNumber,newValue);
}

into it. Then put all the files into the right Windows/Linux-directory. Hope this works for you

0
Topic starter

Or simply take the script from this site:
http://bazaar.launchpad.net/~mixxxcontributors/mixxx/rmx2/files/head:/mixxx/res/controllers/

found in this thread
http://www.mixxx.org/forums/viewtopic.php?f=7&t=4541&start=20