Skip to main content

Node Properties: plugin

The plugin node supports several properties. Below, the basic properties are listed first, followed by more advanced options for complex use cases. The data type for each property is also provided.

Basic Properties​

name (required)​

Type: string

The name of the plugin for this map to become active. This must match the name of the plugin as it appears in Reaper.

hideSubmodules​

Type: bool

Set this property to true if the map should use the NoSubmoduleView, hiding submodules from the view.


Advanced Properties​

For more complex plugins with dynamic parameters, the following options are available:

ignoreIfRegexPattern​

Type: string (regular expression)

A regular expression pattern for parameter names that should be ignored. This is mostly relevant when the matchingMode property is set on a module node.

parameterNameRegexPattern​

Type: string (regular expression)

A regular expression pattern used to extract specific data from the parameter's name.

parameterNameCaptureGroup​

Type: unsigned int

When using parameterNameRegexPattern, this property defines which capture group corresponds to the parameter name.

moduleNameCaptureGroup​

Type: unsigned int

When using parameterNameRegexPattern, this property defines which capture group corresponds to the module name.

moduleInstanceCaptureGroup​

Type: unsigned int

When using parameterNameRegexPattern, this property defines which capture group corresponds to the module instance. The module instance is typically a string that allows KnobConnector to differentiate between multiple instances of the same module name.

formattingProfiles​

Type: object
You can define multiple profiles for formatting a value expression and share them across several parameters. A basic formatting profile section looks like this:

[plugin.formattingProfiles.Hz]
rounding = "nearest"
digitsAfterPoint = 1

[plugin.formattingProfiles.kHz]
rounding = "nearest"
digitsTotal = 4

The following settings are available and can be combined as necessary. However, at least one of these settings must be set for the formattingProfile to be valid.

rounding​

Type: string (enum)
Defines the rounding behaviour of this formatting profile. Valid values are nearest, floor, ceil and none.

digitsAfterPoint​

Type: integer
The number of digits after the decimal point. A value of 1 will change 0.75 to either 0.7 or 0.8, depending on the rounding setting.

digitsTotal​

Type: integer
The number of digits in total. A value of 3 will change 10.75 to either 10.8 or 10.7, depending on the rounding setting.

onlyIntegers​

Type: boolean
No digits after the point are allowed. If true, this will change 0.75 to either 1 or 0, depending on the rounding setting.

removeTrailingZeros​

Type: boolean
Whether to remove all zeros after the decimal point (e.g., 1.0 will be shown as 1, but 0.9 will remain unchanged).

unitConversions​

Type: object
You can define multiple unit conversions for formatting a value expression and share them across several parameters. A basic unit conversion section looks like this:

[plugin.unitConversions.kHz]
threshold = 1000.0
unit = "kHz"
factor = 0.001
formattingProfile = "kHz"

[plugin.unitConversions.ratioOnlyInt]
threshold = 1000.0
unit = ": 1"
factor = 1
formattingProfile = "RoundedInt"

threshold (required)​

Type: double
The (evaluated) value at which this conversion profile is applied.

factor (required)​

Type: double
The value that the original value from the value expression will be multiplied by when this conversion profile is applied.

unit​

Type: string
The unit to be appended after the evaluated expression and formatted string when this conversion profile is applied.

formattingProfile​

Type: string The formatting profile to use when this unit conversion is applied.