Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Surge <-> NKS Integration posted by aMUSEd on KVR-forum - discuss! #185

Closed
esaruoho opened this issue Dec 30, 2018 · 21 comments
Closed

Surge <-> NKS Integration posted by aMUSEd on KVR-forum - discuss! #185

esaruoho opened this issue Dec 30, 2018 · 21 comments

Comments

@esaruoho
Copy link
Collaborator

esaruoho commented Dec 30, 2018

On kvr

Based on the 64bit Mac VST build I have made a NKS version 
for use with Native Instruments hardware and together with 
a friend over on the NI user forum (Christos Adamos) we 
have converted and tagged the entire factory bank and all 
the third party ones available from the Github site. Christos 
also generated audio previews for each patch. So now 
Surge is pretty much fully 'NKS Ready' :)

The Dropbox link includes all the required user files, audio 
previews, NKS database integration files and image 
thumbnails for the Maschine/Keyboard screen browsers.

https://www.dropbox.com/sh/2gm4jtv6i101bbj/AAB__9m2i81cZIIPVPKX7axOa?dl=0

General setup and install info for NKS integration is here:

https://www.dropbox.com/s/hpb5s3g52kjyeil/Info.txt?dl=0

btw it works with the 64bit Windows VST2 version too.
@esaruoho
Copy link
Collaborator Author

69556f76-621a-4839-a45f-3e4fafa6280d

@baconpaul
Copy link
Collaborator

Is there anything we would do as a result of this ticket @esaruoho ?

@esaruoho
Copy link
Collaborator Author

esaruoho commented Jan 3, 2019

@amused you there?

@esaruoho
Copy link
Collaborator Author

esaruoho commented Jan 3, 2019

more pastes

NKS isn't a plugin format in its own right, it uses the VST2 but 
provides a means of integrating it tightly into NI keyboards and 
Maschine. So there are no binaries here, just support files 
(database entries, images, .json scripts, .nksf format presets and 
previews). 

If and when other issues are fixed hopefully those changes will 
also improve the NKS version, provided no one makes fundamental
changes to the architecture that alter automation IDs.
As long as from the hosts POV it still appears as the same VST 
and the automation IDs are all in the same order it should retain
 param mappings and won't need redoing each time (in other 
words pretty much the same constraints that would affect project 
recall in hosts). Obviously if any new automatable features get
 added then I might have to remake the template but I don't
 expect that to be happening in the near future at least. Things 
like MPE and resizing should make no difference.

from
https://www.kvraudio.com/forum/viewtopic.php?p=7268811#p7268811

@esaruoho
Copy link
Collaborator Author

esaruoho commented Jan 3, 2019

Not sure how NKS is packaged - this is really user 
developed unofficial NKS support, in most cases 
when a plugin developer becomes part of NI's NKS 
developer ecosystem they get access to the full SDK, 
but us users have managed to figure out how 95% of it 
works ourselves, we don't have the official support 
from NI though.

@esaruoho
Copy link
Collaborator Author

esaruoho commented Jan 3, 2019

As I said above several times now this is not a 
seperate coded version of the plugin, just some 
support files adding integration for NI hardware. 
It would be nice if it was integrated into the 
installers at some point but I have no idea how 
you would do that. NI provide those tools to 
official NKS partners via a SDK but user 
developed NKS versions have tended to be 
just created manually (often as in this case 
collaboratively between members of the NI 
user forums), no coding, no command lines,
 just saving files, taking screenshots, creating 
database entries. I have also said I have no 
problem with a link going on Github to the 
NKS files, but I'm not on Github myself and 
wouldn't know how to create a command-line convertor.

@esaruoho
Copy link
Collaborator Author

esaruoho commented Jan 3, 2019

here are the links that aMUSEd knocked together on KVR-audio forums:

  1. https://www.dropbox.com/sh/2gm4jtv6i101bbj/AAB__9m2i81cZIIPVPKX7axOa?dl=0
  2. https://www.dropbox.com/s/hpb5s3g52kjyeil/Info.txt?dl=0

info.txt attached:
Info.txt

Surge NKS thing is 87mb so can't attach it here. ouch!

@esaruoho esaruoho changed the title Rumblings of a NKS version Surge <-> NKS Integration posted by aMUSEd on KVR-forum - discuss! Jan 3, 2019
@baconpaul
Copy link
Collaborator

OK so this looks like a collection of ancillary assets to make the plugin work well on a particular bit of hardware that includes images and wav files. I don't think we want to check those into GitHub - I certainly don't and it seems the original user doesn't either.

My gut would be

1: Make sure the user includes the GPL
2: Ask the user to have regular pulls of the built AU and
3: Add a link to user documentation somewhere with a way to reach the user who built this and download,
4: then close this issue

but I'm glad to hear other points of view

@baconpaul
Copy link
Collaborator

I didn't even know GitHub had a wiki!

I'd approve a PR for doc/SurgeAndNKS.md or whatever if you want to go that route and just make a markdown file in the doc directory.

There's another issue for what to do with doc that @esaruoho is looking at.

@baconpaul
Copy link
Collaborator

I wonder if @mkruselj has any thoughts here?

@mkruselj
Copy link
Collaborator

mkruselj commented Feb 24, 2019

Usually NKS assets are supposed to be distributed along with the plugin, installed to required location(s) via the installer (and as such should be checked in the repo). I would love it to see Surge as an officially NKS supported plugin, which means it would be listed in Komplete Kontrol/Maschine in factory library section, rather than user library. This would alleviate the need for user digging through folders to install the assets, plus there are things that can be implemented plugin-side only, for which you would need NKS SDK.

I can ask around with NI peeps about getting you guys an SDK, AFAIK it's not a paid affair. If this goes through, Surge might be the first free plugin with in-depth NKS support, which would be both interesting and cool.

The only thing to note here is that NKS has no bearing on Linux platform, since Komplete Kontrol and Maschine are Win/macOS only.

@baconpaul
Copy link
Collaborator

Interesting and. Thank you

Before you ask no do you actually know how to use or test the plug-in api? I on!y ask because I don't and I don't want to bother ni if no one here can actually use the tool of course!

@mkruselj
Copy link
Collaborator

I will have to ask them about all that, since I've only developed Kontakt libraries with NKS integration, I don't have intimate knowledge of how is NKS integrated or tested when developing a plugin.

@mkruselj
Copy link
Collaborator

Didn't get much info so far, but one glaring thing that would need to be sorted out is that there has to be some sort of entity to which NI would sign a contract to supply the NKS SDK. So that entity would be "plugin developer", which is a bit tricky for open source software, right? I mean how would you prevent anyone from forking this repo and taking the NKS SDK along?

I am in Berlin for the whole next week so I can have more direct talks to NKS partnering team over a lunch or something. Will keep y'all posted.

@Bounga
Copy link

Bounga commented Jan 26, 2021

Wow! It would be so cool to have a NI integration. As a komplete (kontrol) / Maschine user I'd love to be able to manage Surge right from my keyboard / maschine. Is there any progress or official documentation?

@mkruselj
Copy link
Collaborator

There's no progress. Since Surge Synth Team is not an actual legal entity, we cannot officially integrate NKS into Surge (NKS SDK is not open source), unfortunately. I am still going to see if I can make NI change their mind, especially since I actually work for them, but this is not a guarantee of success.

At any rate, anything aMUSEd did is as far as it gets for the time being.

@Bounga
Copy link

Bounga commented Jan 26, 2021

@mkruselj Thanks for your quick reply and many thanks for your efforts at NI.

@arnthorsnaer
Copy link

I was just building VST version of Surge for use with Komplete Kontrol and was mentally preparing myself for the effort of creating the required files and saving all the presets for the NKS support. Just wanted to add to this thread that I'm very happy to have found this thread with the NKS support by @amused

I also appreciate the effort by @mkruselj in helping out here.

Native Instruments should try to find a way of enabling open source to participate in NKS. In theory, this could be achieved by having all registered open source instruments using NI or a placeholder entity in place of a legal entity. At the minimum it would be great to get a statement from Native Instruments about this. Perhaps if there is some forum for open source VST developers this can be brought to NI through those channels, that way it would not just be a single developer.

Just thinking out loud here.

@mkruselj
Copy link
Collaborator

mkruselj commented Jul 25, 2022

From my discussions with relevant persons at NI, enabling NKS for open source projects is not among their current priorities. Unfortunately.

TBH I am not sure if we will ever see the needle shifting from their side... One can only hope.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

6 participants
@arnthorsnaer @Bounga @mkruselj @esaruoho @baconpaul and others