Fundamentals
Export Targets
Code Export
Patcher UI
Special Topics
RNBO Raspberry Pi OSCQuery Runner
Export Description
The exported description (description.json for C++, contained in the export JSON for WASM export) contains structured data about your patcher.
After exporting a RNBO patch as C++ or WASM code, you should see a handful of files in the export directory.
├── cpp-export-directory/ │ ├── dependencies.json │ ├── description.json │ ├── exported-patch.cpp │ ├── presents.json │ └── rnbo/ └── js-export-directory/ ├── dependencies.json ├── exported-patch.export.json └── exported-patch.export.license
Along with the exported code itself, these files contain a JSON description of your patch, including all of the parameters and data refs in your export. For C++ export, this structured information is in `description.json`. For WASM export, it's included in the `export.json` bundle.
Parameter Description
Keys marked "Internal Use" are used by RNBO internally. You shouldn't change this data or try to use it for anything.
Key | Description |
---|---|
type | One of ParameterTypeNumber, ParameterTypeList, ParameterTypeBang, ParameterTypeSymbol, or ParameterTypeCount. Almost always ParameterTypeNumber for user-defined parameters. |
index | Index of the parameter. Set internally, do not modify. |
name | Name of the parameter. Possibly different from paramId, but usually the same. |
paramId | Unique identifier string for this parameter. |
minimum | Minimum value for the parameter. Feel free to edit this, but subsequent exports may override your change. |
maximum | Maximum value for the parameter. Feel free to edit this, but subsequent exports may override your change. |
exponent | Exponent value for the parameter. Feel free to edit this, but subsequent exports may override your change. |
steps | Number of steps for the parameter, for discrete-valued parameters. Feel free to edit this, but subsequent exports may override your change. |
initialValue | Initial value for the parameter. Feel free to edit this, but subsequent exports may override your change. |
isEnum | Whether or not the parameter uses enumerated values. |
enumValues | The enumerated values of the parameter. |
displayName | Display name for the parameter. Feel free to edit this, but subsequent exports may override your change. |
unit | Unit or symbol to describe the parameter. |
order | Order in which the parameters will be initialized. Lower is sooner. Can also be symbolic, using "first" or "las |
displayorder | Order in which the parameters will be displayed. Lower is sooner. Can also be symbolic, using "first" or "last". |
sendinit | Whether or not to send the parameter's initial value to any connected objects on patcher load. |
initialized | Internal use. |
debug | Internal use. |
saveable | Internal use. |
transmittable | Internal use. |
visible | Internal use. |
signalIndex | Internal use. |
ioType | Internal use. |
serialId | Internal use. |
constrainFunc | Internal use. |
Visible and Debug
Exported parameters have two properties: visible and debug, which are marked for internal use. As of this writing, there is not way to hide parameters from exported targets. The only way to mark a parameter as hidden is by using metadata, and by defining a custom target. For example, in your param object you could write something like:
param size @meta hidden:true
Then in your application code, you could ignore params with hidden: true
in their metadata. For example, if you were working from the JUCE starter template, you could modify the constructor for. RNBOAudioProcessorEditor
to exclude from display params with specific metadata.