RNBO Source
With this website you're able to create your own plugins for FMOD using exported source code from Cycling 74 RNBO or Pure Data. I'm thinking about extending the functionality to WWise. For now it is RNBO, Pure Data (Heavy) and FMOD.
This is also intended to be a crowd plugin project. All plugins created will be listed under the plugins window for everyone to download. For now you can also make the plugin private, which will be a paid feature in the future (probably).
Step 1. Designing the Plugin
First you have to design your plugin in RNBO. Create a new project and add an rnbo~ object.
RNBO Design instructions
- Name your Plugin by either naming the rnbo object in the inspector or adding a |param| object with argument
Name_<PluginName>
. The naming has the following priority: object name > Classname (export) > Name_ parameter.
- Create an RNBO patch as you like either as an instrument or effect. The presence of
in~
andout~
objects determines the type.
- (Optional) Add
param
objects that you need. min, max, value and unit attributes will automatically be transferred.
- (Optional) Add any or multiple of the following
inports
that will receive 3d-Attributes from the source as a list:
Argument | Explanation |
---|---|
rel_pos | Relative Position |
rel_vel | Relative Velocity |
rel_forw | Relative Forward Vector |
rel_up | Relative Up Vector |
abs_pos | Absolute Position |
abs_vel | Absolute Velocity |
abs_forw | Absolute Forward Vector |
abs_up | Absolute Up Vector |
For example to receive the relative position (xyz) from the event to the listener:
If any of those inports are present in the plugin, the event is automatically turned into a 3D event (even without a spatialiser), when it is an effect. For instrument plugins, you must add a spatialiser to preview the effect in FMOD Studio.
(Optional, effect only) Add how long after the plugin became quiet, it should leave the event alive (for example if you have delays or reverb other any other tail). This is done over another parameter
Sys_tail <ms>
.
For example for keeping it 0.5 seconds alive after being quiet. If this isn't set, the event is stopped immediately. So insert at least 1ms to enable checking the output volume.Export it as a C++ Source Code. If you haven't specified a name, you can set one here as Classname. No other modifications are needed.
Step 2. Compiling the Plugin
- Create an account. This way you can manage your plugins and update or download them. Your data isn't used in any other way than for providing this service.
- Go to projects and press the +-Button.
- Upload the folder that has been exported by RNBO.
- See, whether the name, the type and the in- and outputs are detected correctly.
- Select the desired operating systems you need and press start workflow.
- In the background the plugin will get compiled to the different architectures. As soon as this is over, a download button appears. This takes 1-2 minutes. Currently windows takes much longer, around 3-4 unfortunately...
- You can add a description and the max patch file for others to read or to study and to alter the plugin.
Here, you also can make it private. - If you find any bugs or something isn't working as expected, feel free to contact me.
Things to consider
Feel free to try out the additional GUI Compiler here.
The performance of these plugins is worse than the ones FMOD provides. You can and maybe should test the performance with the profiler of FMOD-Studio.
If you're feeling generous, you can donate here.
;