At a Glance
A modern Syntax for KSP
Introducing local variables, functions and data structures in a modern syntax - delivering cleaner, more readable, and maintainable code.
Learn more →Easy Transition from Sublime
Simplyfying migration by supporting most Sublime KSP
features and ensuring compatibility as well as ease of integration with existing codebases.
How to Install
Install the compiler as a build system in Sublime Text, use it in the command line or install the VS Code plugin.
Learn more →Get the Latest Version
Download the latest stable release of cksp
from the GitHub repository.
Or stay up-to-date with the latest features and improvements with the current alpha
release.
Report a Bug
If you encounter any issues or have suggestions for improvements, please report them on the GitHub repository. Your feedback is highly appreciated.
Learn more →VS Code Extension
Discover CKSP Tools, a VS Code Extension for syntax highlighting, go-to-definition, hover documentation, Kontakt log output, and more. It offers a seamless development experience for Kontakt scripts.
Learn more →What is this?
While it can also be used with the vanilla KSP syntax, it is designed to be used with the cksp
syntax, which is a modified version of KSP with elements from lua, TypeScript and python.
The compiler is fast taking at most a few seconds to compile big projects. The output is a standard *.txt file that can be loaded into Kontakt as usual, either through the GUI or updating the script file in the resources container.
This documentation serves as an introduction to the CKSP syntax and provides descriptions of basic language constructs. For the sake of completeness, the following descriptions and explanations also include constructs that already exist in Vanilla KSP
or other iterations of KSP compilers. Notably, many syntax ideas and concepts have been adopted from nojanath's
fork of Nils Liberg's SublimeKSP plugin
. This fork has become a near replacement for the Vanilla KSP
syntax, and to make the migration to CKSP as smooth as possible, most of the syntax features introduced by SublimeKSP
have been adopted. Examples include most preprocessor functions, automatic type-casting, and for-loops
. These features are further elaborated in the section Adopted Features and behave identically, while others have been extended or modified; these are detailed in the chapter dedicated to the CKSP Syntax.
Currently, cksp
is under active development, just like the CKSP Tools extension for Visual Studio Code. While the extension already provides many useful features, there are still some missing functionalities that I plan to implement in the future. Since I am working on this project in my spare time, I cannot provide a specific timeline for when new features will be added or bugs will be fixed. However, I am committed to continuously improving the cksp
project and making the compiler open-source eventually. If you have any suggestions or feature requests, please feel free to open an issue in the respective GitHub repositories.