Native Instruments Kontakt 1.1 Creator Tools

4.5 (11)
Native Instruments Kontakt 1.1 Creator Tools

1

A suite of tools developed to support the instrument creation process

Contents

Application Manual

CREATOR TOOLS 4

DEBUGGER 4

INSTRUMENT EDITOR 6

GUI DESIGNER 8

Scripting Reference

INSTRUMENT STRUCTURE 14

SCRIPTING BASICS 15 SCRIPT PATH 15 READ PROPERTIES AND PRINT THEM 15 ITERATE OVER CONTAINERS 15 WORKING WITH CONTAINERS 16

BINDING REFERENCE

TYPE 17 OPERATORS 17 FUNCTIONS 17 PROPERTIES 18

SCALARS 18 PROPERTIES 18 FUNCTIONS 19

VECTOR 19 CONSTRUCTORS 19 OPERATORS 20 PROPERTIES 20 FUNCTIONS 21

STRUCT 22 CONSTRUCTORS 22 OPERATORS 22 PROPERTIES 22 FUNCTIONS 23

2

Contents

ALGORITHMS 24 FREE FUNCTIONS 24

FILE SYSTEM 25 EXAMPLES 25 FUNCTIONS 25 OPERATIONAL 26

POSIXTIME 28 EXAMPLES 28 FUNCTIONS 28 CONVERSIONS 28

MIR FUNCTIONS 29 PITCH DETECTION 29 PEAK, RMS & LOUDNESS DETECTION 30

3

Application Manual

Application Manual

Creator Tools

A suite of tools developed to support the instrument creation process. It consists of the Debugger, the Instrument Editor and the GUI Designer. Switching between the tools is possible from the top tabs, or by using the shortcuts F1 (Debugger), F2 (Instrument Editor) and F3 (GUI Designer). Creator Tools actions can also be triggered via their dedicated shortcuts. Shortcuts act according to which panel the user is focused on.

Debugger

The Debugger connects to all running instances of Kontakt, both plug-in and standalone.

It logs messages, warnings and errors coming for KSP, supports inspecting script variables, provides timestamps per notification and some basic filtering options.

VARIABLE WATCHING ( /CTRL-E)

Clicking on the eye icon reveals the Variable Watching area. This is where the current values of all watched variables and arrays are displayed, in order of appearance. For every variable or array that is inspected, an entry is created upon initialization and updated every time a value change occurs. All value changes appear also in the Log above, in chronological order.

Inspecting a variable or array is possible via the dedicated KSP commands watch_var and watch_array_idx.

For example watch_var($count) inspects the value changes of the variable count and watch_array_idx(%volume,5) inspects the value changes of index 5 of the array volume.

Please also refer to the KSP Reference Manual for more details.

FILTER ( /CTRL-F)

When active, it reveals the filtering options and applies them.

Filter by type (Variable Watching, Message, Warning, Error)

Filter by text (characters in the Message column)

Filter by Instrument

Filter by Script slot

4

Application Manual

PAUSE ( /CTRL-P)

Suspends the debugging session. While active, the Pause button blinks. Once the session is resumed, all messages that were received during pause will appear.

CLEAR ( /CTRL-BACKSPACE)

Clears all content of the Debugger log.

SETTINGS

Defines the behaviour of the Log.

LOG

This is where all notifications from Kontakt appear. The Log contains 7 columns:

Type

System Time

Engine Time

Message

Instrument

Script

Line

Type and Message are set, but all other columns can be hidden. Right-clicking on the column header reveals the column menu.

5

Application Manual

Instrument Editor

The Instrument Editor connects to a running instance of Kontakt, either plug-in or standalone, and offers programmatic access to parts of a Kontakt instrument’s structure through Lua-based scripting.

It loads and runs Lua scripts that have been created in a text editor and saved to disk. In this way an instrument structure can be modified. One can now easily rearrange, add or remove groups and zones, edit their names and some of their properties, like tune, volume, and mapping. Limited file system access also allows the creation of new instruments based on samples on the disk. The added MIR functions (like pitch and RMS detection) assist or automate parts of the instrument creation process.

Some Lua example and tutorial scripts are provided for the above in the application folder, to help you get started if needed. Ideally, the content of the scripts’ folder can be copied to “*user*/Documents/Native Instruments/Creator Tools”.

MULTI RACK MENU

Sets the focus of the tool on the multi rack of one of the connected Kontakt instances.

INSTRUMENT MENU

Sets the focus of the tool to a specific instrument that is loaded in one of the connected Kontakt instances. Note that instruments with locked edit views, cannot be selected.

PUSH ( /CTRL-Shift-)

Applies all changes from the Tools‘ side to Kontakt. If changes are not pushed, an indication on the button appears to notify for the pending changes.

PULL ( /CTRL-Shift-)

Overwrites the current Kontakt state to the tools. Whenever a change takes place on the Kontakt side, Pull needs to be manually pressed in order to apply the changes in the Tools. If changes are not pulled, an indication on the button appears to notify for the pending changes.

CONNECTION INDICATOR

The connection indicator on the top right corner, indicates whether a successful connection between the tools and the Kontakt instances is established.

6

Application Manual

INSTRUMENT TREE VIEW

The instrument structure is displayed in the form of a nested tree. The tree view shows the basic instrument structure and instrument properties that can be modified.

SCRIPT PANEL

Changes within the Tools happen exclusively via running a Lua script. A script can see and modify the instrument copy in the Tools. Scripts can be created and modified with an external editor. The script output will appear in the console output. All console output can be copied to system clipboard via the command /Ctrl-Alt-C.

LOAD ( /CTRL-L)

Opens the file explorer in order to locate a .lua file in disk and load it. The filename of the loaded file will then appear in the filename area.

[Currently the Creator Tools Lua runtime on Windows does not support filepaths that contain Unicode characters. Please rename the script’s filepath accordingly to successfully load it.]

OPEN IN TEXT EDITOR ( /CTRL-O)

Opens the loaded script file in the system’s default editor.

RUN ( /CTRL-R)

Executes the loaded .lua script. Changes are immediately reflected in the Instrument Tree View.

STOP ( /CTRL-I)

Stops the execution of the running script. The Instrument Editor state is reverted, as if the script never run.

CLEAR

Clears all content of the Script Output Panel.

7

Application Manual

GUI Designer

The GUI Designer allows one to assemble, customize and reuse Kontakt performance views and controls without the need to write code. It can generate two types of files, the performance view files (.nckp) and the control files (.nckc).

The performance view files (.nckp) contain all the information about an instrument’s graphical interface. These files are created when a GUI Designer project is saved and can then be loaded in a KSP script (see also Loading in KSP).

The control files (.nckc) are files that are created by exporting a single control or a container of controls (see also Panels). These files can then be imported in a later GUI Designer project, shared with collaborators or set the foundation for building custom UI libraries. Control files cannot be loaded in KSP.

The two main areas of the tool are the Tree View and the Properties.

Tree View

The structure of a Kontakt performance view is displayed here in the form of a tree. A new performance view has one hierarchy level; the root level. More levels can be created when controls are added in panels (see Panels).

Actions on one or more selected controls can be performed from the Tree View’s context menu.

The context menu actions are:

Cut ( /CTRL-X)

Copies selection to the clipboard and deletes it from the tree

Copy ( /CTRL-C)

Copies selection to the clipboard

Paste ( /CTRL-V)

Pastes the controls from the clipboard above selection

Duplicate ( /CTRL-D) Duplicates selection

Rename ( )

Enters renaming mode for selection

Delete ( /CTRL- )

Deletes selection

8

Application Manual

Import ( /CTRL-I)

Opens the system’s file browser in order to locate and import a control file (.nckc) from the disk. The imported control will be placed above the currently selected control

Export ( /CTRL-E)

Opens the system’s file browser in order to save the selected control’s file (.nckc) in a desired location

Adding a control

INSERT CONTROL MENU

A new control can be inserted in the performance view tree from the Insert Control menu. The menu lists all the known Kontakt UI controls, plus a new control called Panel (see Panels).

IMPORT

Previously exported controls can be added in the tree via the Import function of the context menu. Select a control and right click to reveal the context menu. Click on Import and locate the control’s .nckc file in the system’s file browser. Select Open and the control will be added in the tree, on top of the currently selected control.

PANELS

A panel is a control that can contain one or multiple controls. Unlike the rest of the controls, panels don’t have size. They are very useful for grouping controls that are meant to be handled together. Then one can simultaneously modify the Show, Position or zLayer property of all the controls contained in that panel. The position of a contained control is relative to the panel’s position. This means that the control’s (0,0) position is the current (x,y) position of the panel.

Panels can be nested, so they can contain other panels. If panelA is contained in panelB, then panelA will appear in front of panelB. This is because children panels have a higher zLayer value than their parent panels. One could use this logic to easily create hierarchies in a performance view.

Panels can also be used to keep the tree view organized. They can be expanded or collapsed. When a panel is selected and expanded, new controls will be added on top of the panel’s contained controls. When a panel is selected but collapsed, new controls will be added above it, on the same hierarchy level as the panel.

9

Application Manual

PANELS IN KSP

Panels, like any other control, can also be used with pure KSP outside the GUI Designer, using the following new command and control parameter:

declare ui_panel $<my_panel_name>

Creates a panel

set_control_par(<control-to-add-ui-ID>,$CONTROL_PAR_PARENT_PANEL,<panel- ui-ID>)

Adds a UI control (or panel) in a panel

Example: Adding the volume knob in the mixer panel.

declare ui_panel $mixer

declare ui_knob $volume (0,300,1)

set_control_par(get_ui_id($volume),$CONTROL_PAR_PARENT_PANEL,get_ui_ id($mixer))

PROPERTIES

On the right side of the GUI Designer is the Properties area. Here, one can modify the properties of a selected control. Depending on the type of the property, editing can be done via text input, numeric input or dropdown menu selection. When an invalid value is entered, the property will be set to the last valid value. Pressing TAB takes the focus from the Tree View to the Properties area and vice versa.

IMAGE

Image fields take as input the filename of a picture (.png) that is contained in the pictures subfolder of the Resources folder.

Note: The Resources folder is the place to store files that an NKI can use, which are not samples.

For more information please check KSP Reference Manual - Working with the Resource Container.

COLOR

Color fields take as input the hex code (six-digit, three-byte hexadecimal number) of a color. A preview of the set color is displayed on the right side of the color input field.

10

Loading...
+ 21 hidden pages