Skip to main content

Version History

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

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():


  • 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: $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)



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(<num_of_areas>)

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

  • 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

  • New Choral, Flair and Phasis modulation effects.

  • New UI element: ui_mouse_area

  • New type of zones accessible from KSP: set_num_user_zones(), set_sample(), set_zone_par(), set_loop_par()

  • All zone parameters can now be read from KSP: get_sample(), get_zone_par(), get_loop_par()

  • New function to check whether a sample is loaded for a zone: is_zone_empty()

  • New MIR functions to detect zones’ pitch, RMS, peak level and loudness.

  • New MIR functions to classify samples based on their audio characteristics.

  • New command to make handling asynchronous operations more convenient: wait_async()

Improved Features

  • purge_group() now returns an asyncID, allowing for reliable tracking of the operations 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 UI Control (ui_panel) and related control parameter ($CONTROL_PAR_PARENT_PANEL)

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

New Features

  • New engine_par constants for new KONTAKT 6 effects.

  • New engine_par constants for new Wavetable mode.

  • New UI control: 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 a button’s or menu’s different 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 allows 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 built-in variable for all UI elements: $CONTROL_PAR_Z_LAYER


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

  • Added engine parameter variables for effect parameters that are buttons.

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

Improved Features

  • ui_waveform now accepts $HIDE_PART_BG as a hide_part() and $CONTROL_PAR_HIDE constant.

New Features

  • New built-in UI variables: $NI_CONTROL_PAR_IDX, $HIDE_PART_CURSOR

New Features 

  • New UI control: ui_xy


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

New Features

  • Support for real numbers, including new ~realVariable and ?realArray[] types.

  • Additional mathematical commands for real numbers.

  • New constants: ~NI_MATH_PI and ~NI_MATH_E

  • New UI commands: set_ui_color() and set_ui_width_px()

  • New control parameter for setting automation IDs via KSP: $CONTROL_PAR_AUTOMATION_ID

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

  • 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.

  • Possible to set Time Machine Pro voice settings: set_voice_limit(), get_voice_limit(), $NI_VL_TMPRO_STANDARD, $NI_VL_TMRPO_HQ


  • Various corrections to the user manual.

New Features

  • New callback type: on persistence_changed

  • New command: set_snapshot_type()

  • New command: make_instr_persistence()

  • New key color constants and command: get_key_color()

  • Ability to set the pressed state of KONTAKT's keyboard: set_key_pressed(), set_key_pressed_support(), get_key_triggerstate()

  • Ability to specify key names and ranges: set_key_name(), get_key_name(), set_keyrange(), remove_keyrange()

  • Ability to specify key types: set_key_type(), get_key_type()

Improved Features 

  • Data folder in resource container, additional mode for load_array()

  • Usage of load_array_str() in other callbacks.

New Features

  • Added Engine Parameter Variables for the new Simple Filter effect.

New Features

  • Commands to insert and remove MIDI events.

Improved Features

  • Updated file handling.

New Features

  • Added Engine Parameter Variables for the new Feedback Compressor effect.

New Features

  • New commands: load_array_str(), save_array_str()

  • Added Engine Parameter Variables for the new Jump Amp effect.


  • Various corrections and improvements to the user manual.

New Features

  • New Engine Parameter Variables for Time Machine Pro (HQ Mode): $ENGINE_PAR_ENVELOPE_ORDER, $ENGINE_PAR_FORMANT_SHIFT

New Features

  • Added effect type and effect 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 control: ui_text_edit

  • New UI control: ui_level_meter


  • New UI control: ui_file_selector

    Including new commands and built-in variables: 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 bus system: $NI_BUS_OFFSET

  • New engine_par constants for new KONTAKT 5 effects.

  • New commands: wait_ticks(), stop_wait()

Improved Features

  • Support for string arrays added for load array() and save_array()

  • PGS support for strings: pgs_create_str_key(), pgs_str_key_exists(), pgs_set_str_key_val(), pgs_get_str_key_val()

  • The maximum height of set_ui_height_px() is now 540 pixels.

New Features

  • The Resource Container, a helpful tool for creating instrument libraries.

  • New ID to set wallpapers via script: $INST_WALLPAPER_ID

  • New key color: $KEY_COLOR_BLACK

  • New callback type: on listener

  • New commands for this callback: set_listener(), change_listener_par()

  • New commands for storing arrays: save_array(), load_array()

  • New command to check the purge status of a group: get_purge_state()

  • New built-in variable: $NI_SONG_POSITION

  • New control parameter: $CONTROL_PAR_ALLOW_AUTOMATION

Improved Features

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

  • New UI control limit: 256 (per control and script).

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

New Features

  • New UI control: UI waveform

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


  • 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

  • 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 

  • Implementation of user-defined functions: function

  • New control parameter variable: $CONTROL_PAR_AUTOMATION_NAME

  • New command: delete_event_mark()

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

  • New command: get_event_ids()


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 the wave editor

  • User Manual corrections to the Modulation Engine Parameter Variables

New Features

  • Multiscript

  • New ID-based User Interface Controls system: set_control_par()get_control_par() and get_ui_id()

  • Pixel exact positioning and resizing of UI controls.

  • Skinning of UI controls.

  • New UI controls: switch and 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

  • Link scripts 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 be omitted, i.e. you can write set_engine_par() instead.

New Features 

  • Retrieve the status of a particular event: event_status()

  • Hide specific parts of UI controls: hide_part()

Improved Features

  • Support for channel aftertouch: $VCC_MONO_AT

  • New array size limit: 2048

New Features

  • Offset for wallpaper graphic: _set_skin_offset()

  • Program Global Storage (PGS) for inter-script communication: _pgs_create_key(), _pgs_key_exists(), _pgs_set_key_val(), _pgs_get_key_val()

  • New callback type: on _pgs_changed

  • Addressing modulators by name: find_mod() and find_target()

  • Change the number of displayed steps in a column: set_table_steps_shown()

  • Info tags for UI controls: set_control_help()

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 (+ 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 

  • Assign unit marks to knobs: set_knob_unit()

  • Assign text strings to knobs: set_knob_label()

  • Retrieve the knob display: _get_engine_par_disp()

New Features 

  • string arrays (! prefix) and string variables (@ prefix)

  • Engine parameter: _set_engine_par()

  • Loading IR samples: _load_ir_sample()

  • Performance View: make_perfview

  • RPN/NRPN implementation: on rpn & on nrpn, $RPN_ADDRESS $RPN_VALUE, msb() and lsb(), set_rpn() and set_nrpn()

  • Event parameters: set_event_par()


Improved Features 

  • Possible to name UI controls with set_text()

  • Moving and hiding UI controls.

  • MIDI CCs generated by set_controller() can now also be used for automation, as well as modulation.

Initial release.