This is a fork of the repository originally started by James Teh.
ReaKontrol supports Komplete Kontrol S-series Mk2 keyboards on PCs running Windows and OSX*
A-series and M-series are supported with less functionality.

Technical Notes
The plugin is a single small file coded in C++. A strong emphasis is put on CPU efficiency. All basic functions follow NI's design intent for the officially supported DAWs to maintain maximum compatibility with future updates of NI's drivers and firmware.

Preview for upcoming release:
The next release will introduce "Extended Edit / Arranger" functions in ReaKontrol not currently offered by NI's deep integration for any other DAW...
They will be useful when live looping, layering or quickly sketching phrases and small arrangements.

Hello, first off Thank you so much for your expertise and time!I just received a S49 Mk2 and plugged in your fix and it works great! I can now use the transport and mixer and this makes it a great well rounded package! Still learning, but makes things much easier! Thanks again!

Downloaded Reaper_Kontrol.dll today but after fiddling around with it I had to give up..

The "old" version dated [12/20/2019 09:21 PM 308KB] things like KK MK-2's Transport LED's, Rotary knob/ blue LED light (by the Mixer button)and SOLO/MUTE worked (on my system.. And yes worked again after I restored it).. Not so after having overwritten it with the newer reaper_kontrol.dll dated [12/29/2019 11:59 PM 304KB] (on my system)..

Carl..

__________________
BorsingStudios.com represents aspiring new talents on a budget by offering studio time/on-line marketing support in the true "spirit of Cockos".

Halp! My M32 partially works in Reaper - the knobs and transport buttons work, but the keyboard itself does not. I was able to get my M32 to work in FL Studio, but Reaper is still giving me fits. I'm including a screenshot of my MIDI settings in Reaper just to make sure I haven't forgotten anything. Anyone have any other suggestions? TIA!

Halp! My M32 partially works in Reaper - the knobs and transport buttons work, but the keyboard itself does not. I was able to get my M32 to work in FL Studio, but Reaper is still giving me fits. I'm including a screenshot of my MIDI settings in Reaper just to make sure I haven't forgotten anything. Anyone have any other suggestions? TIA!

Your MIDI settings should not be the problem. Maybe something trivial? Did you set track input to the M32 MIDI, Monitor Input?

Your MIDI settings should not be the problem. Maybe something trivial? Did you set track input to the M32 MIDI, Monitor Input?

I seem to have had a little bit more success. When I enabled my M32 on a track, I was able to record some notes, but still got no sound while playing live (until I saved the audio file and played it back).

Is it possible to get a KK controller to work within Reaper, or can it only be done while recording to a track? Is this a limitation with the M32 in Reaper?

Edit/update: I installed the DrivenByMoss 4 Reaper extension and I get the exact same functionality as I do from the ReaKontrol extension. The transport controls work, the knobs work, and I can record to a track with no sound, but the keyboard itself still does not work within Reaper itself.

Edit/update #2: I turned on "Record monitoring" for the track, and I can now hear what I'm playing while recording to a track. So I'm like 75% there...

Edit/update #3: With "Record monitoring" turned on and the track armed for recording, I can now play and hear the instrument on that track even while not recording. I think that does it!

Edit/update #4: A bit of advice: Download and install the ASIO driver to remove/reduce latency.

Consider this case solved, I'm happy with how it works in Reaper now. Thank you for everything!

Consider this case solved, I'm happy with how it works in Reaper now. Thank you for everything!

Glad you figured Reaper out which can take a while if you are coming from another DAW. I would suggest you still read the ReaKontrol manual, especially all the recommended Reaper settings (like Automatic Record Arm etc). These settings can enhance your workflow tremendously.

One thing I find strange however, which is a couple of days ago, whilst "setting it "all" up..

Komplete KonrolDAW -1 thing disappeared, never to be seen again.. That is until I uninstalled REAPER using REVO Uninstaller PRO and re installed it again.. But now if I activated MIDI IN/OUT for KOMPLETE KONTROL -1 / KOMPLETE KONTROL EXT-1 I got a popup telling me it could not be activated.. Despite the fact it WORKED?

Anyways, it seems to be back to "normal" right now and I've read somewhere NOT to activate the KonrolDAW -1 Thing? and it works fine so far.. That is until I restarted REAPER and my Kontrol MK-II, which seemed to work again after rebooting..

Oh and MERRY CHRISTMAS/MAG as DJT says

__________________
BorsingStudios.com represents aspiring new talents on a budget by offering studio time/on-line marketing support in the true "spirit of Cockos".

I have ReaKontrol working flawlessly with Reaper 6.02. However, I can confirm that the NI drivers behave quite flaky. If MIDI devices disappear ReaKontrol is not to blame... it is those unstable NI driver's. As you experienced you may have to reboot Windows if things don't work initially. Once Reaper is running and ReaKontrol recognizes the keyboard via the NIHIA service everything should be rock stable.

Irrespective of the above I may be able to make the recognition in ReaKontrol more robust, but this still requires the NI drivers to run properly in the first place.

Regarding your question how to configure the Komplete Kontrol MIDI devices in Reaper: Please check out ReaKontrol's manual for answers to these questions (link in the first post).

Quote:

Originally Posted by BorsingPhoto

[Oh and MERRY CHRISTMAS/MAG as DJT says

Hoping we can make this world an open and better place by treating everybody and our planet respectfully, sharing (incl such little things like audio plugins..) and leaving preachers of fear and hatred behind. Happy Holidays!!

Is the NIHostIntegrationAgent and / or ReaKontrol only really viable for "S" keyboards or also for "A"s ?

I recommended an A49 to a friend of mine, and would like to have him use the Controls with Reaper.

As he is very up to speed with software and Reaper, he also could do the configuration files for CSI, if it's possible to get the communication between CSWI and the keyboard decently going.

Thanks !
-Michael

I have not tested ReaKontrol with A or M series, but it should also work (obviously with less functions due to the reduced HW features in the keyboard itself).

And of course your friend can also use all the other modes available:
- Out of the box it should support the MCU protocol for transport (although NI only implemented the bare minimum). Use it directly with Reaper's built in MCU support or route it through CSI.
- he can use the extended NI MIDI and SysEx commands by sending the HELLO command to the keyboard. In that case MCU is disabled but he has more control over how to use the buttons. Again, can route it through CSI. Requires understanding NI's proprietary protocol which is easy if he looks up the sources on Github
- he can also use another plugin extension "Driven by Moss" which offers similar functionality like ReaKontrol.

It depends on what he wants to achieve. In my opinion the NI keyboards really shine in combination with the Komplete Kontrol VST and Instance Focus. It is such a great workflow, even if the HW itself (like keybed etc) may only be average.

Because I am blind I pourchased a kontroller Keyboard from native Instrument If you have Instruments that supports the nks standard you can simply browse presets and you have a good speech-feedback. Could you please describe wich keys to use for advanced edit mode etc. In the manual you hafe pictures but they could not be read from the screenreader so I don't know wich button to press.
Thank you and thank you again for the great work!

Weird things going on with my S61. I can get the plugin to respond to Transport control (yay), and am pretty confident I can add Loop functionality. But weird things happen when I hit the nav buttons (blue right/left arrow) on the keyboard.

As soon as I do that all the transport lights on the S61 go dark. But what's even weirder still is that the plugin does not see any MIDI messages from the nav light button press. I've looked at the Ableton scripts, and the code is looking for the right midi message, and in fact it will spit any received incoming message to the console. But is shows nothing when the nav buttons are pressed!

EDIT: It gets even more interesting. If I launch Komplete Kontrol standalone, the only transport button that works is record (though it sees FFW and RWD). It seems that Komplete Kontrol intercepts everything else.

Without the Nav Buttons able to be seen by the plugin there isn't really much that can be done. The best I can hope for is being able to light up the transport LEDs. As it is, the functionality in the mcu.cpp file I'm working with is less than the baseline reaper integration available by mapping the Kontrol-DAW input as a MCU control surface. Wish I had better news.

There must be some missing link somewhere. Jürgen from MOSS got the MK1 working, however I think he directly captures the USB stream instead of the MIDI stream. But I could be wrong, can't recall 100%.

In any case: does the MK1 maybe need some kind of "keep alive" MIDI pulse?
I know the Behringer devices (X-Touch) need those in order to function.

That's a good idea. Once I'm done with work (should be tomorrow), I'll do the same and see if it works. We could contact Jürgen and ask how he did it. But maybe he is not very keen in sharing that knowledge. Not sure.

@_Stevie_ & @DrFrankencopter
To sum the MK1 stuff and maybe give some additional feedback (because you are on the right path):

When i understand the situation correct i think you really need to tinker with jcsteh's mcu code.
---
As brummbear mentioned some posts before he has removed the MK1 test code which is still available in jcsteh's repository.
The MK1 uses a complete different control protocol than the MK2 (someone raise his voice if that's wrong). I think it's the MCU (Mackie Control Universal) protocol. There are some posts on the native instruments forum and FAQ about the MK1 MCU support. I have only found one article in german, maybe you can search for an english version. https://support.native-instruments.c...TE-KONTROL-MK1

In general, as i understood correct there was never a working MK1 version in reaKontrol, even not in the jcsteh repo. MCU seems to be transferred via the MIDI SysEx stuff. There are some repos on github which may have some general Mackie/MCU information (https://github.com/search?q=mackie). On the NI website, there are also some threads about the MK1 MCU stuff like

To get a working MK1 support in reaKontrol, someone owning an MK1 (or who has access to one) has to reverse engineer the MCU messages for the MK1 e.g. sniffing the messages when the MK1 is connected to Ableton or some other DAW with MK1 "Midi/MCU" support. If there is a documentation about the MCU codes used for the MK1 somewhere it may help. Then a general MK1 support needs to be hacked back into reaKontrol and then - try&error until it works.
---

TL;DR: @DrFrankencopter i think you are right and currently the only person here who has the hardware to get the MK1 support working.

@__Stevie__ You asked some posts before: I don't think that my current reverse engineering of the NIHIA/NIHA is helping to get your MK1 working.
If the MCU messages are also transported via the NIProtocol - then maybe but don't count on that. Also i can't test it, i can only test with my MK2 which is just too different.

Because I am blind I pourchased a kontroller Keyboard from native Instrument If you have Instruments that supports the nks standard you can simply browse presets and you have a good speech-feedback. Could you please describe wich keys to use for advanced edit mode etc. In the manual you hafe pictures but they could not be read from the screenreader so I don't know wich button to press.
Thank you and thank you again for the great work!

Hello pianist_85,

I imagine your screen reader does read the text, only the pictures showing the buttons on the keyboard are a problem. Further I assume that you have figured out how the standard functions work (just like per NI official user manual).

So here come the "extended edit" functions that I implemented on top of the normal behavior:

* Activate Ext. Edit Mode = SHIFT + push 4D Encoder

Once you have entered this mode:

* Insert New Track = push 4D Encoder. Note: If you read the manual I show tips how to make Reaper always insert a track with KK on it. This may be particularly useful for you as well.

Basically, @terminar summed it up nicely in his earlier response (thanks for that!).

I would like to add a few things for clarity though:

* The MCU protocol has always been supported by the Mk1 (the Mk2 initially did not, but NI added a rudimentary MCU protocol at a later point also to the Mk2). When you switch on the keyboard (Mk1 or Mk2) and NIHIA is launched by your operating system the default MIDI language on the DAW port is the MCU protocol. BUT: The MCU protocol as implemented by NI does not help much for real DAW integration on the Mk2. The problem is that NI only implemented a few basics like transport control. The more interesting stuff does not work with MCU on the Mk2. On the Mk1 maybe they added some proprietary stuff even to MCU to at least make instance focus work (I don't know, but suspect that this could be the case).

* For advanced DAW integration NI introduced a new, proprietary MIDI protocol based on CC and SysEx messages. Let's call it the "NI DAW MIDI" protocol to distinguish it from ordinary MCU. In order to use this mode you have to tell NIHIA first that you want to speak this protocol rather than MCU. This is done via the HELLO command (see this thread further above). NIHIA respond with the HELLO command and the protocol version of the connected keyboard to acknowledge that it has switched to the NI DAW MIDI protocol and disabled the MCU protocol for that session. You do not need a fancy extension to test any of this: You can simply use a MIDI tool like MIDIOX or whatever and just send the HELLO command to NIHIA (well, you send it to "KOMPLETE KONTROL DAW -1" or whatever your MIDI port name is, but it ends up in NIHIA). The nice thing is that when you do this you can simply watch all the MIDI messages when you press buttons on your keyboard etc. This is what I did to reverse engineer it in conjunction with DBM sources by Jürgen.

* ReaKontrol never worked with the Mk1 although James Teh tried. The problem for him and for me always was that we do not have a Mk1 and it is terribly inefficient to code anything if you do not have the HW. This is by the way also the reason why the A and M series - while being supported - may show some tiny issues such as not 100% correctly scaled levels in Mixer mode. The A and M series use slightly different subflavors of the "NI DAW MIDI" protocol (there are 3 flavors). But all in all they are close enough to work with what has been implemented and tested for the Mk2 S series.

Since you have a Mk1 it should not be overly hard to debug what James tried early on (which I commented out and removed eventually). Once you have solved it it should be fairly easy to bring it back into ReaKontrol.

PS: The IPC communication that terminar is looking into is unrelated to Mk1 specifics. It is rather an attempt to check if we can make ReaKontrol even fancier by not just relying on the "NI DAW MIDI" protocol which was meant for DAW integration. Rather we may be able to additionally mimic being akin to a Komplete Kontrol software or Maschine software and thus gaining much more control over the buttons, screens, light guides etc. But this is still an early investigation, might turn out to be to complex... It would go way beyond just "simple" deep DAW integration.

@brummbear, thanks for the response. From the symptoms it would seem that the "HELLO" message is not getting through to my S-61, and it's just communicating with regular MIDI messages and hiding some of the buttons from me. I'll do some more digging this evening.

Yes, my plan was to do my best to get the Mk1 working in a separate file, and once it's confirmed to work it can be merged back into your main branch. Hopefully this will make the eventual re-integration easy, and should only require a simple detection logic in the main.cpp (which was already in there before).

I'm not sure what Dev Environment you're using, but I've got it building/running on Visual studio, and the debugging with reaper is nice...I can set breakpoints when midi events are received. It's helpful. I'm going to look into MidiOx too.

@terminar, thanks for your messages too. I can confirm that the basic transport functions work when using the instructions that you linked. But at least on my setup none of the track navigation nor display functioned (just showed Midi CC #'s).

I have spent 10 very frustrating days with a brand new and dreadful Arturia Keylab Mk2. This product and the manufacturer support are poor, at best. It is boxed up ready to return to Thomann.

Every time you hit A4, (no matter where it is even moving it about with the octave keys) there is a pause before any sound!!! It is unplayable garbage. And the arrogance of their support team has to be experienced to be believed. Additionally, rapid pressing of the A4 key will trigger a number of different, useless and random behaviours in Reaper, and in Studio One Professional.

I installed it several different ways (their support had no idea... seemed they were just guessing). I suspect it is a nice looking bit of hardware, with dreadful code and a piecemeal series of software components and drivers cobbled together to make it work somewhat.

I have just found out that my Presonus Faderport 2 works absolutely perfect in Reaper (MCU) so I really only need a keyboard for its keyboard... I had hoped the Arturia would at least provide nice control of the Analog Lab 4, but even that is a complete joke on my setups... even the search box fails to take input from my Macbook keyboard!!!

If there was a.nice keyboard (really good synth feel) rather than a weighty piano action - Arturia was okay in this respect at least... anyway, a decent keybed with 49 keys minimum, and a few drum pads would be a bonus... although I guess a separate device could handle that?

I think this might be my first question here... I have tended to find my own way around Reaper, and we now have our own dedicated Ninjam server and fully encrypted chat platform that work incredibly well for jams, sessions and lessons, so Reaper is The Way Forward in our pro environment as well as in the home studio.

I happily use keyboards by Yamaha and Kawai (and Roli), but I feel that NI keyboards also will do fine, but they are especially crafted for use with the Kontrol software and hence their "interface" controls are in focus.

I seem to remember having read that they use keys by Novation so that might be an option, as well.

Thanks for the reply Michael. Arturia even ship a Reaper overlay in the box, and claim it has mappings for Reaper thar can be configured in both their midi manager, and via the keyboard itself. Not True. Every time I set up the keyboard, it decided to change the keyboard mapping to Reason,! And it did this 30 times!

Based on my experience over 10 days, this keyboard has way too many software bugs to recommend on ANY daw. Just as an example... say you want to access rtheir Analogue Lab 4 plugins... and you quite reasonably want to search the 6,500 sounds... but not by scrolling through all of them, so you go to the box labelled “search” and it refuses to respond to keystrokes from the computer - thus, it is practically impossible to search for sounds.

How a company who can come up with a product as well designed as the Keystep can produce this Keylab Mk2 to such a poor standard is inexplicable.