What Can I Do with Plug'n Script (and What Can't I?)
This is a very good question. By understanding the limitations and possibilities of this tool, we can make the most of it.
In short, I would confidently say that 90–95% of the plugins we use in our DAWs can be created with Plug'n Script. While it may not be perfect for every situation, it is capable of handling most tasks we need.
DSP Limitations
Plug'n Script DSP API abstracts away the complexity of the original plugin SDK and provides access to several key features, such as audio and MIDI data, transport information (e.g., current position in the DAW, tempo, playback state), and input/output parameters and strings. In most cases, this is sufficient, but there may be instances where deeper access to a specific plugin API is required, which is not possible.
Examples
Currently, I find a few minor features missing in the DSP API:
- The ability to retrieve the current track name. While not all DAWs support this, it would still be a useful feature.
- The ability to set a default plugin type for the VST3 format while exporting (e.g., FX::Dynamics) and plugin version (e.g. "1.2.44")
- The ability to disable automatic tiny crossfades on bypass. These are usually helpful but can sometimes interfere.
Additionally, if you're creating a MIDI processing plugin, Plug'n Script MIDI processing capabilities can vary, depending on the plugin format and the DAW.
GUI Limitations
The GUI is limited only by the capabilities of the KUIML language, which is used for all Blue Cat Audio plugins. KUIML is already quite powerful, but if a feature is not implemented in KUIML, there is (almost) nothing you can do about it.
Examples
There are some minor difficulties with KUIML still:
- no easy way to change cursors in your custom widgets
- no easy way to get big amount of binary/numeric data from DSP (only using strings)
- no easy way to use POST in https requests (only GET for now)
But there are often workarounds if you're searching.
For a long time, I was concerned about KUIML's capabilities: Can we create a GUI as complex as FabFilter Pro-Q, for example? Can we draw anything we want? Can we go full screen? Can we make a plugin window resizable? Can we create custom controls and widgets? Now, I can confidently answer "yes" to most of these questions. While some tasks are challenging to implement and KUIML can be tricky at times, it remains a powerful and versatile tool.
KUIML is excellent for the rapid development and maintenance of complex, dynamic GUIs that work seamlessly on both Windows and Mac. The GUI features developed by Blue Cat Audio for their own plugins are available to us, which is fantastic!
Comments
Please, authorize to view and post comments.