Cool new plug in format on the way -- CLAP

DSP, Plugin and Host development discussion.
Post Reply New Topic
RELATED
PRODUCTS

Post

DarkStar wrote: Fri Jan 28, 2022 5:49 pm I must have missed this, but what are the advantages of a CLAP plug-in over its VST2 / VST3 / AU / AAX versions?
Aside from the technical advantages of CLAP by itself, it also can serve as the primary development target, and then be wrapped as a VST2/VST3/AU. At present, most development (which is not using something like JUCE, which, really, is it's own custom format that itself gets wrapped) targets VST2 or AU, and is then wrapped to support the other formats. Most developers target VST2, and then wrap to AU and VST3. CLAP is way more capable of this, because of it's simple function-based API, and its extra technical capabilities.

This is especially important now that new developers are no longer allowed to license VST2, and the handwriting on the wall seems to be saying that in the next 24 months, Steinberg will disallow updates to existing plugins or the development of new plugins on VST2, even for those who already have a VST2 license to do so. This means that every developer who uses VST2 as their primary target will be SOL.

VST3 is a non-starter for primary development because of its limitations and fragmented capabilities (for example, it doesn't even support direct MIDI ins/outs). Steinberg released a half-baked format to the world, and immediately started shutting down VST2. Over time, they have added features to it here and there (like MIDI-learn) but that's not very useful if the DAWs have not yet been updated to support them. So all in all, it's a terrible base format to target.

Post

The immediate benefit is simplicity. There's a kind of spiritual difference here in that CLAP allows hosts and plug-ins to tell each other if the misbehave. They look to each other at eye level.

A CLAP plug-in can be compiled with a very picky pseudo-host wrapped between itself and the host which will tell the plug-in about various common issues, e.g. when calling the host from the wrong thread. (thankfully a CLAP plug-in can always tell what thread it's on, and every API call is marked with the thread it's supposed to use for the call)

So we think that, apart from a sensible license scheme that doesn't alienate developers of any level of experience, CLAP is equipped to become very robust. There's surely a plethora of possibilities to crash things, but there are a lot of common issues that will simply be avoided.

Post

Super Piano Hater 64 wrote: Fri Jan 28, 2022 6:48 pmThe feature set isn't hugely impressive ...
as i understand it, one big feature is that the base api is actually quite featureless and just about every feature is realized by means of a suitable "extension". even the most basic stuff like parameter handling and state recall is realized via such extensions. the only feature that is really baked into the core api seems to be the audio processing callback. the base api will ship with a bunch of standard extensions to do precisely those things that everyone expects from an audio-plugin api (parameters, state, gui, etc.) but the set of extensions is open-ended (and yes, there's one for microtuning via the host in the making, too - a feature that i'm also looking forward to). so, even if the feature set may not be impressive yet, this is certainly expected to grow over time. in that respect, it's actually quite similar to LV2 which also revolves a lot about an "extension" concept (i think)
Last edited by Music Engineer on Sun Feb 06, 2022 9:09 am, edited 5 times in total.
My website: rs-met.com, My presences on: YouTube, GitHub, Facebook

Post

Music Engineer wrote: Fri Jan 28, 2022 10:29 pm
Super Piano Hater 64 wrote: Fri Jan 28, 2022 6:48 pmThe feature set isn't hugely impressive ...
as i understand it, one big feature is that the base api is actually quite featureless and just about every feature is realized by means of a suitable "extension". even the most basic stuff like parameter handling and state recall is realized via such extensions. the base api will ship with a bunch of standard extensions to do precisely these things that everyone expects from an audio-plugin api (parameters, state, etc.) but the set of extensions is open-ended. so, even if the feature set may not be impressive yet, this is certainly expected to grow over time
I'm personally not a fan of this style of API design, because I've seen so many vendors implement a core API and ignore all the extensions. This even sort of happened with VST3, although there were obviously other factors involved. I'll just cross my fingers and see how it plays out. The validation strategies (like the one described by Urs above) give me a lot of hope.

Quick edit: I'm also not trying to rag on CLAP for not being shiny enough. I was mostly trying to say that its best features have nothing to do with its "features." It sounds like a really solid design to me and I look forward to working with it.
I hate signatures too.

Post

CLAP could be for me
-but I am a little trendy
and CLAP doesn't appeal to me as a name

anyone else want to change it to BOLT?
(Bolt-On Language Type)

nice one on trying to get around Steiny
VST3 seems no successor

Post

As far as I can tell, CLAP doesn’t lack any features compared to any other established format. The extension concept helps to reduce bloat and keep things tidy. A pure MIDI processor doesn’t need to deal with surround concepts or multithreaded processing. Likewise, an analysis tool might not need MIDI or Note Expressions.

It’s a modern and consistent equivalent of “canDo” and “wantThisOrThat”, simply don’t implement the extension and the host can save the resources. It’s a pattern rather than a convention.

Post

Got it, thank you all.
DarkStar, ... Interesting, if true
Inspired by ...

Post

kylie wrote: Thu Dec 30, 2021 11:32 pm Apart from that I like the idea. Awaiting clappyhost from Hermann Seib any time soon...
It's a year later now, so "soon" might overstress it a bit ...
https://www.hermannseib.com/programs/alpha/
VSTHost & SAVIHost very early releases. Should work with some CLAP PlugIns, but don't expect wonders. Especially those pesky beasts that do not support MIDI (1, or "normal MIDI") properly won't be a great joy to use. Also, saving / restoring doesn't really work yet ... but doodling a bit with a synth should already work.
"Until you spread your wings, you'll have no idea how far you can walk." Image

Post

Urs wrote: Fri Dec 31, 2021 10:14 am
Awaiting clappyhost from Hermann Seib any time soon...
Well, if the Behringer DAW supported it, that would be quite an entrance, wouldn't it?

(assuming that Hermann was hired to work on that project too, not just the PPG clone)
I was not hired as a developer. They got some really good people for that, they wouldn't need me. For the Behringer wave, my role is simply consultant (as in "He might know a thing or two about the original, so let's tap that ;-)"), beta tester, and, funnily enough in my opinion, but hey ... testimonial for their social media announcements. Led to some weird moments already, for example when I stumbled upon that:
https://www.gearnews.com/legendary-prog ... ment-team/
(that's to show how quick you can become "legendary" these days!)
"Until you spread your wings, you'll have no idea how far you can walk." Image

Post

arakula wrote: Mon Dec 19, 2022 8:23 am
kylie wrote: Thu Dec 30, 2021 11:32 pm Apart from that I like the idea. Awaiting clappyhost from Hermann Seib any time soon...
It's a year later now, so "soon" might overstress it a bit ...
https://www.hermannseib.com/programs/alpha/
VSTHost & SAVIHost very early releases. Should work with some CLAP PlugIns, but don't expect wonders. Especially those pesky beasts that do not support MIDI (1, or "normal MIDI") properly won't be a great joy to use. Also, saving / restoring doesn't really work yet ... but doodling a bit with a synth should already work.
Yay! Will give them a spin!

Post

Urs wrote: Mon Dec 19, 2022 10:13 am
arakula wrote: Mon Dec 19, 2022 8:23 am
kylie wrote: Thu Dec 30, 2021 11:32 pm Apart from that I like the idea. Awaiting clappyhost from Hermann Seib any time soon...
It's a year later now, so "soon" might overstress it a bit ...
https://www.hermannseib.com/programs/alpha/
VSTHost & SAVIHost very early releases. Should work with some CLAP PlugIns, but don't expect wonders. Especially those pesky beasts that do not support MIDI (1, or "normal MIDI") properly won't be a great joy to use. Also, saving / restoring doesn't really work yet ... but doodling a bit with a synth should already work.
Yay! Will give them a spin!
Feedback, and especially bug reports (I'm sure there are quite some things where CLAP and I disagree on small technicalities ... as usual, I'm doing my own implementation, so the probability is high) would be very welcome.
Last edited by arakula on Tue Dec 20, 2022 8:09 pm, edited 1 time in total.
"Until you spread your wings, you'll have no idea how far you can walk." Image

Post

Urs wrote: Mon Dec 19, 2022 10:13 am
arakula wrote: Mon Dec 19, 2022 8:23 am
kylie wrote: Thu Dec 30, 2021 11:32 pm Apart from that I like the idea. Awaiting clappyhost from Hermann Seib any time soon...
It's a year later now, so "soon" might overstress it a bit ...
https://www.hermannseib.com/programs/alpha/
VSTHost & SAVIHost very early releases. Should work with some CLAP PlugIns, but don't expect wonders. Especially those pesky beasts that do not support MIDI (1, or "normal MIDI") properly won't be a great joy to use. Also, saving / restoring doesn't really work yet ... but doodling a bit with a synth should already work.
Yay! Will give them a spin!
I actually talked him into asked him humbly via email whether he could think of giving CLAP a spin or not, and to my surprise he came up with a very early alpha two days later which I was happy to try and report my observations to him. This is currently alpha 5 if I remember correctly and it is constantly evolving.

PS: just realized that he found my post and even reacted to it himself :oops:

Post

Alpha 5 might be about right. Some more will follow, however - I still got some 30-40 "TODO:" comments in my code :-)

Uploaded a new one today, BTW.
"Until you spread your wings, you'll have no idea how far you can walk." Image

Post

A simple question for the experts ( I haven't read the thread fully, but things I have learned so far in life, never argue about tyres, engine oil and instrument brands, programming languages and parallel processing ).

Is CLAP supposed to become a standard like MIDI, or ( as I read here ) "just another plugin format"?
Free MIDI plugins and other stuff:
https://jstuff.wordpress.com
"MIDI 2.0 is an extension of MIDI 1.0. It does not replace MIDI 1.0(...)"

Post

umd wrote: Mon Jan 02, 2023 2:03 pm A simple question for the experts ( I haven't read the thread fully, but things I have learned so far in life, never argue about tyres, engine oil and instrument brands, programming languages and parallel processing ).

Is CLAP supposed to become a standard like MIDI, or ( as I read here ) "just another plugin format"?
What do you mean by "a standard"? A standard means a defined entity with industry/community support. By that measure, VST, VST3, AU, and AAX are all "standards" and not "just another plugin format."

CLAP is a plugin standard. MIDI is not a plugin standard, but a communications protocol standard. Apples and oranges.

Post Reply

Return to “DSP and Plugin Development”