HISE Docs

Scriptnode Editor

After adding a Scriptnode module to the Module Tree you can edit its DSP network the ScriptNode Editor. Click the little Open in.. icon on the audio module to connect and display it's network in the Scriptnode Editor.

The Scriptnode canvas

In the middle of the interface you can see the Scriptnode Canvas. It is a zoomable map of the DSP network tree. You can use [Ctrl + Mousewheel] to zoom in/out, and move the view on the empty sides or with [clicked Mousewheel] anywhere in the map.

It features:

You can add new nodes by clicking inside the container node and selecting a new node from the Add node popup . You can drag them around, mute them, fold them with [double-click], change their individual parameter values, unhide their parameters (in case of containers), and delete them with the little X or [DEL]. For a complete reference and description of each node, please take a look at the Scriptnode Node List .

If you want to take a look at some examples check out the Scriptnode Snippets in the Snippet Browser .

Add Node Popup

Select a node from the list to display its details on the right side of the popup. You can also type its name in the search bar or filter the node list using tags, which group the nodes into categories. Add them to the network with [double-click] or [Enter].

Pressing the help button (or [F1]) with a selected node will open the nodes documentation in the web browser. If you have already added a node to your network you can open its HISE inhouse documentation with [F1].

Toolbar

The toolbar contains a selection of various function / helper tools that you will need during the development of scriptnode networks:

The Node List

On the left side of the editor you can see a list of all nodes and parameters of the network:

Parameters

This is shortcut to quickly create new Parameters in the outermost container node. Next to the value changer is a little modulation icon with which you can quickly connect their parameter value to node parameters in the map.

Used Nodes

A list of all nodes that are currently used in the network. If you click on a node, it will focus the selection (you can select multiple nodes by holding down the command modifier). This can be an effective way of navigating big networks where you need to focus on certain parts.

Unused Nodes

This is a list of nodes that have been created but removed from the current processing chain. If you delete nodes, they will be kept around and can be easily reinserted later. You can delete the nodes permanently in the Add node popup

Node Properties

On the right panel of the Scriptnode Editor you can see the Node Properties . It shows the properties of the currently selected node. If you have selected multiple nodes it will show all properties in a list, so that you can edit multiple properties at once.

Parameter Editing

One of the most important tasks when developing DSP algorithms is to be able to quickly tweak parameters sliders and set appropriate ranges. There are a bunch of helper tools in Scriptnode that will help you with this. Every parameter slider in scriptnode has a few extra functions worth mentioning:

Parameter popup

[Right clicking] on a slider will open up a popup menu where you can edit its raw slider properties. This gives you full flexibility and precision in setting values but the range editor (see below) features a few QOL (quality-of-live) functions that may ease the process.

The Range editor

If you hover over a slider it will show a bidirectional arrow icon on the top left. Clicking on that arrow will open the range editor.

Hold [ALT] to preview and edit the range view when hovering over different sliders.

You can change the sliders properties with:

This range will be used to convert incoming parameter values (cables). An example: If you have a parameter that is mapped from 2 to 4 sent in to a normalised value of 0.5 (either through modulation or another parameter), it will calculate the actual value using that range (so in this case 3). Changing the range of the knob will also change this, so if you change the maximum to 6, it will then set the value to 3.

Normalised modulation is just the default mode of operation in scriptnode, but there is also another mode which bypasses the target range and sends the raw value. This is called unscaled modulation. If you want to read more about this, take a look at the control factory.

Right clicking on a range editor will open a context menu with options to:

Item Description
Make sticky Enabling this will keep the range editor visible after you hovered over it.
Load Range preset This will show a submenu with a selection of available range presets (see below).
Save Range preset You can also save your own range presets which will then show up in the list.
Reset range this will reset the range to the original range.
Reset skew this will remove the skewing making it a linear range.
Invert range this will invert the parameter so that it goes from maximum to minimum. Obviously this is only interesting when the parameter is controlled by another source.
Copy range to source If the parameter is connected to a source, this will make the source range copy the target range. If you have a single connection, this makes sense as it avoids the conversion between source and target range. Note that if you have a single connection with different ranges, it will show a warning sign at the meta parameter and clicking on this will perform the exact same operation as this.

Script driven nodes

Scriptnode features nodes that evaluate a script to produce or manipulate audio: After creating a new file, you can click on the little Open in.. symbol on the nodes surface to open its script in the Code Editor .