Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Added LV2 plugin, added Standalone, removed legacy VST2 plugin #43

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

denilsonsa
Copy link

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.

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.
@denilsonsa
Copy link
Author

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant