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.