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.