Kontrol DJ 500 KDJ 500 mapping

XML preset files and script files (.js) for MIDI and other controllers.

Moderators: garth, User Customization Moderators

Kontrol DJ 500 KDJ 500 mapping

Postby bonkhead » Sun Aug 22, 2010 11:40 am

Hi,

After learning how to map for mixxx for the iddj I today began for the KDJ500.
I am aware of the following topic: viewtopic.php?f=1&t=945&hilit=kdj&start=20
But it just has lots of text and not so many code :mrgreen:

The correct code from that topic (incl. pitchbend with the scratchhweel) is:

Code: Select all
        <MixxxMIDIPreset mixxxVersion="1.7.1+" schemaVersion="1" >
            <controller id="Last used" >
                <controls>
                    <control>
                        <status>0x90</status>
                        <midino>0x24</midino>
                        <group>[Channel2]</group>
                        <key>cue_default</key>
                        <options>
                            <normal/>
                        </options>
                    </control>
                    <control>
                        <status>0x90</status>
                        <midino>0x1</midino>
                        <group>[Channel1]</group>
                        <key>flanger</key>
                        <options>
                            <normal/>
                        </options>
                    </control>
                    <control>
                        <status>0x90</status>
                        <midino>0x26</midino>
                        <group>[Channel2]</group>
                        <key>play</key>
                        <options>
                            <normal/>
                        </options>
                    </control>
                    <control>
                        <status>0x90</status>
                        <midino>0x2</midino>
                        <group>[Channel1]</group>
                        <key>filterLowKill</key>
                        <options>
                            <normal/>
                        </options>
                    </control>
                    <control>
                        <status>0x90</status>
                        <midino>0x3</midino>
                        <group>[Channel1]</group>
                        <key>filterMidKill</key>
                        <options>
                            <normal/>
                        </options>
                    </control>
                    <control>
                        <status>0x90</status>
                        <midino>0x4</midino>
                        <group>[Channel1]</group>
                        <key>filterHighKill</key>
                        <options>
                            <normal/>
                        </options>
                    </control>
                    <control>
                        <status>0x90</status>
                        <midino>0x2c</midino>
                        <group>[Channel1]</group>
                        <key>pfl</key>
                        <options>
                            <normal/>
                        </options>
                    </control>
                    <control>
                        <status>0x90</status>
                        <midino>0x2e</midino>
                        <group>[Channel2]</group>
                        <key>pfl</key>
                        <options>
                            <normal/>
                        </options>
                    </control>
                    <control>
                        <status>0x80</status>
                        <midino>0x24</midino>
                        <group>[Channel2]</group>
                        <key>cue_default</key>
                        <options>
                            <normal/>
                        </options>
                    </control>
                    <control>
                        <status>0x80</status>
                        <midino>0x26</midino>
                        <group>[Channel2]</group>
                        <key>play</key>
                        <options>
                            <normal/>
                        </options>
                    </control>
                    <control>
                        <status>0x90</status>
                        <midino>0xe</midino>
                        <group>[Channel1]</group>
                        <key>cue_default</key>
                        <options>
                            <normal/>
                        </options>
                    </control>
                    <control>
                        <status>0x90</status>
                        <midino>0x34</midino>
                        <group>[Playlist]</group>
                        <key>SelectPrevTrack</key>
                        <options>
                            <normal/>
                        </options>
                    </control>
                    <control>
                        <status>0xb0</status>
                        <midino>0x1</midino>
                        <group>[Master]</group>
                        <key>headVolume</key>
                        <options>
                            <normal/>
                        </options>
                    </control>
                    <control>
                        <status>0x90</status>
                        <midino>0x10</midino>
                        <group>[Channel1]</group>
                        <key>play</key>
                        <options>
                            <normal/>
                        </options>
                    </control>
                    <control>
                        <status>0xb0</status>
                        <midino>0x2</midino>
                        <group>[Channel1]</group>
                        <key>filterHigh</key>
                        <options>
                            <normal/>
                        </options>
                    </control>
                    <control>
                        <status>0xb0</status>
                        <midino>0x3</midino>
                        <group>[Channel1]</group>
                        <key>filterMid</key>
                        <options>
                            <normal/>
                        </options>
                    </control>
                    <control>
                        <status>0x80</status>
                        <midino>0x2c</midino>
                        <group>[Channel1]</group>
                        <key>pfl</key>
                        <options>
                            <normal/>
                        </options>
                    </control>
                    <control>
                        <status>0xb0</status>
                        <midino>0x4</midino>
                        <group>[Channel1]</group>
                        <key>filterLow</key>
                        <options>
                            <normal/>
                        </options>
                    </control>
                    <control>
                        <status>0xb0</status>
                        <midino>0x5</midino>
                        <group>[Master]</group>
                        <key>headMix</key>
                        <options>
                            <normal/>
                        </options>
                    </control>
                    <control>
                        <status>0x80</status>
                        <midino>0x2e</midino>
                        <group>[Channel2]</group>
                        <key>pfl</key>
                        <options>
                            <normal/>
                        </options>
                    </control>
                    <control>
                        <status>0xb0</status>
                        <midino>0x6</midino>
                        <group>[Channel2]</group>
                        <key>filterHigh</key>
                        <options>
                            <normal/>
                        </options>
                    </control>
                    <control>
                        <status>0xb0</status>
                        <midino>0x7</midino>
                        <group>[Channel2]</group>
                        <key>filterMid</key>
                        <options>
                            <normal/>
                        </options>
                    </control>
                    <control>
                        <status>0xb0</status>
                        <midino>0x8</midino>
                        <group>[Channel2]</group>
                        <key>filterLow</key>
                        <options>
                            <normal/>
                        </options>
                    </control>
                    <control>
                        <status>0x90</status>
                        <midino>0x17</midino>
                        <group>[Channel2]</group>
                        <key>flanger</key>
                        <options>
                            <normal/>
                        </options>
                    </control>
                    <control>
                        <status>0xb0</status>
                        <midino>0x9</midino>
                        <group>[Channel1]</group>
                        <key>rate</key>
                        <options>
                            <normal/>
                        </options>
                    </control>
                    <control>
                        <status>0x90</status>
                        <midino>0x18</midino>
                        <group>[Channel2]</group>
                        <key>filterLowKill</key>
                        <options>
                            <normal/>
                        </options>
                    </control>
                    <control>
                        <status>0xb0</status>
                        <midino>0xa</midino>
                        <group>[Channel2]</group>
                        <key>rate</key>
                        <options>
                            <normal/>
                        </options>
                    </control>
                    <control>
                        <status>0x80</status>
                        <midino>0xe</midino>
                        <group>[Channel1]</group>
                        <key>cue_default</key>
                        <options>
                            <normal/>
                        </options>
                    </control>
                    <control>
                        <status>0x90</status>
                        <midino>0x19</midino>
                        <group>[Channel2]</group>
                        <key>filterMidKill</key>
                        <options>
                            <normal/>
                        </options>
                    </control>
                    <control>
                        <status>0xb0</status>
                        <midino>0xb</midino>
                        <group>[Channel1]</group>
                        <key>volume</key>
                        <options>
                            <normal/>
                        </options>
                    </control>
                    <control>
                        <status>0x90</status>
                        <midino>0x1a</midino>
                        <group>[Channel2]</group>
                        <key>filterHighKill</key>
                        <options>
                            <normal/>
                        </options>
                    </control>
                    <control>
                        <status>0xb0</status>
                        <midino>0xc</midino>
                        <group>[Channel2]</group>
                        <key>volume</key>
                        <options>
                            <normal/>
                        </options>
                    </control>
                    <control>
                        <status>0x80</status>
                        <midino>0x10</midino>
                        <group>[Channel1]</group>
                        <key>play</key>
                        <options>
                            <normal/>
                        </options>
                    </control>
          <control>
                        <status>0xb0</status>
                        <midino>0x2c</midino>
                        <group>[Channel2]</group>
                        <key>jog</key>
                        <options>
                            <diff/>
                        </options>
                    </control>
           <control>
                        <status>0xb0</status>
                        <midino>0x28</midino>
                        <group>[Channel1]</group>
                        <key>jog</key>
                        <options>
                            <diff/>
                        </options>
                    </control>
                    <control>
                        <status>0xb0</status>
                        <midino>0xd</midino>
                        <group>[Master]</group>
                        <key>crossfader</key>
                        <options>
                            <normal/>
                        </options>
                    </control>
                </controls>
            </controller>
        </MixxxMIDIPreset>


First I am writing down the midi controller numbers, so we can map our own presets, check the pdf. There are a lot of controllers !!!
Attachments
KDJ500_midi_chart.PDF.7z
Kontrol DJ KDJ 500 midi chart pdf
(16.16 KiB) Downloaded 91 times
bonkhead
 
Posts: 13
Joined: Thu Aug 19, 2010 10:38 pm

Re: Kontrol DJ 500 KDJ 500 mapping

Postby rryan » Thu Sep 16, 2010 4:56 am

Cool, bonkhead. Let me know when you think your mapping for the KDJ 500 is ready/stable and I'll include it in Mixxx.

Regards,
RJ
The Mixxx Manual, Wiki and FAQ are the best place to start for documentation and support.
Please report any bugs you find to our Bug Tracker.
rryan
Mixxx Developer
 
Posts: 941
Joined: Thu Mar 26, 2009 12:14 am
Location: Cambridge, MA

Re: Kontrol DJ 500 KDJ 500 mapping

Postby kdjdem » Sat Oct 09, 2010 10:26 am

great news !


Thank you a lot, I'll try it in a few days.

Is there any chance to see linux drivers for the kdj500 ? I asked on the official forum, but with no success. And as you can see, coding is not my main quality :mrgreen:
kdjdem
 
Posts: 42
Joined: Tue Dec 08, 2009 12:20 pm

Re: Kontrol DJ 500 KDJ 500 mapping

Postby dnine » Tue Apr 17, 2012 12:10 pm

Digging up this old thread since I've got a second hand KDJ500 and got a bit further configuring it (thanks to Pegasus' hints in viewtopic.php?f=1&t=945&p=4536&hilit=kdj500#p4539 ).

I've added two MIDI scripting functions to make the Jog and TrackSelectKnob work, hope someone can use this (bare in mind that the basic button/knob configuration is far from perfect/complete, but that can easily be changed in the xml or wizard/ui)

Both files (KDJ500.midi.xml and KDJ500-scripts.js) need to be placed in Mixxx/midi

I'm using Windows 7 with loopMIDI to create a virtual midi port called "KDJ500", just make sure you use the same name as controller id in the xml to link both.

KDJ500.midi.xml:
Code: Select all
<MixxxMIDIPreset mixxxVersion="1.10.0+" schemaVersion="1">
    <controller id="KDJ500">
        <scriptfiles>
            <file filename="KDJ500-scripts.js" functionprefix="KDJ500"/>
        </scriptfiles>
        <controls>
            <control>
                <status>0x90</status>
                <midino>0x24</midino>
                <group>[Channel2]</group>
                <key>cue_default</key>
                <description></description>
                <options>
                    <normal/>
                </options>
            </control>
            <control>
                <status>0x90</status>
                <midino>0x26</midino>
                <group>[Channel2]</group>
                <key>play</key>
                <description></description>
                <options>
                    <normal/>
                </options>
            </control>
            <control>
                <status>0x90</status>
                <midino>0x3</midino>
                <group>[Channel1]</group>
                <key>beatloop_8_toggle</key>
                <description></description>
                <options>
                    <normal/>
                </options>
            </control>
         <control>
                <status>0x90</status>
                <midino>0x19</midino>
                <group>[Channel2]</group>
                <key>beatloop_8_toggle</key>
                <description></description>
                <options>
                    <normal/>
                </options>
            </control>
            <control>
                <status>0x90</status>
                <midino>0x28</midino>
                <group>[Channel2]</group>
                <key>LoadSelectedTrack</key>
                <description></description>
                <options>
                    <normal/>
                </options>
            </control>
            <control>
                <status>0x90</status>
                <midino>0x2c</midino>
                <group>[Channel1]</group>
                <key>pfl</key>
                <description></description>
                <options>
                    <normal/>
                </options>
            </control>
            <control>
                <status>0x90</status>
                <midino>0x2e</midino>
                <group>[Channel2]</group>
                <key>pfl</key>
                <description></description>
                <options>
                    <normal/>
                </options>
            </control>
            <control>
                <status>0x90</status>
                <midino>0x0e</midino>
                <group>[Channel1]</group>
                <key>cue_default</key>
                <description></description>
                <options>
                    <normal/>
                </options>
            </control>
            <control>
                <status>0xb0</status>
                <midino>0x2a</midino>
                <group>[Playlist]</group>
                <key>KDJ500.track</key>
                <description></description>
                <options>
                    <Script-Binding/>
                </options>
            </control>
         <control>
                <status>0xb0</status>
                <midino>0x2e</midino>
                <group>[Playlist]</group>
                <key>KDJ500.track</key>
                <description></description>
                <options>
                    <Script-Binding/>
                </options>
            </control>
            <control>
                <status>0x90</status>
                <midino>0x10</midino>
                <group>[Channel1]</group>
                <key>play</key>
                <description></description>
                <options>
                    <normal/>
                </options>
            </control>
            <control>
                <status>0xb0</status>
                <midino>0x1</midino>
                <group>[Channel1]</group>
                <key>pregain</key>
                <description></description>
                <options>
                    <normal/>
                </options>
            </control>
            <control>
                <status>0xb0</status>
                <midino>0x2</midino>
                <group>[Channel1]</group>
                <key>filterHigh</key>
                <description></description>
                <options>
                    <normal/>
                </options>
            </control>
            <control>
                <status>0xb0</status>
                <midino>0x3</midino>
                <group>[Channel1]</group>
                <key>filterMid</key>
                <description></description>
                <options>
                    <normal/>
                </options>
            </control>
            <control>
                <status>0xb0</status>
                <midino>0x28</midino>
                <group>[Channel1]</group>
                <key>KDJ500.jog</key>
                <description></description>
                <options>
                    <Script-Binding/>
                </options>
            </control>
            <control>
                <status>0xb0</status>
                <midino>0x4</midino>
                <group>[Channel1]</group>
                <key>filterLow</key>
                <description></description>
                <options>
                    <normal/>
                </options>
            </control>
            <control>
                <status>0x90</status>
                <midino>0x14</midino>
                <group>[Channel1]</group>
                <key>LoadSelectedTrack</key>
                <description></description>
                <options>
                    <normal/>
                </options>
            </control>
            <control>
                <status>0xb0</status>
                <midino>0x5</midino>
                <group>[Channel2]</group>
                <key>pregain</key>
                <description></description>
                <options>
                    <normal/>
                </options>
            </control>
            <control>
                <status>0xb0</status>
                <midino>0x6</midino>
                <group>[Channel2]</group>
                <key>filterHigh</key>
                <description></description>
                <options>
                    <normal/>
                </options>
            </control>
            <control>
                <status>0xb0</status>
                <midino>0x7</midino>
                <group>[Channel2]</group>
                <key>filterMid</key>
                <description></description>
                <options>
                    <normal/>
                </options>
            </control>
            <control>
                <status>0xb0</status>
                <midino>0x2c</midino>
                <group>[Channel2]</group>
                <key>KDJ500.jog</key>
                <description></description>
                <options>
                    <Script-Binding/>
                </options>
            </control>
            <control>
                <status>0xb0</status>
                <midino>0x8</midino>
                <group>[Channel2]</group>
                <key>filterLow</key>
                <description></description>
                <options>
                    <normal/>
                </options>
            </control>
            <control>
                <status>0xb0</status>
                <midino>0x9</midino>
                <group>[Channel1]</group>
                <key>rate</key>
                <description></description>
                <options>
                    <normal/>
                </options>
            </control>
            <control>
                <status>0xb0</status>
                <midino>0xa</midino>
                <group>[Channel2]</group>
                <key>rate</key>
                <description></description>
                <options>
                    <normal/>
                </options>
            </control>
            <control>
                <status>0xb0</status>
                <midino>0xb</midino>
                <group>[Channel1]</group>
                <key>volume</key>
                <description></description>
                <options>
                    <normal/>
                </options>
            </control>
            <control>
                <status>0xb0</status>
                <midino>0xc</midino>
                <group>[Channel2]</group>
                <key>volume</key>
                <description></description>
                <options>
                    <normal/>
                </options>
            </control>
            <control>
                <status>0xb0</status>
                <midino>0xd</midino>
                <group>[Master]</group>
                <key>crossfader</key>
                <description></description>
                <options>
                    <normal/>
                </options>
            </control>
        </controls>
        <outputs/>
    </controller>
</MixxxMIDIPreset>


KDJ500-scripts.js:
Code: Select all
KDJ500 = new Controller();

KDJ500.init = function (id, debugging) {
   
}

KDJ500.shutdown = function () {
   
}

KDJ500.jog = function (channel, control, value, status, group) {
    if(value==0x7F) engine.setValue(group,"jog",1);
    if(value==0x01) engine.setValue(group,"jog",-1);
}

KDJ500.track = function (channel, control, value, status, group) {
    if(value==0x7F) engine.setValue("[Playlist]","SelectTrackKnob",1);
    if(value==0x01) engine.setValue("[Playlist]","SelectTrackKnob",-1);
}
Attachments
KDJ500.zip
(1.02 KiB) Downloaded 54 times
dnine
 
Posts: 1
Joined: Tue Apr 17, 2012 11:58 am

Re: Kontrol DJ 500 KDJ 500 mapping

Postby kdjdem » Fri Jun 29, 2012 8:04 pm

thank you ! I'll try it as soon as possible.

I don't get the midi virtual device thing ? Since I'm plugging my KDJ by real midi port with DIN cables (since no kdj usb driver exists for linux).

Edit : I think I get it. With your software, you replace the "kontroler" application wich translates usb signal in virtual midi notes.

I'm currently searching for a linux alternative to this software, something to map usb controllers into virtual midi. ANy help will be appreciated ;)

thanks again
kdjdem
 
Posts: 42
Joined: Tue Dec 08, 2009 12:20 pm

Re: Kontrol DJ 500 KDJ 500 mapping

Postby rryan » Sun Feb 10, 2013 6:47 am

Thanks bonkhead and dnine,

I've added the latest version of the preset (dnine's message from 2012/4/17) to the Mixxx 1.11.0 release.
The Mixxx Manual, Wiki and FAQ are the best place to start for documentation and support.
Please report any bugs you find to our Bug Tracker.
rryan
Mixxx Developer
 
Posts: 941
Joined: Thu Mar 26, 2009 12:14 am
Location: Cambridge, MA


Return to Controller presets/mappings

Who is online

Users browsing this forum: Bing [Bot] and 0 guests