VSTPlugin 0.5 pre-release

This is a test release for VSTPlugin v0.5 - an extension to load VST2 and VST3 plugins in Supercollider on Windows, macOS and Linux.

Binaries can be downloaded here:
https://git.iem.at/pd/vstplugin/-/releases/v0.5-test1
https://git.iem.at/pd/vstplugin/-/releases/v0.5-test2
https://git.iem.at/pd/vstplugin/-/releases/v0.5-test3
https://git.iem.at/pd/vstplugin/-/releases/v0.5-test4

Besides testing the new features, it would be great if you could run your existing projects with the new version and check if everything is still working as expected.

If possible, please report any issues at https://git.iem.at/pd/vstplugin/issues , otherwise leave a comment here.


Important changes/features:

  • JITLib integration: new VSTPluginNodeProxyController class and some NodeProxy roles (\vst, \vstFilter and \vstDef)

  • VST3: support for multiple input/output busses (see VSTPlugin.ar and VSTPluginDesc -inputs and -outputs)

  • VST3: fixed possible wrong channel count (regression introduced in v0.4)

  • Linux: allow to run 32-bit and 64-bit Windows plugins (via Wine)

  • Linux: fix non-functional VST3 editor

  • some thread-safety improvements which fix occasional crashes with NI plugins (and possibly others)

The full changelog is here:
https://git.iem.at/pd/vstplugin/-/releases/v0.5-test1
https://git.iem.at/pd/vstplugin/-/releases/v0.5-test2
https://git.iem.at/pd/vstplugin/-/releases/v0.5-test3
https://git.iem.at/pd/vstplugin/-/releases/v0.5-test4

WARNING This release contains certain breaking changes in the UGen implementation (see changelog). Users of sclang are not affected, but existing alternative clients have to be updated!

6 Likes

Oh great! This week, I’m going to teach vstplugin~ (for Pd) – I’ll give them the new version except I did find a regression (logged) for the pd external.

There is something funny about the link to the binaries… if I click on it, it does nothing. Firefox “Inspect element” shows <a>https://.....</a> (no href property!). Maybe there’s a forum bug?

hjh

There is something funny about the link to the binaries… if I click on it, it does nothing.

@jamshark70 I accidentally created a broken link, just fixed it. Thanks!

Oh great! This week, I’m going to teach vstplugin~ (for Pd) – I’ll give them the new version except I did find a regression (logged) for the pd external.

@jamshark70 I’ve fixed the regression and I’m about to release v0.5-test2. It would be great if you could test the new version with your students and see if there are any showstoppers!

Ok, VSTPlugin v0.5-test2 is now available and I’ve updated the links above.

I’ve fixed two regressions in v0.5-test1

  • macOS wouldn’t recognize any VST2 plugins :man_facepalming:
  • the Pd version could deadlock when loading a preset while DSP is turned off

That was fast! Will try within the next day.

Thanks,
hjh

@Spacechild1 I just tried this out for the first time in SuperCollider, but for the initial scan for plugins using VSTPlugin.search I’m gettting this error:

-> VSTPlugin
FAILURE IN SERVER /cmd failed
ERROR: Failed to read tmp file!

is this a permission thing?

thanks

ok for some reason using Quarks.install({path_to_vstplugin_dir}) didn’t work

I had to add the folder to ~/Library/ApplicationSupport/SuperCollider/Extensions

Now the scan works

Does Quarks.install not recognise the server plugins? I’m confused about the difference between Quarks and Extensions

Does Quarks.install not recognise the server plugins? I’m confused about the difference between Quarks and Extensions

Yes, Quarks only support language extensions, they don’t handle Server plugins.

I guess I need to put some installation instructions in the README.

Great, thanks for clarifying!

I’ve just pushed v0.5-test3 - which (hopefully) is the last pre-release before the final release - and I’ve updated the links above accordingly.

I fixed a few bugs and improved the multibus handling.

Please test and report back!

2 Likes

Hello, I have a problem with Arturia VST3’s (and some vst2’s). I think it’s the known timeout problem, but the fix that I found, which you posted 2 days ago still doesn’t fix it. It still black-lists the plugins after the first “error! subprocess timed out after 10 seconds!”.
I hope there is a solution to this. Thank you for your amazing work.

@Yorgos_Hol Thanks for testing. A few question:

  1. What’s your operating system?
  2. Did the plugins work with a previous version of VSTPlugin?
  3. Are 100% sure that you’re using v0.5-pre3? Please double check if you see VSTPlugin 0.5-pre3 in the console.
  4. Did you clear the plugin cache with VSTPlugin.clear before doing a search with v0.5-pre3?

Thanks for answering.

  1. Windows 10 64-bit 18363.1500
  2. Yes, I used 0.4 before. 0.5 solved a problem that existed with recognizing 2 outputs (stereo) [thanks for that], so that’s why I don’t want to go back to using 0.4.
  3. Affirmative
  4. I did clean the cache up now, but with no difference, sadly.

(it happens mostly with vst3 plugins, but so far only with arturia ones)

Thanks for your quick answer! Can you do the following:

  1. install the following version: https://drive.google.com/file/d/1oJbgRHLUwQzbE_Ssjpnjdp74WJSOzXUu/view?usp=sharing
  2. reboot the server
  3. clear the cache with VSTPlugin.clear
  4. do a new search and send me the complete console output (since booting the Server) as a .txt file

BTW, do you get the timeout problems if you do VSTPlugin.clear; VSTPlugin.search(parallel: false)?

I have sent you a message, thank you very much, once again.

Here comes a final test round: v0.5-test4 · Pure Data libraries / vstplugin · GitLab

I’ve fixed more regressions related to multibus handling and I’ve made the probe timeout entirely optional (see the new timeout argument for VSTPlugin.search).

This looks like it could be really useful. Very cool, @Spacechild1 . Ta. :slight_smile:

I’m wondering if there’s any plan, or even if it’s possible to support mac audio units? I’m inherently lazy, and would like to avoid seeking out and installing VST versions of the plugins I use.

I can’t really expect someone else to do a load of work to accomodate my laziness, though… So not a request, just a general query.

Thanks again.

I have been thinking about generalizing VSTPlugin to something like AudioPlugin with VST, AU and LV2 support. Of course, this would be very nice.

However, I don’t really use AU or LV2 plugins, so I have no personal interest in implementing this. If someone wants me to do it, they would have to hire me as a contractor.

(BTW, I developed the first version of VSTPlugin as a contract worker at the IEM)

1 Like