CLAP: The New Audio Plug-in Standard (by U-he, Bitwig and others)

Audio Plugin Hosts and other audio software applications discussion
Post Reply New Topic
RELATED
PRODUCTS

Post

teilo wrote: Wed Jun 29, 2022 1:42 pm
j wazza wrote: Wed Jun 29, 2022 12:30 pm is clap a coding language?
No. CLAP is a plugin standard just as VST, AAX, and AU are plugin standards. It can be written in any language that can expose / call a C ABI. Therefore C/C++ is the most common language, but Rust and Delphi bindings are already available.
thanks! so are bitwig and u-he's synths coded mostly in c/c++? or does no one know for sure but probably?

Post

I have a question regarding something that doesn't seem to have been mentioned yet:

What about ARA? As far as I know ARA is a VST3 extension. Could it work with CLAP as well?
"Preamps have literally one job: when you turn up the gain, it gets louder." Jamcat, talking about presmp-emulation plugins.

Post

jens wrote: Thu Jun 30, 2022 12:10 pm I have a question regarding something that doesn't seem to have been mentioned yet:

What about ARA? As far as I know ARA is a VST3 extension. Could it work with CLAP as well?
ARA is not specific to any plug-in format. I think someone from the CLAP team is in contact with Ceremony to see if they wish to maintain a CLAP extension for it.

Post

That's great! :party: Thanks for the swift answer! :hail:
"Preamps have literally one job: when you turn up the gain, it gets louder." Jamcat, talking about presmp-emulation plugins.

Post

j wazza wrote: Thu Jun 30, 2022 10:37 am thanks! so are bitwig and u-he's synths coded mostly in c/c++? or does no one know for sure but probably?
C++ is always a safe guess, at least for the next ten years or so. Most audio software is written in C++, with occasional "tight loops" in assembly. A minority is built in visual programming environments like SynthEdit or Max/MSP. Rare exceptions are written in C, or in cases such as Octasine, some other textual language altogether.

C and C++ are not the same, and the difference is really important for plugin format compatibility. Some formats, like VST3, require you to use C++ (not C) in certain parts of your plugin. CLAP does not require this. It's primarily aimed at C, but carefully designed to work with essentially any language.
I hate signatures too.

Post

Super Piano Hater 64 wrote: Thu Jun 30, 2022 4:55 pm
j wazza wrote: Thu Jun 30, 2022 10:37 am thanks! so are bitwig and u-he's synths coded mostly in c/c++? or does no one know for sure but probably?
C++ is always a safe guess, at least for the next ten years or so. Most audio software is written in C++, with occasional "tight loops" in assembly. A minority is built in visual programming environments like SynthEdit or Max/MSP. Rare exceptions are written in C, or in cases such as Octasine, some other textual language altogether.

C and C++ are not the same, and the difference is really important for plugin format compatibility. Some formats, like VST3, require you to use C++ (not C) in certain parts of your plugin. CLAP does not require this. It's primarily aimed at C, but carefully designed to work with essentially any language.
thanks a lot for the info! Would vsts or claps often use C sound or a library/framework like that? or would they actually be made completely by typing in code?

I've wanted to get into programming plugins for a while but not sure where to start, I'm thinking either C++ or synthedit, i've just made stuff in reaktor and stuff like that so far

thats great news that CLAP works with nearly any programming language, as that means i have more options and could maybe use one thats a bit simpler for beginners

Post

j wazza wrote: Thu Jun 30, 2022 8:11 pm thanks a lot for the info! Would vsts or claps often use C sound or a library/framework like that? or would they actually be made completely by typing in code?
Just to make sure, Csound has basically nothing to do with C. As for the question itself, the average plugin would not be using Csound.
I've wanted to get into programming plugins for a while but not sure where to start, I'm thinking either C++ or synthedit, i've just made stuff in reaktor and stuff like that so far
C++ is the current "gold standard" but it can have a pretty steep learning curve if you've never done any programming. If you want to go this route, I'd suggest doing some easy non-audio programming first to get some sort of understand about how C++ works (since plugins aren't the easiest thing to debug when you're trying to get the hang of things) and then try writing plugins with a framework like JUCE that takes care of most of the obscure stuff (eg. talking to different operating systems).

Post

mystran wrote: Thu Jun 30, 2022 9:29 pm C++ with a framework like JUCE
thanks a lot for the help! Is Juce or other similar c++ frameworks the most common way or at least a common way that a dev would make a CLAP or vst like uhe or others? It sounds like you mean it is, if so i think that's where i'll start, it sounds like a good route

Post

j wazza wrote: Thu Jun 30, 2022 9:43 pm
mystran wrote: Thu Jun 30, 2022 9:29 pm C++ with a framework like JUCE
thanks a lot for the help! Is Juce or other similar c++ frameworks the most common way or at least a common way that a dev would make a CLAP or vst like uhe or others? It sounds like you mean it is, if so i think that's where i'll start, it sounds like a good route
JUCE is probably the most common, iPlug at least used to be fairly popular too, but then a lot of people also might have their own private frameworks. The reason I was suggesting JUCE though is because dealing with the low-level stuff (which is what you have to do if you "roll your own") is probably not the first thing you should try to do if you've never done much C++ in the past and JUCE will give you a fairly completely platform that's widely used for plugin development, so you should be able to get quicker into actual audio development.

Post

viewforum.php?f=33
I think the above sub forum has great resources for learning programming ;)

It's a long tough road with a lot of sweat before reaching any "really" useful result. Jobs i this field are without good payment of course.
I personally would code non music related software in languages like Java and C# and buy plugins coded in C++. Life is more interesting this way :hihi:

Hint: C++ is ugly and not elegant! No fun IMO :D

Post

Yeah, it's hard to recommend C++ to new programmers. There's so much of it, and you have to know everything, just in case. It takes most C++ programmers about ten years to achieve an intermediate skill level. As I suggested earlier, in that same amount of time, it could lose its throne. There are several other languages making aggressive inroads in the territory that C++ currently rules. I'd even say that some of them are somewhat well designed, something I can't really say about C++.
I hate signatures too.

Post

I'd actually recommend for anyone trying to learn C++, to first learn C.

C++ is largely a super set of C. Meaning you can very much use C code inside C++ code (for the most part). Whats more is that pure C books and tutorials teach you some essential concepts about pointers, arrays, types and memory that are some times skipped when you read C++ books. In short, knowing C will help you master C++ better.
www.solostuff.net
Advice is heavy. So don’t send it like a mountain.

Post

S0lo wrote: Thu Jun 30, 2022 11:39 pm I'd actually recommend for anyone trying to learn C++, to first learn C.

C++ is largely a super set of C. Meaning you can very much use C code inside C++ code (for the most part). Whats more is that pure C books and tutorials teach you some essential concepts about pointers, arrays, types and memory that are some times skipped when you read C++ books. In short, knowing C will help you master C++ better.
C++ is a completely different language from C. You can start learning C first, but you'll have to unlearn a lot of habits and learn even more new concepts when diving into C++ afterwards.

Anyways, this is kinda off topic.

Post

robbert-vdh wrote: Thu Jun 30, 2022 11:45 pm C++ is a completely different language from C.
I wouldn't say "completely". But yes they differ allot. Still, most of C code can compile perfectly in C++. Infact, the ++ in C++ was named to mean "one step ahead of C". Actually, C++ compilers of the past used to convert C++ code to pure C before the compilation starts. If they were "completely" different, that wouldn't have been possible.
www.solostuff.net
Advice is heavy. So don’t send it like a mountain.

Post

S0lo wrote: Thu Jun 30, 2022 11:59 pm I wouldn't say "completely". But yes they differ allot. Still, most of C code can compile perfectly in C++. Infact, the ++ in C++ was named to mean "one step ahead of C". Actually, C++ compilers of the past used to convert C++ code to pure C before the compilation starts. If they were "completely" different, that wouldn't have been possible.
That was during the time when C++ was mostly considered to be 'C with classes', but C++20 is a completely different language compared to that. Yes you can write C (or mostly write C, a couple things are not supported in C++, like type punning) and compile it with a C++ compiler, but at that point you'd just be making things more difficult for yourself.

Post Reply

Return to “Hosts & Applications (Sequencers, DAWs, Audio Editors, etc.)”