attilammagyar/js80p

Linux VST3 binary release should be in a folder

crshrprt opened this issue · 3 comments

Thank you for this interesting plugin.

I noticed that the Linux binary release zip file contains among other files the plugin binary called either js80p.vst3 or js80p.so.

I can't use the file as it is in the binary release zip file.

To make it work with the plugin hosts/DAWs I use, mainly Bespoke Synth, Ardour and Carla it needs to be put inside a correct VST3 bundle folder structure ( Steinberg VST3 Plug-in Format Structure docs ).

In short, the zip files should contain a folder and files with this structure:

js80p.vst3/
└── Contents
    └── x86_64-linux
        └── js80p.so

EDIT: I see you already have a merged release with the correct structure, so this problem should be addressed only for the Linux VST3 single file?

The single file VST3 distributions exists because some hosts on some platforms have trouble with loading VST3 bundles.

But since issue #20 and JS80P v1.8.0, VST3 bundles are available for both AVX compatible x64 systems and SSE2 compatible x86 and x64 systems. Inside these ZIP files you can find the js80p.vst3 bundle directory that you can copy to ~/.vst3 on Linux and to C:\Users\YourUserName\AppData\Local\Programs\Common\VST3 on Windows.

Duplicate of #20

EDIT: I see you already have a merged release with the correct structure, so this problem should be addressed only for the Linux VST3 single file?

No, because the single file distributions with the deprecated format are intended to be used when a host fails to recognize the plugin from the bundle due to the uname() kerfuffle. If they were using the same directory structure, then they would fail to be loaded the same way. If a host suffers from the uname() problem and doesn't support the legacy format at the same time, then we're out of luck.

Though you're right in that the official SDK code doesn't seem to support the single SO file named as .vst3 format on Linux, there are hosts that can load the plugin from this format despite the official SDK; one example is Reaper, which also happens to suffer from the uname() problem.