Join GitHub today
GitHub is home to over 31 million developers working together to host and review code, manage projects, and build software together.Sign up
This library (hereby known as "Koala”) is a collection of functions and macros which enormously simplify the process of writing scripts in Kontakt KSP scripting language.
The usage of this library will improve significantly the look and readability of your scripts, as well as allowing super fast access to advanced functions not available with standard KSP code.
Big thanks to Sam Windell and his amazing fork of SublimeKSP. This library is entirely based on that. More info in the Wiki.
This guide assumes you are well-aware of what Kontakt Scripting is. If you don’t, please be sure to check out KSP Reference Manual (if you own Konakt, you will find it inside Kontakt documentation files).
We are not going to explain basic Kontakt scripting features, so be sure to know them well.
1 - Installation
Before being able to run Koala and simplify your developing process, there are some tasks that require your attention.
2 - GUI features
Koala Library features a ton of GUI functions to massively reduce the time you need to spend on scripting for your GUI.
- 2.1 - GUI features
- 2.2 - Create UI controls
- 2.3 - Set UI controls data
- 2.4 - Get default UI controls data
- 2.5 - Get current UI controls data
- 2.6 - Reset UI controls data
- 2.7 - UI control-specific functions
3 - UI Families
We wanted to be able to handle Scripts with a large amount of UI Controls. To do so, we introduced the concept of Families.
- 3.1 - What are UI Families
- 3.2 - Assign a UI Control to multiple Families
- 3.3 - Retrieve data by Family
- 3.4 - Reset data by Family
- 3.5 - Set data by Family
- 3.6 - Advanced functions
4 - Coding utilities and array operations
KSP lacks of some really important coding features which can make the developer save a lot of time. Coming to KSP from another language might be weird at first: we tried to make the passage easier, where possible.
5 - Realtime debugger
The Realtime Debugger is a set of functions which allow the developer to handle in a simple, extremely powerful way many annoying debugging processes.
- 5.1 - Getting started
- 5.2 - UI changes when using the Debugger
- 5.3 - UI debugging
- 5.4 - MIDI and Events debugging
- 5.5 - Assignable UI controls
- 5.6 - Live log console
- 5.7 - Groups debugging
- 5.8 - Live Monitor
6 - Groups
Groups management in Kontakt is not good. At all. It lacks of many useful features, such as Folders of Groups. This section might help handling groups in a more clever way.
- 6.1 - Introduction to Folders of Groups
- 6.2 - Organise Groups into Folders
- 6.3 - Process Folders of Groups
- 6.4 - Process single Groups
7 - Engine Parameters and Effects
Set of functions to help you add an FX and set its data without having to remember KSP's syntax (aka without having to go to KSP Reference Manual).
- 7.1 - Engine Parameters and Effects
- 7.2 - Add an FX
- 7.3 - Set Engine Parameters
- 7.4 - Get Engine Parameters
8 - Constants
Here's the collection of all the constants used by Koala and its functions.
- 8.1 - System constants
- 8.2 - UI constants
- 8.3 - Kontakt Fonts
- 8.4 - Array-based operations constants
- 8.5 - Math Constants
9 - Math and Bool
New Math and Boolean functions. Some of these are compatible only with Kontakt 5.6 and greater.
10 - Engine Math: porting of BigBob's Math Library
BigBob's Math Library is amazing. Koala brings it to the next level.