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

Plug-in hosts and other software applications discussion
RELATED
PRODUCTS
j wazza
KVRian
528 posts since 5 Oct, 2020

Post Thu Jun 30, 2022 2:37 am

teilo wrote: Wed Jun 29, 2022 5:42 am
j wazza wrote: Wed Jun 29, 2022 4:30 am 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?

User avatar
jens
KVRAF
21797 posts since 12 Jul, 2003 from West Caprazumia

Post Thu Jun 30, 2022 4:10 am

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?
Image

User avatar
Urs
u-he
26731 posts since 8 Aug, 2002 from Berlin

Post Thu Jun 30, 2022 4:27 am

jens wrote: Thu Jun 30, 2022 4:10 am 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.

User avatar
jens
KVRAF
21797 posts since 12 Jul, 2003 from West Caprazumia

Post Thu Jun 30, 2022 5:07 am

That's great! :party: Thanks for the swift answer! :hail:
Image

User avatar
Super Piano Hater 64
KVRist
318 posts since 24 Jan, 2021

Post Thu Jun 30, 2022 8:55 am

j wazza wrote: Thu Jun 30, 2022 2: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.

j wazza
KVRian
528 posts since 5 Oct, 2020

Post Thu Jun 30, 2022 12:11 pm

Super Piano Hater 64 wrote: Thu Jun 30, 2022 8:55 am
j wazza wrote: Thu Jun 30, 2022 2: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

User avatar
mystran
KVRAF
7162 posts since 12 Feb, 2006 from Helsinki, Finland

Post Thu Jun 30, 2022 1:29 pm

j wazza wrote: Thu Jun 30, 2022 12: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).
Preferred pronouns would be "it/it" because according to this country, I'm a piece of human trash.

j wazza
KVRian
528 posts since 5 Oct, 2020

Post Thu Jun 30, 2022 1:43 pm

mystran wrote: Thu Jun 30, 2022 1: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

User avatar
mystran
KVRAF
7162 posts since 12 Feb, 2006 from Helsinki, Finland

Post Thu Jun 30, 2022 1:52 pm

j wazza wrote: Thu Jun 30, 2022 1:43 pm
mystran wrote: Thu Jun 30, 2022 1: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.
Preferred pronouns would be "it/it" because according to this country, I'm a piece of human trash.

User avatar
EnGee
KVRAF
8022 posts since 7 Oct, 2005 from Auckland, NZ

Post Thu Jun 30, 2022 2:19 pm

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
Let's help the people in Ukraine by donating.

User avatar
Super Piano Hater 64
KVRist
318 posts since 24 Jan, 2021

Post Thu Jun 30, 2022 3:05 pm

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.

User avatar
S0lo
KVRian
1108 posts since 31 Dec, 2008

Post Thu Jun 30, 2022 3: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.

robbert-vdh
KVRer
29 posts since 24 Jun, 2022

Post Thu Jun 30, 2022 3:45 pm

S0lo wrote: Thu Jun 30, 2022 3: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.

User avatar
S0lo
KVRian
1108 posts since 31 Dec, 2008

Post Thu Jun 30, 2022 3:59 pm

robbert-vdh wrote: Thu Jun 30, 2022 3: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.

robbert-vdh
KVRer
29 posts since 24 Jun, 2022

Post Thu Jun 30, 2022 4:17 pm

S0lo wrote: Thu Jun 30, 2022 3: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.

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