CLAP: The New Audio Plug-in Standard (by U-he, Bitwig and others)
- KVRAF
- 23110 posts since 7 Jan, 2009 from Croatia
Markus, if you're using JUCE's plugin wrappers and CMake, you can just https://github.com/free-audio/clap-juce-extensions
(Well, even if you use Projucer, that's fine too - thanks to effort from Jatin Chowdhury.)
With this, you could possibly be having CLAP versions of your stuff by the end of the week, or so.
(Well, even if you use Projucer, that's fine too - thanks to effort from Jatin Chowdhury.)
With this, you could possibly be having CLAP versions of your stuff by the end of the week, or so.
- KVRAF
- 1748 posts since 2 Jul, 2018
Yes. I definitely consider using this.
-
- KVRian
- 871 posts since 25 Dec, 2018
If it helps, I took a bunch of (zero gui) VST2s over the weekend and ported them automatically to CLAP as an experiment. Glad to share that code. Probably best to do that on some platform other than KVR though. PM me if you are interested.Markus Krause wrote: ↑Tue Jun 21, 2022 7:17 pm Thanks for your efforts. I already built a relieably working working vst2 to vst3 adapter in Juce. I will definitely try to add CLAP support to my existing products in the next months which should not big a big deal. Either by extending Juce or VST 2.4.
- KVRAF
- 7940 posts since 12 Feb, 2006 from Helsinki, Finland
I have a question: what is the modulation range supposed to be? As far as I can tell, the headers say modulation is additive on top of automation (which makes sense), but is it possible to allow modulation range beyond the actual parameter value range? Often times there is pressure to keep "knob ranges" in the sweet spot, even though internally there might not be much of a limit for modulation and I wonder if it is possible to express this in the API somehow?
-
- KVRian
- 511 posts since 15 Dec, 2012 from Waunakee, Wiscompton
Each of those devs want to make their format standard. If Ableton supports CLAP, then there might be a dam breaking that could cause a lot of devs to stop supporting VST3. That could at least force Cubase's hand, since they're supporting the only format that a lot of people are active upset about with the switch from VST2 to VST3.adammonroe wrote: ↑Sat Jun 18, 2022 9:20 pmHowever:
*Cubase never adopted the AU format.
*Logic never adopted VST.
*Avid does not support anything besides AAX.
That said, this situation is VERY much akin to what Oberheim, Sequential, and others experienced in the late 70's & early 80's, with gear that each had its own protocol. Then SCI, Roland, and Yamaha got together and created MIDI. I'm not sure Apple, Avid, & Steinberg are ready to open up to new standards, but Ableton could be the Sequential in the modern day story.
I'm user, but am watching this with great interest as a Reason user who dumped Cubase as soon as VST support was added to Reason. I am hoping they adopt CLAP as a way to ditch being beholden to the whims of Steinberg. I am not holding my breath on this though.adammonroe wrote: ↑Sat Jun 18, 2022 9:20 pmThe push would have to come from users, and users don't much care: most Cubase users don't even seem to care that much about using VST2 and possibly a bunch of older plugins no one is around to update.
I am a user who is keenly aware of the update process, having been helping with some beta testing of plugins in the past. I know all this stuff surrounding VST2/VST3 is a major PITA for a lot of smaller developers.
-
- KVRian
- 1138 posts since 28 May, 2010 from Finland
Is it reasonable to discard support for VST2/VST3 and produce CLAP-only plug-ins?
Or is this too fundamentalist or otherwise an impractical attitude?
Or is this too fundamentalist or otherwise an impractical attitude?
-
- KVRian
- 871 posts since 25 Dec, 2018
That would be wildly impractical today. Most users still make music in environments which cannot load a clap. The standard is 3 weeks past launch.soundmodel wrote: ↑Wed Jul 06, 2022 8:29 am Is it reasonable to discard support for VST2/VST3 and produce CLAP-only plug-ins?
Or is this too fundamentalist or otherwise an impractical attitude?
But for devs we are thinking that writing a clap and then projecting that into wrapped vst3 and au and so on could very soon be practical. So you would run an “audio unit” but it would just proxy through to the clap. If/when this works (and we have a lot of confidence that it will) a dev could choose to develop clap and then just project into other formats for their users using non-clap aware hosts
This is why you will hear some devs say things like “clap can be wildly successful even if host support is slow”. That internal dev cycle is very compelling
-
Richard_Synapse Richard_Synapse https://www.kvraudio.com/forum/memberlist.php?mode=viewprofile&u=245936
- KVRian
- 1139 posts since 20 Dec, 2010
We started dabbling with CLAP, so far it looks like a huge winner:
Richard
- Very easy to implement, probably the fastest way (other than VST2) to get a plug-in to at least experimental stage where it will show the UI and do some basic processing.
- Multi-threading is both unique and highly useful for multi-threaded plug-ins like DUNE 3. There is still hosts/systems where plug-in multi-threading is troublesome. This could fix this issue once and for all, which would be epic.
Richard
Synapse Audio Software - www.synapse-audio.com
- u-he
- 28094 posts since 8 Aug, 2002 from Berlin
-
- KVRAF
- 2552 posts since 13 Mar, 2004
If anyone's interested, I got my feet wet doing a simple (GUI-less) CLAP plugin, using JUCE and the clap-juce-extensions and having a GitHub CI/auto build system for it going.
Although there were some problems, it works rather nicely, spits out Win/Mac/Linux binaries (build artefacts) on pushing to GitHub.
https://github.com/nofishonfriday/Lauri ... reo-plugin
Starting point for CI was this template:
https://github.com/sudara/pamplejuce
Some things weren't quite working for me with it (auto builds not completing), so I had to disable some things in Cmake/build script in my forked version:
https://github.com/nofishonfriday/pamplejuce
Would be better to fix these issues of course rather just to disable, but that's beyond my capabilities (help welcome!) and at least the the auto builds complete with it.
Although there were some problems, it works rather nicely, spits out Win/Mac/Linux binaries (build artefacts) on pushing to GitHub.
https://github.com/nofishonfriday/Lauri ... reo-plugin
Starting point for CI was this template:
https://github.com/sudara/pamplejuce
Some things weren't quite working for me with it (auto builds not completing), so I had to disable some things in Cmake/build script in my forked version:
https://github.com/nofishonfriday/pamplejuce
Would be better to fix these issues of course rather just to disable, but that's beyond my capabilities (help welcome!) and at least the the auto builds complete with it.
- KVRer
- 9 posts since 12 Jun, 2022 from Hamburg
Cool, sounds nice and works out of the box in Anklang. I'm just finishing off parameter support, here's how the GUI looks atm:No_Use wrote: ↑Wed Jul 06, 2022 8:49 pm If anyone's interested, I got my feet wet doing a simple (GUI-less) CLAP plugin, using JUCE and the clap-juce-extensions and having a GitHub CI/auto build system for it going.
Although there were some problems, it works rather nicely, spits out Win/Mac/Linux binaries (build artefacts) on pushing to GitHub.
https://github.com/nofishonfriday/Lauri ... reo-plugin
-
- KVRAF
- 2552 posts since 13 Mar, 2004
Wow, nice and thanks.
I'll admit I am (was) unfamiliar with Anklang though, it's a Linux DAW, right?
(the link in your sig to it seems down here btw.)
I'm usually not on Linux but I like to support it.
And what actually does "finishing off parameter support" mean lol? (sorry for the noob question...)
edit:
Ah you integrate your own GUI version of it?
- KVRer
- 9 posts since 12 Jun, 2022 from Hamburg
No_Use wrote: ↑Wed Jul 06, 2022 9:53 pmYes, Anklang is developed under Linux, it's a long way from feature complete though, versioning is still at 0.0.1Tim Janik wrote: ↑Wed Jul 06, 2022 9:30 pm Wow, nice and thanks.
I'll admit I am (was) unfamiliar with Anklang though, it's a Linux DAW, right?
(the link in your sig to it seems down here btw.)
I'm usually not on Linux but I like to support it.
And what actually does "finishing off parameter support" mean lol? (sorry for the noob question...)
edit:
Ah you integrate your own GUI version of it?
It is implemented as a DAW audio-engine in C++ and serves JS/CSS files so it's UI is rendered in Electron (or a browser like Chrome or Firefox). For plugins, I've recently written a tiny gtk+2 wrapper DLL, so they can display their own UI in an X11 window if they have one.
Regardless of plugins implementing their own UI, Anklang generates a device block/UI for each plugin based on the parameters exported by it.
The above screenshot shows the UI generated for its internal BlepSynth instrument and your LauridsenSchodderStereo plugin.
The website should be up, but isn't ;-(
Seems like Strato is having a hardware issues again, should be fixed in a few hours. In the meantime you can take a look ath the github repository
https://github.com/tim-janik/anklang
The last nightly doesn't have full parameter support yet, I'm completing that atm and will release a 0.0.2 once CLAP support is half way decent.
-
- KVRian
- 1138 posts since 28 May, 2010 from Finland
Any chance someone could produce a list of central points where VST2/VST3 design falls short, and how CLAP improves on these?
I've been surprised if/that Steinberg hadn't gotten things right, and I considered it interesting to see where they've thought "badly". It's counterintuitive if smaller entities can offer better solutions, but OTOH this is a bit similar to Linux vs Microsoft.
I've been surprised if/that Steinberg hadn't gotten things right, and I considered it interesting to see where they've thought "badly". It's counterintuitive if smaller entities can offer better solutions, but OTOH this is a bit similar to Linux vs Microsoft.