FFGL has some limitations as a plugin format which in turn limit the capabilities of this plugin beyond our control.
Loading a Block will pause output until loading completes. Blocks are shared between instances of the plugin, so if one instance uses a Block it gets cached for all instances using that Block.
When a project is opened containing instances of the plugin, the instances are only initialised - and therefore the Notch Block loaded - only when it gets displayed for the first time. You’ll need to go through every instance of the plugin and display it when you first load the project to ensure you don’t get pauses during playout. This is due to the lifecycle of an FFGL plugin in the host, so we can’t change it.
Notch Block rendering and update rate is controlled by the host application, and performance is ultimately determined and limited by the host application. Some hosts are more efficient than others.
The FFGL SDK does not allow dynamically changing properties (even on load). Therefore, there are some limitations on how Notch’s exposed parameters can be handled.
Hard limit of 32x exposed properties per type. (i.e. 32x floats, 32x ints, 32x strings)
All float values are shown as 0-1 and then scaled to the range specified when exposing your parameter in Notch Builder.
Exposed property groups are not supported.
Multiple video input parameters are supported, but only if the host application supports this via FFGL. Most only support a single input.