Setting up VST3 plugins without yabridgectl is a lot of work and quite
error prone, so it seems like a good idea to now modify the CI build
artifacts to merge the yabridgectl binary in with the regular archives.
Those also resolves#67.
This is in some cases needed to get decent performance in REAPER, as
REAPER seems to query this information (which cannot change without the
plugin requesting a restart) four times per second.
This can absolutely destroy performance when using VST3 plugins. REAPER
also does something similar with bus information from the audio
thread (for which we had to build in a caching layer), but with these
plugin bridges a VST3 plugin will quickly use ten times as much CPU time
as it should be using.
It sort of goes against yabridge's principles to not do these
unnecessary `audioMasterGetTime()` calls if the plugin does that, but it
also hurts the user experience to not have this as a default.
We still need to do a lot of testing, and before that there are quite a
few things I need to fix or take a look at, but now we at least
technically support all VST 3.7.1 features.
This also changes the refresh rate for most plugins. You can now lower
this setting if your computer is struggling to keep up with rendering a
certain heavy plugin.
But do suggest enabling them in the readme and enable them on the CI.
Having them enabled by default breaks clangd/ccls, which doesn't sound
like a great idea.
https://github.com/mesonbuild/meson/issues/8146
Since the change that would fix these issues in some cases (but probably
not all) got reverted. We'll have to wait for Ardour to support more
flexible IO arrangements.
There were still some mentions of the old symlink based installation
method there. Since this tends to be a source of issues, it's better to
just remove all mentions of it from the main readme.
This is needed to support Ardour. These extra hops and serialization
steps will probably hurt performance, but outside of some huge hacks (to
connect the components directly anyways) there's not much else we can
do.