Skip to main content

Version History

The following changelog provides a version history of all new and improved features released in Kontakt.

New Features

  • New callback type, on ui_controls, which allows defining behavior of all UI widgets by their ID in a single callback.

  • Engine parameters for new effects: EP Preamps, Big Fuzz, Fuzz, Stereo Tune.

Improved Features

  • $EVENT_PAR_SOURCE now works in multi scripts.

New Features

  • Support for NKS2 parameters and navigation definition through new commands and control parameters: see NKS2 SDK documentation.

  • New control parameter, $CONTROL_PAR_TYPE , which returns the type of UI widget for the specified UI ID.

  • New control parameter, $CONTROL_PAR_CUSTOM_ID, which allows assigning a custom value to every UI control.

  • New internal constant, $NI_UI_ID, which returns the UI ID of the widget that triggered the UI callback.

  • Engine parameter for Raum Predelay tempo sync, $ENGINE_PAR_RAUM_PREDELAY_UNIT.

  • Engine parameter constants for 20 new Wavetable Form modes.

Improved Features

  • get_event_mark() now correctly returns the state of the exact queried event mark. Previously the command didn't work correctly when multiple event marks were assigned to an event ID, and only a single event mark was queried.

  • get_event_par_arr() used with $EVENT_PAR_MOD_VALUE_(EX_)ID always returned 0 in case an event held an active voice. Now it works identically regardless of voices being played or not.

  • set_event_par() can now set $EVENT_PAR_MIDI_CHANNEL for events in instrument scripts.

New Features

  • Engine parameters for the following new effects: Bite, Dirt, Freak, Raum, Twin Delay, Vibrato/Chorus, Wow/Flutter.

  • Engine parameter for getting the Source module playback mode, $ENGINE_PAR_SOURCE_MODE.

  • continue statement is now available.

  • Real arrays can now be stored to and loaded from NKA files.

  • Zone selection state can now be queried with $ZONE_PAR_SELECTED zone parameter, and indices of all selected zones can be collected with get_sel_zones_idx() command.

  • New command for setting the color of script generated events displayed in Mapping Editor, set_map_editor_event_color().

Improved Features

  • Boolean not operator now correctly inverts a boolean expression that consists of only literals or constants.

  • exit statement now correctly exits just the function in which it was called, instead of collapsing the whole function call stack (this happened only if exit was the first statement in a function).

  • TMPro polyphony can now be set to 0 via set_voice_limit() command (previously the minimum value was 1).

Improved Features

  • sort() command now supports two additional arguments which specify the array bounds within which values will be sorted.

  • in_range() command now also works with real expressions.

New Features

  • Engine parameters for new Solid EQ parameters: $ENGINE_PAR_SEQ_LP, $ENGINE_PAR_SEQ_HP, $ENGINE_PAR_SEQ_LP_FREQ, $ENGINE_PAR_HP_FREQ.

  • New engine parameters for several Source module parameters: $ENGINE_PAR_TRACKING, $ENGINE_PAR_HQI_MODE, $ENGINE_PAR_S1200_FILTER_MODE, $ENGINE_PAR_TMPRO_KEEP_FORMANTS.

  • New command to retrieve filename of the last loaded MIDI file, mf_get_last_filename().

  • New constant which allows determining if Kontakt is running as a plugin or in standalone: $NI_KONTAKT_IS_STANDALONE.

Improved Features

  • Major performance improvement of set_sample(), set_zone_par() and set_loop_par() commands (for more info, see descriptions of mentioned commands).

  • search() command now supports two additional arguments which specify the array bounds that will be searched through.

  • $ENGINE_PAR_PHASE_INVERT and $ENGINE_PAR_LR_SWAP can now also be pointed at instrument buses.

  • Easier resource container updating via single click on Repack button in Instrument Options → Instrument tab, provided the resource container has already been assigned to the instrument.

New Features

  • New commands to retrieve group, modulator and modulation target indices: get_group_idx(), get_mod_idx(), get_target_idx(). These commands will return $NI_NOT_FOUND when the queried object is not found. Introduction of these commands also deprecates the usage of find_group(), find_mod() and find_target()!

  • Engine parameter for Convolution Auto Gain: $ENGINE_PAR_IRC_AUTO_GAIN

  • Engine parameter for the Legato button across various Tone/Time Machine modes ($ENGINE_PAR_TM_LEGATO)

  • Engine parameters for the new Flexible Envelope parameters: $ENGINE_PAR_FLEXENV_LOOP, $ENGINE_PAR_FLEXENV_ONESHOT

  • Filter type constants for the new SV 6-pole filters: $FILTER_TYPE_SV_LP6, $FILTER_TYPE_SV_BP6, $FILTER_TYPE_SV_HP6, $FILTER_TYPE_SV_NOTCH6

  • New command for querying the status of a zone: get_zone_status(). Introduction of this command also deprecates the usage of is_zone_empty()!

  • New zone-related commands: get_num_zones() and get_zone_id()

  • New zone parameters to get the sample rate of the sample used by the zone ($ZONE_PAR_SAMPLE_RATE) and get or set the zone BPM ($ZONE_PAR_BPM)

  • XY pad values can now be retrieved and set using UI IDs (get_control_par_real_arr()set_control_par_real_arr())

  • New real number math commands: cbrt(), log2(), log10(), exp2()

  • New basic operators dealing with the negative sign: signbit(), sgn()

  • New boolean operator: xor

  • New bitwise operator: .xor.

  • New, shorter commands for integer/real value conversion: int(), real(). Introduction of these commands also deprecates the usage of real_to_int() and int_to_real()

Improved Features

  • Added mode 2 to change_pan() and change_vol(), which retains the zone pan/volume adjustments on top of the absolute offset added by change_pan() or change_vol(), unlike mode 0 which disregarded zone pan/volume adjustments entirely

  • The set_zone_par() command now works on all zones when using snapshot modes 2 and 3, from any callback type

  • The mod basic operator now also works with real numbers, providing remainder after regular floating-point division

New Features

  • Engine parameter for adjusting LFO phase, $ENGINE_PAR_LFO_PHASE

  • Engine parameters for adjusting step modulator parameters: $ENGINE_PAR_STEPSEQ_NUM_STEPS, $ENGINE_PAR_STEPSEQ_ONESHOT, $ENGINE_PAR_STEPSEQ_STEP_VALUE

  • Engine parameter for bipolar adjustment of modulation amount, $ENGINE_PAR_MOD_TARGET_MP_INTENSITY

  • Engine parameters for the following new effects: PsycheDelay, Ring Modulator

  • ui_mouse_area now responds to $CONTROL_PAR_KEY_CONTROL, $CONTROL_PAR_KEY_SHIFT, $CONTROL_PAR_KEY_ALT control parameters

Improved Features

  • Increased number of user zones to 1024

  • $EVENT_PAR_MOD_VALUE_ID can now be retrieved by using get_event_par_arr()

New Features

  • New snapshot types for saving only the persistent KSP variables with snapshots

  • Engine parameters for the following new effects: Bass Invader, Bass Pro

New Features

  • New functionality enabling "from script" modulation assignments in Kontakt with new built-in variable to be used with set_event_par_arr(): $EVENT_PAR_MOD_VALUE_ID

  • New command for redirecting the audio signal of an event to an output or bus: redirect_output()

  • New built-in variables to be used with redirect_output():

    $OUTPUT_TYPE_DEFAULT, $OUTPUT_TYPE_MASTER_OUT, $OUTPUT_TYPE_AUX_OUT, $OUTPUT_TYPE_BUS_OUT

  • The ui_level_meter can be attached to gain reduction data (i.e. from compressor and limiter effects)

  • New built-in variables for setting the display range of gain reduction meters: $CONTROL_PAR_RANGE_MIN, $CONTROL_PAR_RANGE_MAX

Improved Features

  • $CONTROL_PAR_BASEPATH can be set from anywhere in the script, updating the file selector even if the path did not change

New Features

  • New command for checking the bit-mark of an event: get_event_mark()

  • New built-in variable for checking if Kontakt is loaded without GUI engine (i.e. on Maschine+): $NI_Kontakt_IS_HEADLESS

  • Added engine parameters for many existing effects:

    • Solid Bus Comp: Link button ($ENGINE_PAR_SCOMP_LINK)

    • Classic Compressor: Stereo Link button ($ENGINE_PAR_COMP_LINK) and compressor type menu ($ENGINE_PAR_COMP_TYPE -> $NI_COMP_TYPE_CLASSIC, $NI_COMP_TYPE_ENHANCED, $NI_COMP_TYPE_PRO)

    • Stereo Modeller: Pseudo Stereo button ($ENGINE_PAR_STEREO_PSEUDO)

    • Convolution: Reverse button ($ENGINE_PAR_IRC_REVERSE), early reflection/late reflection divider ($ENGINE_PAR_IRC_ER_LR_BOUNDARY)

    • Group FX: Post Amp FX slider ($ENGINE_PAR_POST_FX_SLOT)

    • Envelope Follower ($ENGINE_PAR_ENVF_ATTACK, $ENGINE_PAR_ENVF_RELEASE, $ENGINE_PAR_ENVF_GAIN_BOOST, $ENGINE_PAR_ENVF_ADAPTION)

    • Various others ($ENGINE_PAR_ENV_AHD, $ENGINE_PAR_ENV_DBD_EASY, $ENGINE_PAR_LFO_NORMALIZE)

Improved Features

  • The maximum number of UI controls has been increased to 999 per UI control type (except for the UI file selector)

New Features

  • New Main Effects signal processing module

  • New engine parameters for new Supercharger GT and Transparent Limiter effects

  • New constants for the <generic> argument when setting and getting engine parameters: $NI_SEND_BUS, $NI_INSERT_BUS, $NI_MAIN_BUS

  • New constant that defines which area should be used when dragging from a specific label: $CONTROL_PAR_MIDI_EXPORT_AREA_IDX

  • New command that defines the number of MIDI object export areas: mf_set_num_export_areas()

  • New command to manage the usage of the new additional export areas: mf_copy_export_area()

  • New engine parameters for Inverter and Amplifier parameters for Phase Invert and L/R swap: $ENGINE_PAR_PHASE_INVERT, $ENGINE_PAR_LR_SWAP

  • New constant allows up to 16 custom event parameters to be assigned: $EVENT_PAR_CUSTOM

Improved Features

  • The number of maximum MIDI object export areas has been increased to 512

New Features

  • New constant for handling release velocity: $EVENT_PAR_REL_VELOCITY

  • New constant for hiding the value display of ui_table: $HIDE_PART_VALUE

New Features

Improved Features

  • purge_group() now returns an async ID, allowing for reliable tracking of the operation's completion.

New Features

  • New engine parameter for the Retrigger button on internal modulators ($ENGINE_PAR_INTMOD_RETRIGGER)

  • New waveform visualization modes ($CONTROL_PAR_WF_VIS_MODE with $NI_WF_VIS_MODE_1, $NI_WF_VIS_MODE_2 and $NI_WF_VIS_MODE_3 as values)

  • New Wavetable Mode ($ENGINE_PAR_WT_INHARMONIC_MODE)

  • New UI widget (ui_panel) and related control parameter ($CONTROL_PAR_PARENT_PANEL)

  • New user interface command (load_performance_view()) to load performance views created in Creator Tools

New Features

  • Engine parameters for the new Kontakt 6 effects: Replika, (Galois) Reverb, Plate Reverb.

  • Engine parameters for the new Wavetable sampler mode.

  • New UI widget: ui_wavetable including new commands and built-in variables.

  • New commands for variable watching through Creator Tools: watch_var() and watch_array_idx()

  • New control parameter allows deactivating text position shifts when clicking on buttons and switches: $CONTROL_PAR_DISABLE_TEXT_SHIFTING

  • New command enables use of custom dynamic fonts: get_font_id()

  • New control parameters allow granular control over font types for different button and menu states: $CONTROL_PAR_FONT_TYPE_ON, $CONTROL_PAR_FONT_TYPE_OFF_PRESSED, $CONTROL_PAR_FONT_TYPE_ON_PRESSED, $CONTROL_PAR_FONT_TYPE_OFF_HOVER and $CONTROL_PAR_FONT_TYPE_ON_HOVER

  • New command allowing for quickly disabling emission of messages, warnings or watched variable events to both the Kontakt status bar and Creator Tools: disable_logging() with one of the following as the: $NI_LOG_MESSAGE, $NI_LOG_WARNING, $NI_LOG_WATCHING

Improved Features 

  • New built-in variable and related built-in constants for the XY Pad allow identification of the mouse events that trigger its callback: $NI_MOUSE_EVENT_TYPE, $NI_MOUSE_EVENT_TYPE_LEFT_BUTTON_DOWN, $NI_MOUSE_EVENT_TYPE_LEFT_BUTTON_UP and $NI_MOUSE_EVENT_TYPE_DRAG

  • $CONTROL_PAR_TEXTPOS_Y is now allowed on value edit controls.

Improved Features 

  • It is now possible to have up to three file selectors per script slot.

  • The maximum number of controls per type has now been raised to 512.

  • The maximum size for an array has now been raised to 1000000.

New Features

  • New control parameter for all UI widgets: $CONTROL_PAR_Z_LAYER

  • Waveform styling options: $CONTROL_PAR_WAVE_COLOR, $CONTROL_PAR_BG_COLOR, $CONTROL_PAR_WAVE_CURSOR_COLOR, $CONTROL_PAR_SLICEMARKERS_COLOR, $CONTROL_PAR_BG_ALPHA

  • Engine parameter variables for new effects: ACBox, Cat, DStortion, HotSolo, Van51.

  • Added engine parameter variables for various on-off effect parameters.

  • Added engine parameter variables for setting the subtype for the Distortion and Saturator effects: $ENGINE_PAR_DISTORTION_TYPE, $ENGINE_PAR_SHAPE_TYPE

Improved Features

New Features

  • New built-in control parameters: $NI_CONTROL_PAR_IDX, $HIDE_PART_CURSOR

New Features 

  • New UI widget: ui_xy, including new built-in variables: $CONTROL_PAR_CURSOR_PICTURE, $CONTROL_PAR_MOUSE_MODE, $CONTROL_PAR_ACTIVE_INDEX, $CONTROL_PAR_MOUSE_BEHAVIOUR_X, $CONTROL_PAR_MOUSE_BEHAVIOUR_Y

  • New UI commands: set_control_par_arr() and set_control_par_str_arr()

New Features

New Features

  • New engine parameter variables and built-in constants for controlling the unit parameter of time-related parameters, e. g, $ENGINE_PAR_DL_TIME_UNIT, $NI_SYNC_UNIT_8TH

  • It is now possible to change FX from KSP by using engine parameter variables for effect type, e. g. set_engine_par($ENGINE_PAR_EFFECT_TYPE,$EFFECT_TYPE_FILTER, 0, 0, -1). For more information, refer to Changing FX from KSP.

  • It is now possible to set Time Machine Pro voice settings: set_voice_limit(), get_voice_limit(), $NI_VL_TMPRO_STANDARD, $NI_VL_TMRPO_HQ

Improvements

  • Various corrections to the KSP reference manual.

New Features

Improved Features 

New Features

  • Added engine parameters for the new Simple LP/HP filter.

New Features

  • New commands to insert and remove MIDI events.

Improved Features

  • Updated MIDI file handling.

New Features

  • Added engine parameters for the new Feedback Compressor effect.

New Features

Improvements

  • Various corrections and improvements to the KSP reference manual.

New Features

  • New engine parameters for Time Machine Pro in HQ Mode): $ENGINE_PAR_ENVELOPE_ORDER, $ENGINE_PAR_FORMANT_SHIFT

New Features

  • Added effect type and sub-type constants for the new Kontakt 5 effects.

New Features

  • MIDI file support including many new commands: load_midi_file(), save_midi_file(), mf_get_num_tracks(), mf_get_first(), mf_get_next(), mf_get_next_at(), mf_get_last(), mf_get_prev(), mf_get_prev_at(), mf_get_channel(), mf_get_command(), mf_get_byte_one(), mf_get_byte_two(), mf_get_pos(), mf_get_track_idx(), mf_set_channel(), mf_set_command(), mf_set_byte_one(), mf_set_byte_two(), mf_set_pos()

  • New UI widget: ui_text_edit

  • New UI widget: ui_level_meter, including new commands and control parameters: attach_level_meter(), $CONTROL_PAR_BG_COLOR, $CONTROL_PAR_OFF_COLOR, $CONTROL_PAR_ON_COLOR, $CONTROL_PAR_OVERLOAD_COLOR, $CONTROL_PAR_PEAK_COLOR, $CONTROL_PAR_VERTICAL

  • New UI widget: ui_file_selector, including new commands and control parameters: fs_get_filename(), fs_navigate(), $CONTROL_PAR_BASEPATH, $CONTROL_PAR_COLUMN_WIDTH, $CONTROL_PAR_FILEPATH, $CONTROL_PAR_FILE_TYPE

  • New commands for dynamic dropdown menus: get_menu_item_value(), get_menu_item_str()get_menu_item_visibility(), set_menu_item_value(), set_menu_item_str(), set_menu_item_visibility(), $CONTROL_PAR_SELECTED_ITEM_IDX, $CONTROL_PAR_NUM_ITEMS

  • New callback type: on async_complete, including new built-in variables: $NI_ASYNC_ID, $NI_ASYNC_EXIT_STATUS, $NI_CB_TYPE_ASYNC_OUT

  • New internal constant for Kontakt's new instrument bus effect chains: $NI_BUS_OFFSET

  • New engine parameters for new Kontakt 5 effects.

  • New commands: wait_ticks(), stop_wait()

Improved Features

New Features

Improved Features

  • The script editor is now much more efficient, especially with large scripts.

  • New UI widget limit: 256 (per widget type and script slot).

  • Event parameters can now be used without affecting the system scripts.

New Features

  • New UI widget: ui_waveform

  • New commands for this UI widget: set_ui_wf_property(), get_ui_wf_property(), attach_zone()

  • New control parameters to be used with these commands: $UI_WAVEFORM_USE_SLICES, $UI_WAVEFORM_USE_TABLE, $UI_WAVEFORM_TABLE_IS_BIPOLAR, $UI_WAVEFORM_USE_MIDI_DRAG, $UI_WF_PROP_PLAY_CURSOR, $UI_WF_PROP_FLAGS, $UI_WF_PROP_TABLE_VAL, $UI_WF_PROP_TABLE_IDX_HIGHLIGHT, $UI_WF_PROP_MIDI_DRAG_START_NOTE

  • New event parameter: $EVENT_PAR_PLAY_POS

Improved Features

  • The built-in variables $SIGNATURE_NUM and $SIGNATURE_DENOM don't reset to 4/4 if the host's transport is stopped

New Features 

  • Implementation of user-defined functions: function

  • New control parameter: $CONTROL_PAR_AUTOMATION_NAME

  • New command: delete_event_mark()

  • Support for polyphonic aftertouch: on poly_at%POLY_AT[]$POLY_AT_NUM

  • New command: get_event_ids()

  • New control parameters: $CONTROL_PAR_KEY_SHIFT$CONTROL_PAR_KEY_ALT$CONTROL_PAR_KEY_CONTROL

Improved Features 

  • The built-in variable $MIDI_CHANNEL is now also supported in the instrument script.

  • The sample offset parameter in play_note() now also works in DFD mode, according to the S. Mod value set for the respective zone in Kontakt's Wave Editor

  • KSP reference corrections for the modulation engine parameters

New Features

  • New engine parameter to set the group output channel: $ENGINE_PAR_OUTPUT_CHANNEL

  • New built-in variable: $NUM_OUTPUT_CHANNELS

  • New function: output_channel_name()

  • New built-in variable: $CURRENT_SCRIPT_SLOT

  • New built-in variable: $EVENT_PAR_SOURCE

Improved Features 

  • The load_ir_sample() command now also accepts single file names for loading IR samples into Kontakt's Convolution effect, i.e. without a path designation. In this case the sample is expected to reside in the folder called ir_samples inside the user folder.

New Features

  • Multi script

  • New ID-based user interface system: set_control_par()get_control_par() and get_ui_id()

  • Pixel-exact positioning and resizing of UI widgets.

  • Skinning of UI widgets.

  • New UI widgets: ui_switch and ui_slider.

  • Assign colors to Kontakt's keyboard by using set_key_color()

  • New timing variable: $KSP_TIMER (in microseconds).

  • New path variable: $GET_FOLDER_FACTORY_DIR

  • New hide constants: $HIDE_PART_NOTHING and $HIDE_WHOLE_CONTROL

  • Scripts can be linked to text files.

Improved Features

  • New array size limit: 32768

  • Retrieve and set event parameters for tuning, volume and pan of an event: $EVENT_PAR_TUNE, $EVENT_PAR_VOL and $EVENT_PAR_PAN

  • Larger performance view size: set_ui_height(), set_script_title()

  • Beginning underscores from Kontakt 2/3 commands like _set_engine_par() can now be omitted, i.e. you can write set_engine_par() instead.

New Features 

Improved Features

  • Support for channel aftertouch: $VCC_MONO_AT

  • New array size limit: 2048

New Features

Improved Features 

  • All five performance views can now be displayed together.

New Features 

  • New callback type: on ui_update

  • New built-in variables for group-based scripting: $REF_GROUP_IDX and %GROUPS_SELECTED

  • Ability to create custom group start options: NO_SYS_SCRIPT_GROUP_START, along with various Group Start Options variables.

  • Retrieving the release trigger state of a group: $ENGINE_PAR_RELEASE_TRIGGER

  • Default values for knobs: set_knob_defval()

New Features 

New Features 

Improved Features 

Initial release.