premium article

Posted by & filed under KSP Scripting (NI Kontakt) - Tutorials, KSP: Custom Scripts & Functions (Plugins).

this lightweight script creates a button grid with as many buttons you like. By default there are 4 buttons in a row but you can adjust the matrix (row number and column number) by simply changing a few variables. You can also adjust the button widths & heights, you can position the whole matrix and use custom button images. This matrix is useful to create scrollable areas or a pagination area like selectable tag filters or fx racks (as seen in many modern Kontakt libraries)


Sublime Text 3


Creative Commons Attribution 4.0 International License.
You may use this ksp script, modify it, build upon it, redistribute it, as you like (even commercially), as long as you keep all credits inside the script code.
If you would like to remove the credits or publish them somewhere else, please contact us

Download all files to this article

  • NKI file: open scipt tab  premium
  • open resource container
  • additional ksp script file for sublime 3 premium


Adjustable Variables – Modify Grid

on init
 declare const $BTN_COUNT_ROW := 4 // sets the amount of buttons in a row
 declare const $BTN_COUNT := 32 // sets the overall button amount
 declare const $MARGIN_TOP := 12 // sets the overall top margin to adjust the y-position in px
 declare const $MARGIN_LEFT := 0 // sets the overall left margin to adjust the x-position in px, default is centered
 declare const $PADDING_RIGHT := 4 //sets the right space between the single columns / buttons
 declare const $BTN_WIDTH := 121
 declare const $BTN_HEIGHT := 29
 declare @btn_image_name := "MyImageName_"
end on
$BTN_COUNT_ROW := 4 here we can set the columns or amount of buttons inside a row in this case we got 4 buttons a row
declare const $BTN_COUNT := 32 here we can set the overall amount of buttons. In this case we wanna create 32 buttons
declare const $MARGIN_TOP here we can adjust the y-position of the whole matrix in px
declare const $MARGIN_LEFT here we can adjsut the x-position of the whole matrix in px
declare const $PADDING_RIGHT here we can define a spacer between the single buttons or columns
declare const $BTN_WIDTH := 120 here we can set the button width in pixels. In this case it’s 120px
declare const $BTN_HEIGHT := 28 here we can set the button height in pixels
declare @btn_image_name := "MyImageName_"here we can set a custom image for our buttons. Each button has an individual image and we can set any image filename we want. To add individual images for each button simply create image files like this: “MyImageName_0.png”, “MyImageName_1.png”, “MyImageName_2.png” and so on.

premium content


Leave a Reply

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