Kontrol X1 Mk2 - MIDI Settings for Loop Length LED Display

Hi @Screma, here’s “Part 1” of the set-up - let me know when you have completed these steps:

Set-up of Traktor X1 Controller in Controller Editor

Loop Length Knobs

1.) Navigate to device in Controller Editor, in my example my device is called “Traktor Kontrol X1 MK2 – 1” (I own two X1s so I named them separately to avoid collisions in my MIDI mappings)

2.) Edit the “Assign” tabs for “Turn”, “Push” and “Touch” for both CC24 and CC25 which are the two Loop Length knobs. I believe these are the default values. If you have changed them, then be aware of this for the remainder of the configurations!

3.) Below are 6 screenshots that show how I have this configured for CC24 and CC25:

CC24

Turn

Push

Touch

CC25

Turn

Push

Touch

LED Displays

1.) Configure the LED Displays with an unused CC number, I used 80 and 81, with the LED display reacting to MIDI In (not MIDI Out!)

CC80

CC81

Set-up of IAC Driver in MacOS

In order to create a chain of MIDI commands between devices, there is a built-in function in MacOS called the “IAC Driver” which needs to be enabled and have a (MIDI) Device name created.

1.) CMD + Space

2.) Type: Audio MIDI Setup

3.) Open it.

4.) Window → Show MIDI Studio

5.) Double-click on “IAC Driver”

6.) Tick “Device is online”

7.) Then click + under Ports to add one.

8.) Name it something like: “Djay Virtual In”

9.) Click Apply / Close

10.) Done. You now have a virtual MIDI port available to all apps :blush:

Check “Djay Virtual In” can be seen by Djay Pro

1.) Open Djay Pro (If it was open before the previous step, close it and re-open it)

2.) Navigate to MIDI, look for the new device called “Djay Virtual In”

Initial Set-up for Bome MIDI Translator Pro

Bome MIDI Translator Pro is the software that will listen to your NI Kontrol X1s, and when you turn the Loop Length knobs (CC24 and CC25) it will update an internal state (which Loop Length is current), it will then update the LED Displays (CC80 and CC81) and then send a MIDI Out command to the virtual MIDI device called “Djay Virtual In”. This in turn (mind the pun!) will instruct Djay Pro to adjust the Loop Length.

1.) Install the Bome MIDI Translator Pro Trial software. You will get 20 minutes of functionality before you have to close it and re-open it.

2.) When installed, open it and go to: MIDI → Project Default MIDI Ports

3.) Set:

MIDI INPUT

X1 Device

MIDI OUTPUT

IAC Driver Djay Virtual In

X1 Device

Stop Djay Listening Directly to the X1 Loop Length Knobs

At this point you need to check your existing MIDI mappings in Djay Pro to remove any existing entries for CC24 and CC25.

This is so that the X1 doesn’t interfere directly with Djay Pro. We now have our virtual MIDI device (using the IAC driver) doing that job for us.

Once you’ve got to this stage we are ready to start adding “Translators” to Bome which will feed the virtual MIDI device “Djay Virtual In”.

Then we can edit the MIDI Mappings for that device in Djay Pro to get it to adjust the Loop Lengths for us.

I hope this helps, let me know how you get on with this “Part 1”.

2 Likes

Amazing! Thanks for sharing @James_Gillies

Hi @Screma, I was on a roll and I will be on the road for a few days so I thought I would document “Part 2” for you to help show how this is working.

Create “Translators” in Bome MIDI Translator Pro

You will need to create a “Translator” in Bome MIDI Translator Pro for each MIDI action that you wish to be captured from the X1 and then actioned.

In my example, because I am using two X1s, across four decks in Djay Pro I need to create four translators for each deck to pick up the left and right actions of both Loop Length knobs, and for each “tick” left or right I then need to have another Translator that updates the LED display.

In total, this adds up to sixteen Translators needed for four decks.

If you have only one X1 and you are only controlling two decks, then eight Translators will be needed.

For each Translator you need to configure four sections on the right-hand side:

1.) Translator Options (name, status etc)

2.) Incoming (where and what is the MIDI signal coming from that you are trying to capture)

3.) Rules (what conditions do you wish to evaluate for the Outgoing section)

4.) Outgoing (what MIDI signal do you wish to send back out and to which device)

Below are two examples for the two “Deck 3 – Right Tick” Translators.

The first Translator picks up the movement “Right” of the Deck 3 Loop Length knob on the X1, which using its “Rules” adds +1 to an internal value called “ga” up to a maximum value of 12. It then sends a Control Change (CC) value to the virtual MIDI Device “IAC Driver Djay Virtual In” that Djay Pro can sniff to “Increment the Loop Length”.

The second Translator also picks up the same movement and then using its own “Rules”, it decides based on the internal value of “ga” (which can be in the range of 0-12) will then update another variable called “oa” with 2-3 digits based on the Loop Length in question. Finally, in the “Outgoing” section it then updates the LED Display on the X1 directly using the “oa” value on that CC (which is the unused CC80).

Note: By default, the NI Controller Editor uses the SAME CC for the LED display as the Loop Length knob, so when using Bome you want to essentially “de-couple” this by using a different, unused CC.

Example screenshots follow:

Deck 3 – Right Tick – Forward to Djay

Translator Options and Incoming

Rules

Outgoing

Deck 3 – Right Tick – Update Display

Translator Options and Incoming

Rules

Outgoing

To make life easier for you, I will export my Bome Project file so that you can import this into your own installation. My hope is that you will be able to easily “attach” the Translators to the appropriate “devices” in your installation in the Incoming and Outgoing sections, minimising the rather fiddly process of setting each Translator up, which whilst they look almost identical, they are all of them different!

Cheers

James

Hi @James_Gillies - This is my first post going in as I’ve been getting myself more familiar with DJay Pro, shifting away from Traktor, but not without some resilience. It’s a pleasure to meet you!

I went ahead and took your TSI mapping for DJday Pro, made some adjustments to it and wrote out a readme with some special thanks to your work here.

If you would like to take a look at it, it needed some tweaking w/the touch strip (imo). I figured you could take a look at it.

One of the things that bugs me is the lighting effects. IIRC, don’t really give it the same sort of visual as the X1 would when pressing in on the encoder, but some of the ways the midi would light, I think, is part of those issues.

Anyhow, happy to hear your feedback, let alone any updates this may help you with since it hadn’t been updated since your first iteration. Though I see you might have gotten further along in this project since originally posted in DJ Tech Tools.

Cheers

Hi @Greilark, welcome to the Community! Thanks for sharing.

1 Like

Thanks @Slak_Jaw ! I’ve heard it’s fairly active in here. This seemed like a good place to start.

You’re welcome @Greilark. Yeah we have a very active user community for sure.

Hi @Greilark, thanks for your message!

That’s really good to hear about your progress. I am also a long-time Traktor user (10+ years!) - I had/have an S4Mk2, S8, S4MK3 and 2 x X1MK2s.

I’ve just upgraded my Traktor installation to the recent v4.4.2 edition, and in many ways my Traktor Collection is still my “Master” collection of tracks, with sync/exports to Lexicon, Rekordbox and Djay. Whilst I rarely use Traktor now, it’s my ingress for new music post-processing from MIK and PN etc.

I’ve made my switch to Djay Pro about a year ago to test out Neural Mix with an M2 iPad Air on a Reloop Mixtour Pro to test out an ultra-portable platform. It was rock-solid so I’ve been using Djay more and more to the point where it has become central to my main DJ platform at home (using MacOS), switching from Traktor on my Rane MP2015 and XDJ-1000s.

This is where my X1s live and why I wanted to try and emulate the Traktor functionality in my Djay Pro installation.

Thanks for downloading and updating my MIDI mapping, I really appreciate that! Clearly you’ve found this thread where I’ve been exploring getting the LED displays to work for the Loop Length encoders - with success! I’ve been using some 3rd party software to chain MIDI commands together, but it works and I’ve been able to develop another “Traktor-native” use case for the Library auto-expand using the “Touch” Library browse knob, which you can’t do natively in Djay Pro. That works really well I don’t mind saying!

I will take a look at your mapping, thank you, and I’m happy to share my latest MIDI mapping I am using for the X1s as it’s slightly evolved to create a blend of Traktor/Djay Pro workflows. It’s not overly adventurous though, it should appeal to the “generalist” DJ - and of course it hooks in with the solution described on this thread to get the LED displays working.

I’ve just been waiting for @Screma to confirm that he’s managed to get as far as “Part 1 and 2” in the steps described above which sets the scene for the MIDI mapping, and then I’ll provide the Bome Project file and Djay Pro MIDI mappings.

Cheers

James

1 Like

That’s awesome. Thanks for the feedback. In hope it’s helpful! Do see the notes I made for the updates in the readme.

I made some minor tweaks on my side for the touch strip to adjust manually which I didn’t change on the one public yet, but if you have the midi and lighting functioning working- is this something I would need to have Bome Midi Translator with said-script, correct?

Digging into this some more of this it seems the reason we cannot get it to work is because currently djay pro Does not support Multi-Byte MIDI Output Messages in Controller Mapping.

I’ll write up a feature request

I wonder if we can work together to make a new mapping to package together for people to download who want to use the controller at least for 2 decks - could package the 4 decks as well of course.

Really great work though! I picked up an xdj-rx3 xdj which is wonderful for the screens but.. I’m considering saving some money and getting back to my small footprint as much as I appreciate being “club ready “

1 Like

Hi @Greilark, so far I am using Bome MIDI Translator purely for updating the LED Displays and then sending on the “tick” to Djay Pro for the Loop Length…. and the Auto-Expand/Collapse of the Library using the Touch feature of the Library Browse knob.

The lighting of the various buttons is being handled in Djay Pro using the standard MIDI Learner tool.

I was waiting on @Screma to let me know how he’s getting on with the pre-reqs, but if you’re interested for yourself follow the the steps above and I’ll upload my Bome project file and the two Djay Pro MIDI mappings files. (One for the X1(s) - I have two!) and the other for “IAC Driver - Virtual Djay In” which is what Bome “sends” to and what Djay “listens” on. That’s how the LED displays are decoupled from the X1s directly and handled outside of Djay Pro.

Cheers

James

It is some work. I’ll see if I can get some time to work on it today. Thank you kindly.

Hey James, I managed to get to it tonight :slight_smile:

Here is an updated mapping, along with a little extra DJay Pro flair.

Also, I do have 2 decks. While I was digging in, I kept wondering if there was a way to set it up so you could take advantage of the Neural mixing with it rather than effects. But I just left it for now. The library overhaul was necessary after getting in deep with DJay Pro for a bit.

See my notes below:

Traktor X1 MK2 – djay Pro Mapping 1.0.2 Update

LIBRARY CONTROLS

Library Scrubbing:

  • Shift + FX Mode (either side): Expand Library

  • FX Left: Focus Playlist

  • FX Right: Focus Library Section

Library Table Selection:

  • Rotary Click

Library View (Left Side):

  • Shift + Flux (Left): Toggle Expanded Library

  • Shift + Sync (Right): Toggle Playlist

Library Selection (Right Side):

  • Shift + Flux (Left): Previous Selection

  • Shift + Sync (Right): Next Selection

Toggle Library Panel:

  • Shift + Sync

Library Source Selection:

  • Shift + Rotary

Toggle Tools:

  • BPM/Grid/Downbeat Tools: Shift + FX Mode (left)

  • Toggle Neural Mix Bar: Shift + FX Mode (right)

TEMPO ADJUSTMENT

This mapping prioritizes tempo control over track scrubbing when using the touch strip.

  • Shift + Left/Right Rotary: Adjust Tempo

  • Tempo range set to 8.3% for consistent ±0.2 adjustments when fine-tuning

FX nudging remains available from the previous mapping.

FILTERS AND EFFECTS

Top Knobs (Dual Function):

  • Default: Filter

  • Shift + Rotary: Neural Mix (Acapella)

FX Controls:

  • Shift + FX1: Echo Out

  • Shift + FX2: Brake Out

Standard FX1 / FX2:

  • Retain nudge functionality for track adjustment

EXPERIMENTAL

Track Scrubbing (Selected Deck Only):

  • Shift + Touch Strip to seek within the track

    • Position 1 = Start of track

    • Position 10 = End of track

TUNING / FIXES

Touch Strip Settings in djay Pro:

  • Speed: 7%

  • Reaction: 85%

These values reduce sensitivity and improve beat-matching control when using the touch strip for tempo bending.

DJPTraktor_x1mk2_2deck_mapping_102.djayMidiMapping (22.9 KB)

Hi! Unfortunately, I stopped because the procedure you described for activating the LEDs is too difficult for my level.
I also stopped because djay currently has many limitations for my use, compared to Traktor (I’ve opened several “suggestions” posts about it).
So I’m continuing to use Traktor, hoping that when djay implements what I need for my work, there will be a 100% working mapping for the x1, thanks to you and those like you who can get their hands on these things.
I can then map the x1 according to my characteristics and the things I use most, which I had already created. But without working LEDs, and without some useful software features, djay is currently on the back burner :frowning:

The updated mapping still needs tweaking :smiley: lol. it still doesn’t feel right. Ahhh. Yeah, and the touch strip doesn’t work well for nudging in DJay Pro. The FX button usage @James_Gillies came up with is far superior.

1 Like

No problem mate.

I’ll post the Bome project file and MIDI mappings anyway as I think @Greilark was interested in taking a look.

I hope it goes well with Traktor :oncoming_fist:

Cheers mate!

I’m overdue to post a bunch of files, I’ll try and do this on Friday PM when I’m back in front of my computer.

For clarity:

1.) Latest Kontrol X1 MIDI mapping

2.) Bome MIDI Translator Pro project file

3.) Djay Virtual In MIDI mapping

Rad, yeah.. I’m all ears to what you think about how I worked on the library surfing with the controller. It’s pretty comfy imo, but the touch strip.. yeah. Open to that. i considered shifting it to a deck to deck crossfader OR for video specifically but I couldn’t figure out where that crossfader midi signal is for the video only.

Good shout on the library browsing. Not sure I spent too much time on that as I defaulted to my XDJs - that said IIRC it seemed a bit clunky/limited in terms of how that worked compared to Traktor.

I’ll check out your version for sure to how you’ve got that working.

Cheers

James

Hi @Greilark,

Please find attached what I believe to be the latest versions of my Traktor Kontrol X1 MIDI Mappings, which take into account the LED Display bits and the Touch-based Library Auto-Expand which needs the Bome Project file.

The file extension for the Bome Project file is not authorised on the Algoriddim forum so I will DM you my email address so I can share it over.

That should give you everything you need. Once the Bome project is loaded you’ll see how it’s working with the “translators” for the X1s. There’s 16 of them, you likely only need 8 for a two deck set-up. My hope is that once loaded, you can just select the relevant X1 device in your Bome installation to attach the translators to. Tick-boxes basically, should take you less than 5 minutes to whizz through.

(You may wish to edit the X1 MIDI Mapping file names to suit, duplicate files my end caused some funky digits at the end!)

Bome also drives the auto-Expand of the Library.

IAC Driver Djay Virtual In.djayMidiMapping (2.2 KB)

Traktor Kontrol X1 MK2 - 3.djayMidiMapping (11.5 KB)

Traktor Kontrol X1 MK2 - 1 2.djayMidiMapping (11.1 KB)

Cheers

James

1 Like

Thanks for the update @James_Gillies!