Added LV2 plugin, added Standalone, removed legacy VST2 plugin
Update Tunefish4.jucer to make it compile in modern Linux systems with modern JUCER version.
VST2 is legacy, and required manually downloading some SDK files from a web archive. It's easier to just disable it and focus only on VST3. https://forum.juce.com/t/vst-sdk-3-6-12/30703
If needed, VST2 can be easily added back by setting buildVST="1" and by adding buildVST to pluginFormats.
LV2 plugin can also easily be built, thanks to JUCE. I've quickly tested it using Jalv and it works fine: https://drobilla.net/software/jalv.html
The Standalone version also works fine.
Disabling the automatic copy/install of the plugins to the home directory is helpful when packaging this software. OB-Xd on Arch linux also does it: https://gitlab.archlinux.org/archlinux/packaging/packages/ob-xd/-/blob/main/skip-plugin-copy.patch
How to build:
cd src/tunefish4
Projucer --resave Tunefish4.jucer
Builds/LinuxMakefile
make CONFIG=Release
Although it works fine, it complains with message:
JUCE Assertion failure in juce_audio_plugin_client_LV2.cpp:133
I don't know how to fix it, and it doesn't affect the main usage.
I understand removing VST2 support might be a breaking change for some users, so you may want to re-enable it (as described in the second paragraph).
jpcima/tunefish fork also added LV2, plus also some code reorganization. Specifically, that fork removed the bundled JUCE source-code and replaced it with a git submodule. That's much cleaner and many other projects also follow the same pattern. Additionally, running Projucer will overwrite the entire JuceLibraryCode, leading to about 900 changed files in this repository, although none of the real TuneFish source code was changed. In other words, bundling the JUCE source-code just adds noise when doing git diff and git status. So… It might be worth merging that fork into the main project. Or cherry-picking the changes from that fork.