baconpaul / airwin2rack

Airwindows, Consolidated into a single Library, Rack Plugin and DAW Plugin
MIT License
331 stars 15 forks source link

[Question] Build individual LV2 plugins #159

Open ajboni opened 2 months ago

ajboni commented 2 months ago

Hello, first, thanks for this amazing project!

This is probably against of the project goal but... Would it be possible to use this repo to somehow (hopefully easily) build the individual lv2 plugins automatically? afaik the current lv2 ports needs some manual work, and they are always behind the rest of the formats. Maybe with the groundwork you have here is a bit easier?

baconpaul commented 2 months ago

Well

  1. Yes! The static library is a format-neutral presentation of the analytics which you can interact with in any way you want. For instance you could make an alternate CLAP plugin which had each registry entry as a plugin in its own right so you got 389 guids making 389 plugins. We did that in the past and it wasn't a UI folks loved because they wanted individuals.
  2. But! I have no idea how to do that for LV2. So could someone who understood LV2 do it well using this as a starting point! Sure! Am I that person. Nope.

Does LV2 have a concept like AU, VST3, and CLAP of a single item with multiple plugins inside it? If so perhaps adding a single-lv2-with-all-the-plugs could be useful?

ajboni commented 2 months ago

Thanks for the reply! It's motivating to hear that is doable, might be out of my current skills but I'm giving it a shot anyway I think I need to create something similar to juce-src folder (the processor specifically) for each plugin and just use juce to build the lv2... tried with a single plugin with some success. The registry is super convenient. I would need to autogenerate all ~400 processor files similar of what you did for the here for the clap approach but with juce specifics.

Probably missing a lot of things because I basically have no idea of what I'm doing , but at least its a start! Thanks!

baconpaul commented 2 months ago

Right I think that's probably not the way to do it for a direct-lv2 especially since I know some folks find the JUCE LV2 support a bit inconsistent with some hosts.

I think instead you want to do something like what I did with the clap approach with a direct-to-lv2 where you use the registry at build time to build the manifest.

Having 390 dlls come out of the back of the build chain here is really not that desirable if instead we can have one dll and an extended manifest (which is how the clap worked).

But for that again some LV2 expertise which I dont' have would be required.

I suppose I could work up the CLAP as an example thoughl