Hi ! Just discorvered the project. So as far as I understand, ReaKontrol seems to bring support of NI keyboard special key (play, rec etc) to REAPER. Good !
Question: it seems mac only, any plan for other OS ?
Also, how does it works ? (is it using MIDI CC, OSC, or any other type of signal ?)
Also, a question - how hard would it be to make the mixer volume controls go in 1 dB steps precisely, and have current 2 decimal points precision when holding Shift?
Hello! Would someone beable to help troublehsoot why I can't get ReaKontrol.dll to load / do anything?
I've disabled all the MIDI Inputs and Ouputs of my Komplete Kontrol MK2 S88 in the MIDI Devices Preferences. Then, I placed ReaKontrol.dll in my UserPlugins directory -- but when I load REAPER -- I don't see any of the transport controls illuminate or anything like that.
I double checked I do not have any of the midi ports aliased (which was the issue for someone else on these forums)
Is there a window, or log file anywhere of what plugins REAPER sucessfully loaded, or are currently running, etc?
Try this in the following order:
0. Keyboard switched off, Reaper not running:
1. Start Windows task manager and go to services tab
2. Right click „NIHostIntegrationAgent“ (aka NIHIA) and restart the Service
3. Switch on your keyboard
4. Make sure the keyboard shows the MIDI screen. This shows that NIHIA communicates with the keyboard.
5. Start Reaper. Now all lights on your keyboard should turn on.
I noticed that NIHIA has gotten more flakey with the latest MCU update. Restarting the service as described above may resolve issues of NIHIA not communicating properly with the keyboard.
It is not necessary to deactivate all MIDI ports. Just follow the steps in the pdf manual.
Thanks for the reply, no luck though. I know REAPER is loading the DLL, because when REAPER is open, I cant delete "ReaKontrol.dll".
And I know my Keyboard is in working order because when I load up Ableton Live, all the lights on my KKMK2 light up.
What to check next?
Two questions:
1. Did you follow exactly the above suggested procedure without success, i.e. did you restart NIHIA in the order described above?
2. You say "ReaKontrol.dll". This is actually not the name of the plugin. The name is "reaper_kontrol.dll". Did you rename it? Don't do that.
If both of the above do not lead to success then maybe there is a timing issue. Currently, immediately on startup of Reaper, the extension
a) checks for the presence of a MIDI device "Komplete Kontrol DAW - 1" and
b) sends a MIDI command via "Komplete Kontrol DAW - 1" to NIHIA which in turns sends a message to the keyboard which opens the deep integration session.
It is possible that this mechanism is not the most robust. Depending on the thread architecture of Reaper it could be possible that on some installations it takes Reaper a few ms longer than on others to recognize the MIDI devices and report them to the plugin which is loaded on startup. Another possibility is that the MIDI command is sent to quickly. In the midterm I may revisit this topic and make the startup mechanism more robust, e.g. by forcing to manually include the keyboard as control surface.
Two questions:
1. Did you follow exactly the above suggested procedure without success, i.e. did you restart NIHIA in the order described above?
2. You say "ReaKontrol.dll". This is actually not the name of the plugin. The name is "reaper_kontrol.dll". Did you rename it? Don't do that.
1. Yes, exactly
2. Sorry, I am typing from memory either at work or on my phone. I did not rename the plugin.
3. I am a programmer so Ill just try downloading your source code on github and compiling the plugin with your aforementioned timing changes, unless you have any other ideas?!
Hmmm, another potential problem could stem from a (previous) Mk1 installation... Did you ever have a Komplete Kontrol Mk1 Keyboard connected to your PC?
You could also do a quick tests by sending the “Hello” command to your keyboard to see if the lights go on (that would prove that Reaper can talk to the keyboard correctly): remove the plugin from the user folder. Then, from Reaper, send MIDI CC 0x01 (i.e. “Modulation”) on channel 16 to “Komplete Kontrol DAW - 1” . You can even do that quick and dirty with ReaControlMidi, or you write a few lines of jsfx.
When I use ReaMIDI or whatever it's called to send the CC 0x01 HELLO message to my KKS88MK2, nothing happens. Additionally, I downloaded the source code of your reakontrol branch, enabled the debug defines, added some new ones, etc -- then compiled and tested -- and determined that when the plugin loads in REAPER it's able to locate the input and output of the kkmk2, and even gets to the point where it init's the control surface:
Yet nothing visible happens on my KKS88MK2....any ideas? When the keyboard receives the HELLO, does the KKS88MK2 have to be on a particular screen, or does any setup need to happen inside the KKS88MK2 settings anywhere, etc? (I think you said the screen with the MIDI ports but obviously that's not working =p)
p.s. Note: Ableton is able to take control of the KKS88MK2 just peachy
Upon sending HELLO (you can even do this with MIDIOX) additional lights should illuminate. If this is not the case the culprit could be:
- Firmware of keyboard: Check the Version, in case of doubt you could simply re-update it (= reflashing)
- NIHIA and NI Hardware Service: Uninstall and then reinstall
You can download both the firmware updater as well the drivers directly from NIs support pages. I recommend this over using Native Access.
If none of this helps I am out of ideas. Maybe something in the underbelly of your Windows installation and NI drivers? The fact that Ableton works is not a reliable indicator because NI supplied two versions for deep integration (initially OSC based and later - I read - also using the newer MIDI protocol that ReaKontrol uses too). However, when I checked last time the Ableton integration was still using OSC.
Would really love to see that TEMPO+4D encoder to set tempo explicitly rather than tapping.
Implemented in latest release v0.94. However, using the METRO button followed by 4D encoder. This has to do with limitations in NI's MIDI protocol... Check out the updated manual to take full advantage of the new functions.
Awesome work Mr. brummbear!
I hope you are on Natives pay list
Sadly the Instance Focus gets lost when you rename the Komplete Kontrol plugins in Reaper. The tag "VSTi: Komplete Kontrol" must be intact.
I normally like to rename my KK Plugins to what is really inside.
This way its easier to not get lost when you have like 10 or 20 KK in your project.
Maybe there is a way to program that all Plugins with a "KK" or a "*" at the beginning of the name gets also recognized.
Like "KK Strings" or "* Strings" for example.
Awesome work Mr. brummbear!
I hope you are on Natives pay list
Sadly the Instance Focus gets lost when you rename the Komplete Kontrol plugins in Reaper. The tag "VSTi: Komplete Kontrol" must be intact.
I normally like to rename my KK Plugins to what is really inside.
This way its easier to not get lost when you have like 10 or 20 KK in your project.
Maybe there is a way to program that all Plugins with a "KK" or a "*" at the beginning of the name gets also recognized.
Like "KK Strings" or "* Strings" for example.
This can be done very easily even without programming knowledge. You can change the detection yourself to whatever prefix you like (e.g. your suggested ones) by simply changing the string in the source code and then compile for yourself:
If you don't want to get that involved you can still rename the fx instances - you only need to keep the prefix "VSTi: Komplete Kontrol" and then add whatever you have "inside", e.g. "Strings"
This can be done very easily even without programming knowledge. You can change the detection yourself to whatever prefix you like (e.g. your suggested ones) by simply changing the string in the source code and then compile for yourself:
If you don't want to get that involved you can still rename the fx instances - you only need to keep the prefix "VSTi: Komplete Kontrol" and then add whatever you have "inside", e.g. "Strings"
Thank you for your prompt reply!
When i open the reaper_kontrol.dll with a text editor the only thing i can find is
"GetParamName VSTI: Komplete Kontrol" but this doesn't work.
I guess i need to open the dll with a different tool right?
(If that is not your cup of tea you might get away with a Hex Editor rather than text editor. You could try to change the string to something shorter and make sure you have a 0x00 value as end of string delimiter after the last character.)
I do not plan to change from the standard in future updates though. Hence, if you fiddle like that you would have to do this for every future update of ReaKontrol or miss out on upcoming improvements...
MIDI editor: I press "QUANTIZE" on Komplete Kontrol S-61 kk2. Instead of quantization, a window pops up: "Track Recording Settings: Track 1"
What did I do wrong? Forgot something?
MIDI editor: I press "QUANTIZE" on Komplete Kontrol S-61 kk2. Instead of quantization, a window pops up: "Track Recording Settings: Track 1"
What did I do wrong? Forgot something?
I'm not sure what I'm doing wrong, but I clearly am doing/not doing something that will make this work.
I tried installing via ReaPack, but that didn't seem to load everything (missing the dll file). I then tried to follow the manual instructions, but that didn't seem to work.
Next up I tried building the script, which I've never done before, and which didn't work for me. What file do I use to put the amended make --build . --target install command line? Is that the .dll and do I just open that in Xcode?
Hey, cool project! Never tried it with my old Kontrol S49 but might give it a go soon.
I've started an attempt to do sort of the opposite: Making NKS preset browsing possible WITHOUT Komplete Kontrol keyboards and (almost) WITHOUT Komplete Kontrol software. Thought some of you might be interested in this as well: