NOTE: Please upgrade to v0.4.1!
This is a new release of VSTPlugin
- a UGen to load VST plugins in Supercollider on Windows, macOS and Linux.
Binaries can be downloaded here: https://git.iem.at/pd/vstplugin/-/releases
If possible, please report any issues at https://git.iem.at/pd/vstplugin/issues, otherwise leave a comment here.
Changelog
Features
-
automatic bit bridging (load 32-bit plugins on a 64-bit Server and vice versa).
-
VSTPluginController.open
:mode
argument for sandboxing (\sandbox
) or bridging (\bridge
). Both options allow plugins to crash safely without taking down the Server. This can be handy for buggy/unstable plugins (especially during live shows).
-
VSTPluginController.open
:multiThreading
argument for multithreading (process the plugin in a seperate worker thread to utilize more CPU cores) -
VSTPlugin.ar
:blockSize
argument for reblocking. Some plugins might run more efficiently at higher block sizes. -
VSTPlugin.ar
:info
argument can now be a symbol (get the plugin from the default Server) -
VSTPluginController.collect
method to get controllers for allVSTPlugin
instances in a given SynthDef -
VSTPluginController.latency
to query current latency orVSTPluginController.latencyChanged
callback function for latency change -
VSTPluginController.pluginCrashed
callback function for plugin crash (only sandboxed/bridged plugins) -
VSTPluginController
preset methods now also accept preset Events -
VSTPluginController.preset
method returns current preset
Improvements/Bug Fixes
-
VSTPlugin.ar
now storesinfo
andid
arguments in SynthDef metadata, so they can be serialized to/from disk (e.g. inSynthDef.store
) -
fix
VSTPlugin.searchMsg
-
improve general error handling: throw Errors/MethodErrors whenever possible/practical
Changes
-
you can only omit the
id
argument inVSTPlugin.ar
if the SynthDef contains a singleVSTPlugin
instance -
VSTPluginController
preset methods are now async by default -
VSTPluginDesc
: deprecateisSynth
andhasEditor
in favor ofsynth
andeditor