ksp

If you are missing a detailed list of all Kontakt fonts, here is a little tool for you. This is a simple nki for Kontakt 5 which lets you display all font types on miscellaneous background colors for better readability.

UPDATE: since Kontakt 6 we can now create and use own fonts. Read this tutorial and use our font type generator

Read more »

ksp

Unfortunately once the initial wallpaper is set, we can’t alter the image file anymore. Even not by setting different initial wallpapers for each script tab. Because the last applied wallpaper will be the one and only initial wallpaper for the whole instrument.

But we can either offset the initial wallpaper that means moving it via set_skin_offset or we can use a label element to set up multiple backgrounds which is covered in this article. Even dynamically like switching them when hitting a navigation button.

Read more »

ksp

The instruments background image is called “wallpaper”. Its’ the basic background texture where all UI elements (knobs, buttons etc) get layered on top. Just to give you an example: we could take our default graphic software and design a realistic synth surface wallpaper (png file) containing “sockets” for some knobs and buttons with detailed shadows, light reflections etc. After that, we can create the individual knobs & buttons and place them exactly inside the designated sockets and areas by layering them on top of our background wallpaper.

Read more »

ksp

Like with any other programming languages in KSP there are also variables, arrays and constants.

They can only be declared inside the on init callback and can then be used throughout the whole script. So they are all on global scope by default and can even be used inside custom functions.
Read more »

ksp

The Basic code structure is very simple. We basicaly put most of our code into  callbacks

All callbacks look like this on <callback> ... end on

In general the code inside callbacks gets executed when specific events happen. For example playing a note on our keyboard always executes the “on note” callback.

So callbacks build a framework for our instrument and are mostly needed to communicate with different parts of the Kontakt engine.

Read more »