Framework for audio plugins in C code

Programming applications for making music on Linux.

Moderators: MattKingUSA, khz

xos
Established Member
Posts: 12
Joined: Sat Jul 23, 2022 12:01 pm
Been thanked: 5 times

Framework for audio plugins in C code

Post by xos »

I put up the latest version is here...
https://github.com/logos-maker/RST

User avatar
d.healey
Established Member
Posts: 611
Joined: Fri Sep 22, 2017 8:33 pm
Has thanked: 279 times
Been thanked: 101 times

Re: Framework for audio plugins in C code

Post by d.healey »

Looks very interesting! My only concern is VST2. It's not longer possible to get a license for this format from Steinberg. You should add support for VST3, LV2, or CLAP.

David Healey
YouTube - Free HISE scripting and sample library dev tutorials
Libre Wave - Freedom respecting instruments and effects.
User avatar
Impostor
Established Member
Posts: 1392
Joined: Wed Aug 17, 2022 1:55 pm
Has thanked: 148 times
Been thanked: 366 times

Re: Framework for audio plugins in C code

Post by Impostor »

d.healey wrote: Mon Dec 25, 2023 11:12 am

Looks very interesting! My only concern is VST2. It's not longer possible to get a license for this format from Steinberg. You should add support for VST3, LV2, or CLAP.

But it seems that VST2 is the still most widely supported plugin format with Linux DAWs. Some don't even support LV2, others don't support VST3. Only (a couple) support CLAP? All seem to support VST2...

User avatar
d.healey
Established Member
Posts: 611
Joined: Fri Sep 22, 2017 8:33 pm
Has thanked: 279 times
Been thanked: 101 times

Re: Framework for audio plugins in C code

Post by d.healey »

Impostor wrote: Mon Dec 25, 2023 12:22 pm
d.healey wrote: Mon Dec 25, 2023 11:12 am

Looks very interesting! My only concern is VST2. It's not longer possible to get a license for this format from Steinberg. You should add support for VST3, LV2, or CLAP.

But it seems that VST2 is the still most widely supported plugin format with Linux DAWs. Some don't even support LV2, others don't support VST3. Only (a couple) support CLAP? All seem to support VST2...

Yeah but we can't release new VST2 plugins, unless you already have a license. DAWs need to catch up, VST3 is 15 years old now!

David Healey
YouTube - Free HISE scripting and sample library dev tutorials
Libre Wave - Freedom respecting instruments and effects.
User avatar
Linuxmusician01
Established Member
Posts: 1547
Joined: Mon Feb 23, 2015 2:38 pm
Location: Holland (Europe)
Has thanked: 784 times
Been thanked: 144 times

Re: Framework for audio plugins in C code

Post by Linuxmusician01 »

d.healey wrote: Mon Dec 25, 2023 5:21 pm
Impostor wrote: Mon Dec 25, 2023 12:22 pm
d.healey wrote: Mon Dec 25, 2023 11:12 am

Looks very interesting! My only concern is VST2. It's not longer possible to get a license for this format from Steinberg. You should add support for VST3, LV2, or CLAP.

But it seems that VST2 is the still most widely supported plugin format with Linux DAWs. Some don't even support LV2, others don't support VST3. Only (a couple) support CLAP? All seem to support VST2...

Yeah but we can't release new VST2 plugins, unless you already have a license. DAWs need to catch up, VST3 is 15 years old now!

I ain't no programmer so please forgive me asking the following questions. What exactly do you mean by "releasing" VST2 plugins? If I were to program and compile a plugin to VST2 format using the here mentioned C framework then I can put it on the internet for people download? Wouldn't that be "releasing" the plugin? Probably not what you mean...

User avatar
d.healey
Established Member
Posts: 611
Joined: Fri Sep 22, 2017 8:33 pm
Has thanked: 279 times
Been thanked: 101 times

Re: Framework for audio plugins in C code

Post by d.healey »

Linuxmusician01 wrote: Tue Dec 26, 2023 10:53 am

then I can put it on the internet for people download?

If you did that you would be infringing Steinberg's copyright. Unless you bought a license from them prior to 2018 you cannot legally release a new VST2 plugin.

There are a lot of posts about this online, first example I pulled up - https://forums.steinberg.net/t/can-i-cr ... e/202012/4

David Healey
YouTube - Free HISE scripting and sample library dev tutorials
Libre Wave - Freedom respecting instruments and effects.
xos
Established Member
Posts: 12
Joined: Sat Jul 23, 2022 12:01 pm
Been thanked: 5 times

Re: Framework for audio plugins in C code

Post by xos »

It's only compatible with the VST2 ABI (not the API) and does not use Steinberg code and not their headerfiles either.

And if you use it to make plugins, you can still tell your users that it's compatible with music programs that can load VST2 plugs.

Trademark law clearly makes it possible to use others trademarks if it's falling under 'normative fair use'. That is to be able to tell your customer what it's used for. And plugs that is made with this is VST compatible (that is a Steinberg trademark). So no one need a license as long that you don't make the impression that it's your trademark when it isn't.

The reason you can see on packaging for different products that is sold strait out calls others trademarks and that is not their trademark and belongs to someone else, is to make sure that it falls under 'normative fair use' in trademark law so they can make use of other companies trademarks when selling their products, so the customer can know what it's used for.

User avatar
d.healey
Established Member
Posts: 611
Joined: Fri Sep 22, 2017 8:33 pm
Has thanked: 279 times
Been thanked: 101 times

Re: Framework for audio plugins in C code

Post by d.healey »

xos wrote: Tue Dec 26, 2023 3:25 pm

It's only compatible with the VST2 ABI (not the API) and does not use Steinberg code and not their headerfiles either.

Doesn't it require the VST2 SDK?

David Healey
YouTube - Free HISE scripting and sample library dev tutorials
Libre Wave - Freedom respecting instruments and effects.
xos
Established Member
Posts: 12
Joined: Sat Jul 23, 2022 12:01 pm
Been thanked: 5 times

Re: Framework for audio plugins in C code

Post by xos »

d.healey wrote: Tue Dec 26, 2023 4:52 pm
xos wrote: Tue Dec 26, 2023 3:25 pm

It's only compatible with the VST2 ABI (not the API) and does not use Steinberg code and not their headerfiles either.

Doesn't it require the VST2 SDK?

No it does not require the VST2 SDK. Everything needed is in the repository.

xos
Established Member
Posts: 12
Joined: Sat Jul 23, 2022 12:01 pm
Been thanked: 5 times

Re: Framework for audio plugins in C code

Post by xos »

d.healey wrote: Tue Dec 26, 2023 10:59 am
Linuxmusician01 wrote: Tue Dec 26, 2023 10:53 am

then I can put it on the internet for people download?

If you did that you would be infringing Steinberg's copyright. Unless you bought a license from them prior to 2018 you cannot legally release a new VST2 plugin.

There are a lot of posts about this online, first example I pulled up - https://forums.steinberg.net/t/can-i-cr ... e/202012/4

You don't need a VST2 SDK licence for something you do not use. And you can not copyright a header file either as is proven when U.S. Supreme Court declared Google's use of the Java APIs as fair use. But this framework don't even use or need the Steinberg API even it would be legal.

User avatar
d.healey
Established Member
Posts: 611
Joined: Fri Sep 22, 2017 8:33 pm
Has thanked: 279 times
Been thanked: 101 times

Re: Framework for audio plugins in C code

Post by d.healey »

xos wrote: Tue Dec 26, 2023 5:00 pm

No it does not require the VST2 SDK. Everything needed is in the repository.

Aha that's good then! I didn't know you could make a VST2 without the SDK.

David Healey
YouTube - Free HISE scripting and sample library dev tutorials
Libre Wave - Freedom respecting instruments and effects.
User avatar
Linuxmusician01
Established Member
Posts: 1547
Joined: Mon Feb 23, 2015 2:38 pm
Location: Holland (Europe)
Has thanked: 784 times
Been thanked: 144 times

Re: Framework for audio plugins in C code

Post by Linuxmusician01 »

d.healey wrote: Tue Dec 26, 2023 5:05 pm
xos wrote: Tue Dec 26, 2023 5:00 pm

No it does not require the VST2 SDK. Everything needed is in the repository.

Aha that's good then! I didn't know you could make a VST2 without the SDK.

I'm a classic gaming nerd. This reminds me of the Tengen vs. Nintendo lawsuit in the 80's (there are lots of examples like that one).

Nintendo forbade anyone to release a NES game without their "seal of approval" which was nothing more that some sort of copy protection. Tengen reverse engineered that and was allowed by a judge to release their game cartridges anyway: they did not infringe on any copyrighted code from Nintendo. And Tengen may or may not have avoided the words "Nenitendo" and/or "NES" on their packaging. And even then: I ain't no lawyer but I think there's no law on earth forbidding you to tell your customers that your hard- or software is "compatible" with so and so in your opinion, not Nintendo's opinion.

So as long as one, indeed, does not rely on the VST2 SDK from Steinberg and produces a VST2 "compatible" plugin then I don't think there's a probelem.

Talking 'bout this sort of stuff: we Linux PC platform users thank being able to use our beloved OS on any other computer than an original IBM PC to something like this. IBM used off the shelf parts for their PC platform as everybody knows. However, the BIOS was closed source and may not be redistributed by other companies like Compaq (remember them?). Phoenix reverse engineered the PC BIOS and it was legal to use it: no IBM copyrights laws were broken.

I'm on a roll here, sorry. On the other hand, there's a good reason some companies try to "protect" their tech. There are a lot of official CD and CD-ROM standards (red book, yellow book, etc.). PC Windows games were initially released on CD-ROM and thus featured the official CD-ROM logo. However, certain copy protection schemes messed w/ the standard and if you look closely at the packaging and the disk itself you will not see a CD-ROM logo. Same thing goes for some copy protected audio CD's: they do not feature the "compact disk digital audio" logo. That is: they are NOT audio CD's. The'y work on many CD players, but on some car stereo equipment it wouldn't work.

And those copy protected game "CD-ROMs" (read: data disks without a standard)? The "driver" or executables trying to access them were seen as a virus by later Windows versions.

xos
Established Member
Posts: 12
Joined: Sat Jul 23, 2022 12:01 pm
Been thanked: 5 times

Re: Framework for audio plugins in C code

Post by xos »

Added support for making MIDI effects and MIDI out from theVST2 plugins. And added a simple MIDI transpose example and many simpler templates if any one wants to get started with something simpler.

Thinking about adding support for making/compiling CLAP plugs using the same plug code. Have made a synthesizer in 100% C code as a CLAP plug before. Then the VST2 possibility can be used as legacy support if people want to make CLAP plugs with the framework.

Is it possible that the CLAP format is more interesting for Linux users than VST2?

User avatar
Linuxmusician01
Established Member
Posts: 1547
Joined: Mon Feb 23, 2015 2:38 pm
Location: Holland (Europe)
Has thanked: 784 times
Been thanked: 144 times

Re: Framework for audio plugins in C code

Post by Linuxmusician01 »

xos wrote: Mon Jan 01, 2024 8:54 pm

Added support for making MIDI effects and MIDI out from theVST2 plugins. And added a simple MIDI transpose example and many simpler templates if any one wants to get started with something simpler.

Thinking about adding support for making/compiling CLAP plugs using the same plug code. Have made a synthesizer in 100% C code as a CLAP plug before. Then the VST2 possibility can be used as legacy support if people want to make CLAP plugs with the framework.

Is it possible that the CLAP format is more interesting for Linux users than VST2?

Happy new year and keep up the good work.

I'm on an old Long Term Support (LTS) distro and I don't think it has Clap support yet. I don't know how often the average Linuxer updates his distro so there may or may not be more people like me... However, I think there's not much "future" in VST2 even though I personally have nothing against it. Clap on the other hand is new, fresh and -- to me -- seems to be embraced by Linux and Windows musicians already so you might want to shift your attention to it in the (near) future.

BTW, does Clap need to be compiled for Windows and Linux separately too, like VST? There's Windows VST and Linux VST you know...

tavasti
Established Member
Posts: 2059
Joined: Tue Feb 16, 2016 6:56 am
Location: Kangasala, Finland
Has thanked: 375 times
Been thanked: 209 times
Contact:

Re: Framework for audio plugins in C code

Post by tavasti »

Linuxmusician01 wrote: Tue Jan 02, 2024 10:39 am

I'm on an old Long Term Support (LTS) distro and I don't think it has Clap support yet. I don't know how often the average Linuxer updates his distro so there may or may not be more people like me...

I tend to update distro when there is no support for it anymore. So when I was using Ubuntu, it was like every 4 years, now back to debian world, so updates are something like every 2 years :-) Sure, may update applications more often, like building from source. And using commercial daws (mixbus and bitwig), so they are updated more frequently.

Linux veteran & Novice musician

Latest track: https://www.youtube.com/watch?v=ycVrgGtrBmM

Post Reply