Plugin Components

HISE features a bunch of commonly used interface controls. Below you see a list of common properties that the most of the Plugin Components share:

List of common properties

Property Type Default Value Description
text String the ID of the control The name or text that is being displayed.How this text is exactly shown(or if it's used at all) depends on the control type.
enabled Boolean true If the control should react on mouse events.Child components will inherit this property.
visible Boolean true If the control is displayed or hidden.Child components will inherit this property.
tooltip String Empty A informative text that will popup if you hover over the control.
useUndoManager Boolean false If enabled, value changes can be undone with the scripting calls Engine.undo()
macroControl Number(1 - 8) -1 Connect this control to a macro control slot.
linkedTo String Empty This property can be used to link certain controls to another control (the value must be the ID of the other control. In this case it will simply mirror the other one and can be used to duplicate controls on different pages.
saveInPreset Boolean Depends on the type If true, this control will be saved in a user preset as well as restored on recompilation.If false, controls will not be stored in the preset and their control callback will not be fired after compilation.This is a very important property and you definitely need to know when to use it.
isPluginParameter Boolean false If enabled, it exposes this control to a DAW for host automation.
pluginParameterName String Empty If this control is a plugin parameter, it will use this name for displaying in the host.
isMetaParameter Boolean false If this control is a plugin parameter and causes other parameters to change their values (eg. a sync button that changes the values of the delay time knob), you'll have to set this to true in order to be fully standard compliant (Logic is known to cause issues when this isn't handled properly).
processorId Module ID Empty The module that is controlled by this control.
parameterId Parameter ID Empty the parameter ID of the module specified above that should be controlled.Use these two properties in order to hook up the control to a single parameter using the exact same range you specified below.As soon as you need something more complex, you need to use the scripting callbacks for it.
defaultValue Number 0.0 The default value for the control (if available). This value will be used at initialisation and if you load a user preset that has no stored value for this particular control (which happens if you add a control and try to load a user preset built with an older version). Sliders / Knobs will also use this as double click value.
x , y , width , height Number Various The absolute pixel position / size of the control.You can use the sliders to change them relatively or just input a number into the text field to set all selected controls to the same value.
bgColour , itemColour , itemColour2 , textColour String or hex number Various the colours for the given control.How these colours are used differs between the control types, but in most cases, bgColour is the background colour and textColour is used for rendering the text, otherwise it would be a bit weird.