Squeezer
Squeezer copied to clipboard
Feature request: VST3 support on Linux
Is your feature request related to a problem? If so, please describe.
A Linux VST3 plug-in seems both feasible and a good solution to the VST2 channel problem in issue #9. Bitwig appears to support this scenario on Linux and @metasequence is willing to help me.
Describe the solution you'd like
A VST3 plug-in that works on at least one DAW.
Describe alternatives you've considered
There is none - side-chains on VST2 are and always will be a hack.
Additional context
Envisioned target: Bitwig 3.1.3 on Ubuntu 20.04 x64
This should be relatively simple. As a preliminary, d231c8874a0be81e585661c8446e90b450b78c2c causes new releases of Squeezer to conform to the new VST3 package format.
My first attempt is done!
Please download and extract this archive. It contains a folder squeezer.vst3
which has to be copied to your plug-in folder completely the way it is. Yes, I know, a folder looks a bit weird, but that's the new VST3 "package format"...
I'd try $HOME/.vst3/
first. If this doesn't work, please read this document for alternative locations.
Good luck!
Wow that was fast! :smiley:
I've given this a try but so far I am unsuccessful in getting it working. The plugin does not show up in either Bitwig or Reaper for me.
I use Linux VST3 plugins from U-he so I have a basic understanding of the format. I have placed the "squeezer.vst3" directory from the archive inside my /home/user/.vst3 where my other plugins are. The directory hierarchy looks good to me and is consistent with other VST3 plugins that are working. Here is the tree:
squeezer.vst3/ └── Contents ├── Resources │ ├── Documentation │ │ ├── CC-BY-SA-4.0 │ │ ├── CONTRIBUTORS │ │ ├── HISTORY │ │ ├── LICENSE │ │ └── squeezer.pdf │ └── Skins │ ├── Default │ │ ├── backgrounds │ │ │ └── background.png │ │ ├── buttons │ │ │ ├── button_about_off.png │ │ │ ├── button_about_on.png │ │ │ ├── button_about_over.png │ │ │ ├── button_auto_makeup_gain_off.png │ │ │ ├── button_auto_makeup_gain_on.png │ │ │ ├── button_auto_makeup_gain_over.png │ │ │ ├── button_bypass_off.png │ │ │ ├── button_bypass_on.png │ │ │ ├── button_bypass_over.png │ │ │ ├── button_curve_linear_off.png │ │ │ ├── button_curve_linear_on.png │ │ │ ├── button_curve_linear_over.png │ │ │ ├── button_curve_smooth_branching_off.png │ │ │ ├── button_curve_smooth_branching_on.png │ │ │ ├── button_curve_smooth_branching_over.png │ │ │ ├── button_curve_smooth_decoupled_off.png │ │ │ ├── button_curve_smooth_decoupled_on.png │ │ │ ├── button_curve_smooth_decoupled_over.png │ │ │ ├── button_design_feedback_off.png │ │ │ ├── button_design_feedback_on.png │ │ │ ├── button_design_feedback_over.png │ │ │ ├── button_gainstage_optical_off.png │ │ │ ├── button_gainstage_optical_on.png │ │ │ ├── button_gainstage_optical_over.png │ │ │ ├── button_knee_hard_off.png │ │ │ ├── button_knee_hard_on.png │ │ │ ├── button_knee_hard_over.png │ │ │ ├── button_knee_medium_off.png │ │ │ ├── button_knee_medium_on.png │ │ │ ├── button_knee_medium_over.png │ │ │ ├── button_knee_soft_off.png │ │ │ ├── button_knee_soft_on.png │ │ │ ├── button_knee_soft_over.png │ │ │ ├── button_reset_off.png │ │ │ ├── button_reset_on.png │ │ │ ├── button_reset_over.png │ │ │ ├── button_rms_window_off.png │ │ │ ├── button_rms_window_on.png │ │ │ ├── button_rms_window_over.png │ │ │ ├── button_settings_off.png │ │ │ ├── button_settings_on.png │ │ │ ├── button_settings_over.png │ │ │ ├── button_sidechain_external_off.png │ │ │ ├── button_sidechain_external_on.png │ │ │ ├── button_sidechain_external_over.png │ │ │ ├── button_sidechain_listen_off.png │ │ │ ├── button_sidechain_listen_on.png │ │ │ ├── button_sidechain_listen_over.png │ │ │ ├── button_skin_off.png │ │ │ ├── button_skin_on.png │ │ │ └── button_skin_over.png │ │ ├── Default.svg │ │ ├── green_lemon.svg │ │ ├── labels │ │ │ └── label_debug.png │ │ ├── LICENSE │ │ ├── meters │ │ │ ├── meter_gain_reduction.png │ │ │ ├── meter_input.png │ │ │ └── meters_vertical.png │ │ └── sliders │ │ ├── slider_attack.png │ │ ├── slider_hpf.png │ │ ├── slider_output.png │ │ └── slider_threshold.png │ └── Default.skin └── x86_64-linux ├── squeezer_mono_vst3_x64.so └── squeezer_stereo_vst3_x64.so
11 directories, 71 files
Bitwig has a log for plugins with errors, but it doesn't show anything at all for Squeezer so it looks like it may not even be trying to initialize it. I need to do some research to see what kind of debug options are available here.
It does not show in Reaper for Linux either. Again, I need to do some research here to see what debug options are available.
I'm going to continue working on this and see if I can provide anything useful.
Here's what I get from Bitwig debug. It looks like there is a reference to a file from the i686 version that is not included.
[2020-05-24 14:39:03 indexer error] Could not read metadata for squeezer.vst3: java.io.IOException: com.bitwig.flt.library.metadata.reader.exception.CouldNotReadMetadataException: could not read metadata: /home/user/.vst3/squeezer.vst3/Contents/i686-linux/squeezer.so at fd.vnk(SourceFile:45) at fd.Zmw(SourceFile:21) at znp.ogB(SourceFile:840) at znp.HXU(SourceFile:771) at wxu.HXU(SourceFile:591) at xcI.HXU(SourceFile:44) at xcI.preVisitDirectory(SourceFile:16) at java.base/java.nio.file.Files.walkFileTree(Unknown Source) at tZy.ogB(SourceFile:622) at tZy.HXU(SourceFile:604) at mCP.HXU(SourceFile:276) at Iju.HXU(SourceFile:881) at znp.HXU(SourceFile:565) at znp.ogB(SourceFile:189) at znp.HXU(SourceFile:139) at FoR.HXU(SourceFile:573) at DvM.HXU(SourceFile:1025) at DvM.ogB(SourceFile:897) at pBu.ogB(SourceFile:110) at pBu.run(SourceFile:91) at gnb.run(SourceFile:20) Caused by: com.bitwig.flt.library.metadata.reader.exception.CouldNotReadMetadataException: could not read metadata: /home/user/.vst3/squeezer.vst3/Contents/i686-linux/squeezer.so at AC.HXU(SourceFile:163) at AC.Zmw(SourceFile:30) at v2e.Zmw(SourceFile:14) at fd.vnk(SourceFile:41) ... 20 more Caused by: java.nio.file.NoSuchFileException: /home/user/.vst3/squeezer.vst3/Contents/i686-linux/squeezer.so at java.base/sun.nio.fs.UnixException.translateToIOException(Unknown Source) at java.base/sun.nio.fs.UnixException.rethrowAsIOException(Unknown Source) at java.base/sun.nio.fs.UnixException.rethrowAsIOException(Unknown Source) at java.base/sun.nio.fs.UnixFileAttributeViews$Basic.readAttributes(Unknown Source) at java.base/sun.nio.fs.UnixFileSystemProvider.readAttributes(Unknown Source) at java.base/sun.nio.fs.LinuxFileSystemProvider.readAttributes(Unknown Source) at java.base/java.nio.file.Files.readAttributes(Unknown Source) at tZy.ogB(SourceFile:214) at eFJ.HXU(SourceFile:231) at eFJ.HXU(SourceFile:209) at Iju.HXU(SourceFile:369) at com.bitwig.base.io.SaB.HXU(SourceFile:20) at qeL.JDw(SourceFile:117) at qeL.b_(SourceFile:87) at JrW.Zmw(SourceFile:470) at ZxV.ogB(SourceFile:34) at kvd.HXU(SourceFile:106) at kvd.JDw(SourceFile:101) at PGP.HXU(SourceFile:284) at AC.HXU(SourceFile:159) ... 23 more
[2020-05-24 14:39:03 base-util info] Updating index /home/user/.vst3 for phase vst3_plugins_64: time=4.433068 [2020-05-24 14:39:03 base-util info] Updating index /home/user/.winvst for phase vst3_plugins_64: time=8.646515 [2020-05-24 14:39:03 base-util info] Updating index /home/user/.vst for phase vst3_plugins_32: time=0.848963 [2020-05-24 14:39:03 indexer error] Could not read metadata for squeezer.vst3: java.io.IOException: com.bitwig.flt.library.metadata.reader.exception.CouldNotReadMetadataException: could not read metadata: /home/user/.vst3/squeezer.vst3/Contents/i686-linux/squeezer.so at fd.vnk(SourceFile:45) at fd.Zmw(SourceFile:21) at znp.ogB(SourceFile:840) at znp.HXU(SourceFile:771) at wxu.HXU(SourceFile:591) at xcI.HXU(SourceFile:44) at xcI.preVisitDirectory(SourceFile:16) at java.base/java.nio.file.Files.walkFileTree(Unknown Source) at tZy.ogB(SourceFile:622) at tZy.HXU(SourceFile:604) at mCP.HXU(SourceFile:276) at Iju.HXU(SourceFile:881) at znp.HXU(SourceFile:565) at znp.ogB(SourceFile:189) at znp.HXU(SourceFile:139) at FoR.HXU(SourceFile:573) at DvM.HXU(SourceFile:1025) at DvM.ogB(SourceFile:897) at pBu.ogB(SourceFile:110) at pBu.run(SourceFile:91) at gnb.run(SourceFile:20) Caused by: com.bitwig.flt.library.metadata.reader.exception.CouldNotReadMetadataException: could not read metadata: /home/user/.vst3/squeezer.vst3/Contents/i686-linux/squeezer.so at AC.HXU(SourceFile:163) at AC.Zmw(SourceFile:30) at v2e.Zmw(SourceFile:14) at fd.vnk(SourceFile:41) ... 20 more Caused by: java.nio.file.NoSuchFileException: /home/user/.vst3/squeezer.vst3/Contents/i686-linux/squeezer.so at java.base/sun.nio.fs.UnixException.translateToIOException(Unknown Source) at java.base/sun.nio.fs.UnixException.rethrowAsIOException(Unknown Source) at java.base/sun.nio.fs.UnixException.rethrowAsIOException(Unknown Source) at java.base/sun.nio.fs.UnixFileAttributeViews$Basic.readAttributes(Unknown Source) at java.base/sun.nio.fs.UnixFileSystemProvider.readAttributes(Unknown Source) at java.base/sun.nio.fs.LinuxFileSystemProvider.readAttributes(Unknown Source) at java.base/java.nio.file.Files.readAttributes(Unknown Source) at tZy.ogB(SourceFile:214) at eFJ.HXU(SourceFile:231) at eFJ.HXU(SourceFile:209) at Iju.HXU(SourceFile:369) at com.bitwig.base.io.SaB.HXU(SourceFile:20) at qeL.JDw(SourceFile:117) at qeL.b_(SourceFile:87) at JrW.Zmw(SourceFile:470) at ZxV.ogB(SourceFile:34) at kvd.HXU(SourceFile:106) at kvd.JDw(SourceFile:101) at PGP.HXU(SourceFile:284) at AC.HXU(SourceFile:159) ... 23 more
[2020-05-24 14:39:03 base-util info] Updating index /home/user/.vst3 for phase vst3_plugins_32: time=0.799604
--
In Reaper I can see that the plugin is detected and scanned by Reaper with ID 0038FA15E531D601, but it is not initialized.
Hope this helps!
Thanks for your efforts!
In contrast to what I believed, my C++ framework does not support VST3 on Linux yet. Full support has been announced for the next release which should arrive in June.
So I think we should stop here and not waste efforts. I will look into this when I upgrade, but this will probably not be until the end of this year. I have been an early upgrader, but have now learned to wait until most of the new bugs have been fixed...
Sounds good and makes sense. I'll look forward to testing a new version when you have updated.
Any news on this? A VST3 is much easier to package for distros.
No, sorry. As I wrote above, I won't touch this until the end of the year. Otherwise, chances are too high that I'll include some nasty bugs.
OK, thanks.
Christmas is here (almost), so how about a little present? https://public.mzuther.de/?dbb193b9276655d4a6c9df6718077d09d6f12e30
This VST3 plug-in works on my Linux Mint 20 with Reaper 6.18. :smile: Mono and stereo processing is supported and I have added UI scaling ("Skin" button), so it would be nice if you checked this functionality.
I thought I'd ask again. :)
It basically works, but there is an issue of the VST3 plugin regarding saving and restoring settings in FL Studio (and possibly other hosts). I will only release a new version when this is fixed, but I have almost no spare time for developing Squeezer.
Let's bump :)
This is a very nice compressor, but would love proper sideband support for Linux. Any news on releasing a vst3 (or clap, while I'm dreaming)?
clap can be done with https://github.com/free-audio/clap-juce-extensions