ksp

Last modifiedby & filed under Kontakt Scripting (KSP) - Basics, UIs, Tutorials, Scripts and Tools, Kontakt Scripting (KSP) :: Basics.

Please note that this article is not about choosing the best and cheapest server for your needs nor is it about any marketing strategies!

when your instrument is finally ready to be published, you probably start thinking about a best way to distribute everything including upcoming updates.

One common practice is to separate the samples from the nki and resources. Which means offering at least two separate download files to your customers or users.
One zip for the samples and one for the rest (nki, nkc, nkr etc).

In this way, we save a lot of time by not constantly uploading several GB to our web server. For example when uploading single updates. Because usually updates only affect the nki not the samples. So there is no need to upload the whole package. But exactly this happens if using one zip file for samples & nki (or if using Kontakt’s monolith mode).

And don’t worry, if there are updates to be made to any of your samples you can still update them individually. Either by offering a third file or by adding them individually to the smaller nki zip.

This introduced practice here also reduces the server bandwidth. Imagine if thousands of users/customers download the whole package with all the samples instead of just a tiny update file.
And in case you want to keep an update history on your server, this practice even saves you lots of web space.

Distributing your Kontakt Instruments & Updates

Basically there are two similar variants. One or the other may be suited better, depending on your or your customers preferences.
Of course the variants can also be mixed.

VARIANT A – 2 files in total

ksp-best-update-practise-zip-samples

initial upload & initial download

  • create 2 zip files:
    > One for your samples (the whole sample folder, including all sub folders).
    > One for your nki file plus nkr & nkc files also data folder (and resource folder if you wanna publish that one, learn more).
  • Upload both zips to your server.
  • With updates only upload and replace the 2nd zip with your nki, nkr & nkc files
  • initial customers: offer both files for downloading. The large sample pack plus the latest update file with the nki, nkr & nkc.
    The customers should then extract both zips to the same instrument folder.

updates – NKI & Co

  • pack all your updated files into a new zip file (nki,nkr, nkc and probably also the data folder)
    make sure you keep the original file structure
    ksp-best-update-practise-zip-samplesA
  • upload this file and offer it to your customers as update.
  • tell your customers to extract the content into their instrument folder and to overwrite all the existing files

 

note: if you are working with external script files, you could just distribute the nkr file.

Sample Updates

  • at best duplicate your whole instrument folder first and make it your update folder
  • delete all none-updated samples from your update sample folder
  • add the update sample folder to the nki update zip
    make sure you always keep the original file structure
  • upload this file and offer it to your customers as update.
  • tell your customers to extract the content into their instrument folder and to overwrite all the existing files

Of course you can also create an extra third file just for the updated samples, like described in Variant B.


VARIANT B – 1 initial zip + multiple zip files

ksp-best-update-practise-zip-samples ksp-best-update-practise-zip-all
in this variant we separate first time customers (or initial customers) from returning customers who just want to update their instrument.
Initial customers get one “major file” including everything. Returning customers get the 2 separated files offered according to Variant A.

initial upload & initial download

  • create 3 zip files:
    > One Major Zip File, containing everything: samples and nki, nkr, nkc files
    > One zip file for the nki file, nkc and nkr file.

    > One for the samples (including the whole sample folder structure + sub folders) *
  • Upload all 3 zips to your server.
  • initial customers: offer the major zip file containing everything + the update file if there is any already (see below).

*) this zip is actually not necessarily required.
But it is always good to maintain habits & structure. Like when your customers get used to download samples and nki separately, later they may be missing that extra sample pack for eventual full re-downloads.

updates – NKI & Co

  • pack all your updated files into a new update zip file
    make sure you keep the original file structure
  • upload that tiny update zip.
  • initial customers: offer the major zip file + the update file
    don’t forget to give the same instructions as in variant A
  • recurring customers / updates only:  like Method A simply offer the small updated “nki-zip”

note: if you are working with external script files, you could just distribute the nkr file.

sample updates

  • create a 4th file and only include all updated samples.
    make sure you keep the original file structure
    ksp-best-update-practise-zip-all
  • upload and offer this extra sample update pack separately
  • tell your customers to extract the content into their instrument folder and to overwrite all the existing files. All non-updated samples should remain intact

 

 

How useful was this article?

something you didn't like? Please tell us before you rate!

Average rating / 5. Vote count:

No votes so far! Be the first to rate this post.

We are sorry that this post was not useful for you!

NOTE: highly negative votes may be removed without any reasonable given feedback!

Tell us how we can improve this post?

2 Responses to “KSP Scripting (NI Kontakt) :: BASICS :: distributing your instruments – best update & upload practice”

  1. Linden

    Thank you for this article. I am working on my first proper Kontakt Instruments and your articles are very helpful. I wonder how it is possible to lock the ksp script and also do you have recommendations for really small distributers? Are there website which are good for hosting Kontakt Instruments when you dont have a lot to offer or your own website?

    • YummyBeats

      Many thanks!

      The first thing you wanna do is to lock the script-tab by password. Just open your tab and hit the "Lock with Password" button.
      However this is not super save, so you can extra secure your script-tab by putting a slider on top of the "edit" button while disabling the sliders automation.
      For this simply create a new slider and position it on the very left and on the very bottom. Disable the automation and add a transparent png to your slider to make it invisible. Here is an example code:

      on init
      	declare ui_slider $scriptlocker (0,1)
      	$scriptlocker -> text := ""
      	$scriptlocker -> picture := "btn_scriptlocker"
      	$scriptlocker -> width  := 64
      	$scriptlocker -> pos_x  := 0
      	$scriptlocker -> allow_automation := 0
      	$scriptlocker -> help := "you got no access"
      
      
      	if(in_range($YOUR_UI_HEIGHT_IN_PX, 54, 540))
      		$scriptlocker -> pos_y := $YOUR_UI_HEIGHT_IN_PX-20
      		else
      			$scriptlocker -> pos_y := 34
      	end if
      end on
      

      In this way, however, you also lock yourself out. That's why you should store your whole script into "Resources/scripts folder as a simple txt file.
      In your script-tab hit "Apply from..." and chose "resources folder -> [your-script.txt]"
      Create the resources container then. Now your-script.txt gets stored inside the resoruces.nkr file.
      Of course you can edit your-script.txt inside the Resources/scripts folder at any time and create the resource container again.

      Alternatively you can also load the empty factory preset to clear your script tab an make it accessible again.



      Regarding distributing your instrument you can check out these websites:

Leave a Reply to Linden Cancel reply

use <pre> </pre> to wrap code blocks

use <code> </code> to wrap small code snippets

use basic html to style your comment

Your email address will not be published. Required fields are marked *