Personally I'm not convinced yet by the current shape of the KK 3.X development, and I really dislike the fact that NI decided to remove very useful functionality that KK 2.X already provided. I'm not strictly against KK 3.X, but I really doubt that NI can (or even want to) keep their promises in the near future to provide full feature parity before the MK2 has also reached its EOL. By looking at how MK1 owners have been surprised just a few days before KK 3.X was released, you can clearly see the company strategy which seems to be purely sales-driven, focusing on the new MK3 keyboard exclusively. My personal fear is that MK2 owners will have to face the same reality very soon, let's say in about four years already, seeing their gear declared as obsolete and no longer supported by NI (even though my personal MK2 is just half a year old only). As I can see, there's also a kind of pressure already to make customers switch to KK 3.X only and to forget about VST2 plugin support at all.
That current situation made me think about a possible way to get "the best of both worlds", being able to use both streams more or less in parallel on my Windows PC as long as my MK2 is still supported. While my daily work will surely be based on KK 2.X for the next year, of course I'd also like to check frequently how far the latest KK 3.X developments have progressed in the meantime.
At this point, big Kudos to Kymeia who finally inspired me in his related posting (https://community.native-instruments.com/discussion/comment/103010/#Comment_103010) to create a setup for a kind of "parallel" KK configuration which I'd like to share with other interested users below.
For all installed applications, like DAWs and plugins (including the KK standalone app and plugin instances as well) their Windows registry references always point to the same specific spots on disk. That's why I came up with the idea to write me a short batch file (in my case it's called "SelectKK.bat") which enables me to change the KK configuration from V2 to V3 (and vice versa) immediately. After setting my preferred KK version, nothing else needs to be done, unless that "default" needs to be changed again later. Of course, this all will only work if you have admin permissions, otherwise any pre-requisites (described below) as well as the batch file itself (for which I also added the code at the end of this posting) are useless and will just produce error messages.
Now, what comes in really handy is the fact that KK V2 and KK V3 use different locations to store their dedicated databases; from version KK 3.0.1 they even use their own dedicated scan apps. In fact, KK V3 is writing to a dedicated subfolder called "Browser Data" located within the original folder which was already used to store the KK V2 database (found in "C:\Program Files\Native Instruments\Komplete Kontrol"). The good thing is that any KK V3 launch or scan won't destroy the database previously created by the KK V2 application and vice versa.
Here are the pre-requisites I used to set up my "dual KK" configuration accordingly:
- 1) First I installed the latest reliable KK V2 version currently made available by NI (KK V2.9.6), launched its standealone application, checked all my preferences, performed a full VST2/VST3 plugin/user library scan by using its dedicated V2 scan app and closed the application again.
- 2) I copied the V2 standalone application's executable "Komplete Kontrol.exe" (to be found in "C:\Program Files\Native Instruments\Komplete Kontrol") into a self-created subfolder on my disk and named it "KKV2". I did the same for the related KK V2 plugin (in my case "Komplete Kontrol.vst3" located inside "C:\Program Files\Common Files\VST3"). Finally, also the V2 scan app ("ScanPlugins_x64.exe") and a V2 Maschine-related library ("MaschineLibAVX_x64.dll" - both located in "C:\Program Files\Common Files\Native Instruments\Komplete Kontrol") were copied over to that newly created "KKV2" directory.
- 3) After that procedure I "updated" to the current KK 3.X version (KK V3.0.1 - currently offerend by Native Access) by installing right over the existing V2 configuration. Again I opened up its related V3 standalone app, checked the preferences and performed a full plugin/user library scan by using its dedicated V3 scan app before closing KK again.
- 4) I repeated all steps already explained in bullet point 2) above, but this time by creating a related backup folder named "KKV3" for copying over all V3-related files.
- 5) Finally, I just had to create a batch file allowing me to manually select KK V2 or V3, as required. The code simply copies back the previously saved set of V2 or V3 files from their respective backup folders to the original location on the disk. If files already exist there with the same name, they will be overwritten by the actually chosen version instead. By using this method, all shortcuts and programs (like DAWs etc.) will always access the currently "pre-defined default KK" app (or the related plugin).
Of course, you could do all that "copy/paste" stuff manually each time you'd like to toggle between your "KK defaults", but for those who are further interested I have also provided the code I have used to make that batch file work. Please use it (or modify it to your own likings), but also keep in mind that you are doing all that at your own risk. If anything should really go wrong, just perform a new KK installation over your existing setup, and everything should be fine again. As mentioned, V2 and V3 databases seem to be independent from each other and won't be touched by this approach in any means.
@echo off
:Start
cls
echo KOMPLETE KONTROL SELECTION MENU
echo.
echo 1 ... Exit will close this task without applying any changes
echo 2 ... KOMPLETE KONTROL V2 will make the LEGACY app your new KK default
echo 3 ... KOMPLETE KONTROL V3 will make the RECENT app your new KK default
echo.
set choice=1
set /p choice=Please type in any valid number [1/2/3] and hit [ENTER] to proceed (default = %choice%):
echo.
if %choice%==1 goto :NoChange
if %choice%==2 goto :LegacyKK
if %choice%==3 goto :RecentKK
Goto :Start
:RecentKK
copy "C:\Program Files\Native Instruments\Komplete Kontrol\KKV3\Komplete Kontrol.exe" "C:\Program Files\Native Instruments\Komplete Kontrol\*.*"
copy "C:\Program Files\Native Instruments\Komplete Kontrol\KKV3\Komplete Kontrol.vst3" "C:\Program Files\Common Files\VST3\*.*"
copy "C:\Program Files\Native Instruments\Komplete Kontrol\KKV3\ScanPluginsApp3_x64.exe" "C:\Program Files\Common Files\Native Instruments\Komplete Kontrol\*.*"
copy "C:\Program Files\Native Instruments\Komplete Kontrol\KKV3\MaschineLibAVX_x64.dll" "C:\Program Files\Common Files\Native Instruments\Komplete Kontrol\*.*"
echo You have selected KOMPLETE KONTROL V3 as your new default app.
Goto :Exit
:LegacyKK
copy "C:\Program Files\Native Instruments\Komplete Kontrol\KKV2\Komplete Kontrol.exe" "C:\Program Files\Native Instruments\Komplete Kontrol\*.*"
copy "C:\Program Files\Native Instruments\Komplete Kontrol\KKV2\Komplete Kontrol.vst3" "C:\Program Files\Common Files\VST3\*.*"
copy "C:\Program Files\Native Instruments\Komplete Kontrol\KKV2\ScanPluginsApp_x64.exe" "C:\Program Files\Common Files\Native Instruments\Komplete Kontrol\*.*"
copy "C:\Program Files\Native Instruments\Komplete Kontrol\KKV2\MaschineLibAVX_x64.dll" "C:\Program Files\Common Files\Native Instruments\Komplete Kontrol\*.*"
echo You have selected KOMPLETE KONTROL V2 as your new default app.
Goto :Exit
:NoChange
echo No changes have been made to your configuration. Aborting task.
:Exit
pause
As mentioned, I'm using Windows, and the described method works flawlessly to me. At least I couldn't spot any drawbacks so far. I'm sure a similar solution woud also work for MacOS. Please feel free to contribute here by sharing your ideas. In case you'd like to propose other approaches which are more elegant, advanced or even intelligent from your point of view, you're are very welcome to share your ideas with the community.
@Kymeia:
Thanks again for your general information on which my approach is based on. As you seem to be a Guru when it comes to test any operational scenarios like the one here, using KK V2 and V3 streams in parallel, maybe you could also share your opinion. Did I miss something essential in my approach? THX.