EvilDragon
KSP Wizard
Feb 6th, 2024 - version 1.18.2
This hotfix update resolves another issue pertaining to .sublime-syntax and .sublime-color-scheme clashing with old .tmTheme files.
Jan 31st, 2024 - version 1.18.1
This hotfix update resolves teething issues caused by the addition of the new compiler option, Additional Branch Optimization Steps
Jan 29th, 2024 - version 1.18.0
This update adds support for new engine parameters and callback type introduced with Kontakt 7.8, along with the following changes:
Update from Sublime Text's Package Control or from GitHub repository.
This hotfix update resolves another issue pertaining to .sublime-syntax and .sublime-color-scheme clashing with old .tmTheme files.
Jan 31st, 2024 - version 1.18.1
This hotfix update resolves teething issues caused by the addition of the new compiler option, Additional Branch Optimization Steps
- Fixed compilation not working if task functions were used
- Fixed incorrect default value for Additional Branch Optimization Steps option (it was set to true, even if the menu didn't show it)
compile_with/without
pragma directive for the new compiler option now works and is documented on Wiki (it'sextra_branch_optimization
)
Jan 29th, 2024 - version 1.18.0
This update adds support for new engine parameters and callback type introduced with Kontakt 7.8, along with the following changes:
- Added an option which enables completions for vanilla KSP built-in constants and variables (with
$
,%
, etc. type prefixes) - Added
.SIZE
define for literal defines (issue #99) - Added an error message if function declaration has duplicate argument names
- Added a compiler option to enable additional branch optimization steps - this allows using if-else with defines, which can be used in many interesting ways
- Added
+=
and=+
operators to defines, which allows appending or prepending a literal define to the existing list of literals - see Wiki for more info! - Improved internal structure of built-ins data file, which enables using vanilla KSP built-in constants as they were supposed to be used (previously you couldn't use these to, for example, specify array size upon declaration)
- Improved automatic syntax detection (SublimeKSP will automatically switch syntax to KSP if enough keywords have been detected in the first 5000 characters of currently focused document)
- Improved syntax coloring of
pers
,instpers
andread
keywords when they are placed after the UI widget specifier - Further improved command line interface:
output_file
argument is now completely optional;save_compiled_source
pragmas are now disregarded ifoutput_file
argument is specified - Fixed operator precedence for
or
,xor
,.or.
and.xor.
operators - Fixed task function
return
andout
parameters not working correctly (issue #217) - Fixed an issue where multi-dimensional arrays clashed with Combine Callbacks feature (issue #389)
- Fixed "Optimize Compiled Code" option breaking with bitwise operators (issue #423)
- Fixed
$CONTROL_PAR_CUSTOM_ID
missing from syntax coloring
Oct 25th, 2023 - version 1.17.2
This is a minor update with the following changes:
Sep 28th, 2023 - version 1.17.1
This is a minor update with the following changes:
Sep 14th, 2023 - version 1.17.0
This version brings support for Kontakt 7.6 additions (including NKS2 parameter descriptive information and navigation commands!), along with several fixes.
Jul 11th, 2023 - version 1.16.0
This version brings support for Kontakt 7.5 additions and a couple of interesting new features.
Apr 29th, 2023 - version 1.15.0
This version brings support for Kontakt 7.3 additions, a number of bugfixes and even more syntax coloring improvements, as well as the announced removal of the Logger module.
Thanks as always to Jack Williams from Fracture Sounds for solving some of the tricky ones from the above list!
This is a minor update with the following changes:
- Fixes an issue introduced in 1.17.1, where import paths wouldn't be checked if they exist before compilation continued. Now works again!
- Option "Play sound when compilation finishes" now finally works even for SublimeKSP installations done via Package Control!
Sep 28th, 2023 - version 1.17.1
This is a minor update with the following changes:
- Improved detection of duplicate defines - now both the name and the value of a define have to match in order to throw a compiler error
- Removed $ENGINE_PAR_RAUM_MIX because it is not a valid engine parameter
- Added support for importing whole folders in one go, instead of listing them file by file
- Pressing Alt+O with cursor focused on the line which imports a folder will show all .ksp files within that folder in a new Sublime Text window
Sep 14th, 2023 - version 1.17.0
This version brings support for Kontakt 7.6 additions (including NKS2 parameter descriptive information and navigation commands!), along with several fixes.
- Added support for real array arguments in load/save_array(_str) commands. This was supposed to be there in 7.5, alas...
- Fixed missing Raum engine parameters ($ENGINE_PAR_RAUM_REVERB, $ENGINE_PAR_RAUM_PREDELAY_UNIT)
- Fixed incorrectly named engine parameter for Raum Low Shelf (it was $ENGINE_PAR_RAUM_LOWCUT instead of $ENGINE_PAR_RAUM_LOWSHELF)
- Fixed superfluous closed parentheses appearing in auto-completion suggestions for certain commands
- Updated the list of functions with forced parentheses with all remaining commands that weren't there yet
Jul 11th, 2023 - version 1.16.0
This version brings support for Kontakt 7.5 additions and a couple of interesting new features.
- Added overloaded macros - different macros can now be executed based on different number of arguments they have!
- Added the capability for
override
keyword which allows user-defined functions to override built-in functions - Added an error in case a duplicate define is being declared (issue #380)
- Added a new comment type: section comment
{{ }}
, which will also show up in the symbol list (Ctrl/Cmd+R), making it easier to create named bookmark jumps in the code - Fixed persistence shorthands not working if they come after
ui_control
keyword (issue #379)
Apr 29th, 2023 - version 1.15.0
This version brings support for Kontakt 7.3 additions, a number of bugfixes and even more syntax coloring improvements, as well as the announced removal of the Logger module.
- Fixed
get_ui_id()
being inserted in various situations when it shouldn't have been added (for example when using an array when setting$CONTROL_PAR_PARENT_PANEL
etc.) - Fixed a couple of issues that prevented compilation from command line in certain cases (when using inline
iterate_macro()
, for example, string placeholders weren't reachable to the preprocessor) - Fixed
#n#
token not being replaced inside strings when using inlineliterate/iterate_macro()
(issue #306) - Info bar line in Sublime Text will now report how long the compilation lasted upon successful compilation
- If compiling from command line and output file argument wasn't specified, the compiler will notify the user about it upon successful compilation
- Added
$NI_ZONE_STATUS_
constants to builtins, which somehow managed to evade being included around Kontakt 7.1 times! redirect_midi()
command now has its arguments properly documented- Arrow shorthand notation for event parameters didn't work with functions like
by_marks()
, now it does (issue #350) - Added more syntax checks (when "Extra syntax checks" option is enabled) relevant to UI control declarations, and arguments which can be both integer and real (like for the
sort()
command) - Minor tweaks to KScript Dark theme for improved contrast
- Cleaned up several files in the repository for better readability
- Even more syntax coloring improvements, for example previously
%CONTROL_PAR_VALUE
would colorize as a valid control parameter, when it isn't valid - now it doesn't anymore; using macro tokens inside variable declarations didn't colorize properly, now it does - Completions list now looks the same in Sublime Text 4 as it does in Sublime Text 3 (function arguments are listed in parentheses after function name)
- Fixed an error where all functions that had no arguments in the completion list ended up with closed parentheses (for example,
exit()
) which was incorrect - Added several more unit tests to keep us on our toes so that we don't break things in the future
- Added .bat and .sh scripts to run tests locally (requires Python 3 to be installed and added to
PATH
environment variable) - Removed duplicate callbacks warning that was triggered too early in the compilation process
- Removed Logger functionality - we recommend using Creator Tools with
watch_var()/watch_array_idx()
commands instead!
Thanks as always to Jack Williams from Fracture Sounds for solving some of the tricky ones from the above list!
Update from Sublime Text's Package Control or from GitHub repository.
Last edited: