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

1 Like

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