DISTRHO / Ildaeil

mini-plugin host as plugin
GNU General Public License v2.0
120 stars 3 forks source link

FR: provide build option to re-use Carla bridge binaries in plugin bundles #12

Closed SpotlightKid closed 1 year ago

SpotlightKid commented 2 years ago

From #lad on libera.chat:

<strogon14> And are all these copies of the carla-bridge-* binaries in the plugin bundles really distinct files or would it be possible to symlink them from a Carly installation?
<falktx> strogon14: link against system carla: no. use bridge binaries from system carla yes
<falktx> I mean it would be possible, but breaks the whole point of how it works as a plugin
<strogon14> falktx: can you elaborate? If I were to package Ildaeil as a distribution package, all these duplicate files seem superfluous.
<falktx> for this to work as plugin, it should/needs to be self-contained
<falktx> so building its own internal carla static lib is kinda required
<falktx> the external files, being well, external, do not matter at all. I just build them for convenience but they can be replaced by carla ones sure
<falktx> issue then is that ildaeil depends on carla to be installed, as dependency.
-*- falktx is thinking carla-backend should become its own lib/project at some point
<strogon14> I don't see the dependency on Carla as a problem in the context of distribution packages. For me the main advantage of Ildaeil is the simplified UI for loading plugins.
<falktx> then all fine. just patch the root Makefile a bit to not build bridges by default
<falktx> then some other that tries to copy these files, easy to spot
<falktx> though I should make this a build option..
falkTX commented 1 year ago

Implemented as of 0d61560a4111ca12801292046fc62377eb46d59f

Use make USE_SYSTEM_CARLA_BINS=true to enable the feature. When the carla binaries are not provided by Ildaeil, it will look into /usr/lib/carla as fallback for them. This is ok, right?

Let me know if this works, I want to have a confirmation before tagging a release. Thanks!

PS: I should likely create a BUILDING.md to specify this, among other possible build options..

SpotlightKid commented 1 year ago

It seems to work. I tested Ildaeil-FX.lv2 in Carla and Ildaeil-FX VST2 in Waveform 8 (I don't have a newer version).

Ardour crashes with a segmentation fault when I try to load Ildaeil-FX.lv2. But the current Arch Linux built of Ardour 6 is very prone to crash, so I wouldn't worry too much about this.

About installation: make install errored out with:

cp -rL bin/Ildaeil-FX.vst3/Contents/*-*    /home/chris/lib/vst3/Ildaeil-FX.vst3/Contents/
cp -rL bin/Ildaeil-MIDI.vst3/Contents/*-*  /home/chris/lib/vst3/Ildaeil-MIDI.vst3/Contents/
cp: cannot stat 'bin/Ildaeil-MIDI.vst3/Contents/*-*': No such file or directory
make: *** [Makefile:114: install] Error 1

bin/Ildaeil-MIDI.vst3 was not built on my system.

Also, the install target creates a $(PREFIX)/bin dir but does not install anything into it. And the CLAP plugins are not installed either.

falkTX commented 1 year ago

good points, I forgot to install clap and Ildaeil-MIDI vst3 has been removed (Steinberg has said vst3 is not meant to be used for MIDI filters, by design)

Let me fix those 2..

falkTX commented 1 year ago

Likely fixed now with b4e3adf2220615608885a5d9dd334afb24711b5c I cant check yet due to not being on Linux, but I finally got a new PC now just need to set it up

falkTX commented 1 year ago

Install issues fixed, confirmed now on a Linux system.