Tags: posts polarity-music Clever-Audio-Plugin-Clap Compiler OpenSource PlugData Plugins VST-Plugin Heavy-Compiler

PlugData: Exporting VST Clap Plugins

Tutorial | Oct 06, 2023

In this video, I introduce the latest version (0.8) of Plug Data, a tool for creating VST and CLAP plugins from Pure Data patches. I demonstrate how to export a Pure Data patch as a VST plugin using the new feature in version 0.8. Although GUI elements cannot be exported with the plugin, this method offers a straightforward and free way to create native plugins using Pure Data.

You can watch the Video on Youtube - support me on Patreon

Questions & Answers

Maybe you dont watch the video, here are some important takeaways:

What is the latest stable version of Plug Data?

The latest stable version of Plug Data is version 0.8.

What is one notable feature in Plug Data version 0.8?

One notable feature in Plug Data version 0.8 is the ability to export CLAP plug-ins or VST plug-ins from a pure data patch.

How does exporting a plug-in from a pure data patch work in Plug Data?

To export a plug-in from a pure data patch in Plug Data, you need to remove any GUI elements as they cannot be exported. Instead, you can use automated parameters to create an interface for the plug-in. The plug-in can then be exported as a VST or CLAP plug-in.

What are the limitations of exporting plug-ins from Plug Data?

The main limitation of exporting plug-ins from Plug Data is that GUI elements cannot be exported. Additionally, only GUI-less VST plugins can be exported at this time. However, the exporting process is fast and completely free and open source.


This is what im talking about in this video. The text is transcribed by AI, so it might not be perfect. If you find any mistakes, please let me know.
You can also click on the timestamps to jump to the right part of the video, which should be helpful.

[00:00:00] Hey folks, welcome back.
[00:00:01] Today it's about plug data again, which just released in version 0.8.
[00:00:05] It's the latest stable version.
[00:00:08] There are a lot of new features in there.
[00:00:10] And if you want to download it, just use the link in the description below, head over to
[00:00:14] the download page and download here the executables for Windows, for Mac OS and for Linux.
[00:00:21] And there's one particular feature in there, which I really like and that's the possibility
[00:00:25] to export CLAP plug-ins or VST plug-ins from your pure data patch, which is really neat.
[00:00:34] I want to show you how this works here.
[00:00:36] So we have some kind of track here running in the background.
[00:00:39] And we just insert here a plug data instance, plug data FX.
[00:00:46] There's no patch in here already, so we create a new patch.
[00:00:50] Just click on that new patch.
[00:00:52] And we need here an audio input to channels, right?
[00:00:57] And then audio output.
[00:01:02] And we want to use multiplication operation here in between to change the volume in audio
[00:01:11] duplicate.
[00:01:12] And yeah, that's just a simple patch here to change the volume.
[00:01:16] All we need to do now is to insert here a knob to change the volume actually, actually to
[00:01:21] have some kind of interface to it, right?
[00:01:24] So we connect this here and we go to zero and maybe two or three so we can amplify the
[00:01:31] signal.
[00:01:32] So one would be the original volume.
[00:01:36] So that's that.
[00:01:38] Let's bring this back up here.
[00:01:40] So you can change the volume just with this knob.
[00:01:50] A simple, very or very simple patch in pure data.
[00:01:55] So now you want to export this as a VST plugin.
[00:01:59] The first problem is you have to understand that you can't export GUI elements.
[00:02:05] You can't export a VST or clap plugin with a GUI.
[00:02:09] You have to add this for yourself, maybe with a multi platform, a GUI wrapper, something
[00:02:16] like juice or something like that, because it's not that easy to, you know, make a GUI
[00:02:23] for all different platforms just from within one plugin.
[00:02:28] Maybe it's possible in the future that we can export here these simple GUI elements from
[00:02:33] plug data itself, but at the moment it's not possible.
[00:02:36] So you can only export GUI less VST plugins.
[00:02:43] So that's the that's the big downside of this, right?
[00:02:47] So when you put this here into plug in mode to head over here to this hamburger menu,
[00:02:53] you can use the compiled mode and this one gives you a hint what's not possible.
[00:02:58] So this one, this element here is not supported.
[00:03:01] As you can see it here in the console warning, object knob is not supported in compiled mode.
[00:03:08] So we can't use that when we want to export the VST plugins.
[00:03:11] We have to remove that and we have to use something different and you can use something
[00:03:17] like here these automated parameters.
[00:03:20] So you add one, you call this maybe volume and this one here, this is basically exported
[00:03:27] here already to plug data as you can see here as a volume parameter or as an automation
[00:03:34] parameter you can use.
[00:03:37] And you have to connect this basically to your input here.
[00:03:40] You do this by receiving data on exactly this address here called volume and you specify
[00:03:50] here some kind of argument, which is called HV, which stands for heavy.
[00:03:56] HV is basically the library for plug data that exports the patch from pure data to some
[00:04:05] target builds.
[00:04:08] So we use heavy and heavy param stands for parameter of course to make sure the compiler
[00:04:16] knows what to do with that.
[00:04:20] So we put this here in there and we have now an exposed parameter here, which is called
[00:04:25] volume.
[00:04:27] So instead having this knob GUI interface element in here to change the volume, we expose
[00:04:34] this as a parameter for the VST plug in itself and we can change now the volume here.
[00:04:41] Okay, so far so good.
[00:04:46] And because we used here this argument HV param, the compiler knows this is some kind
[00:04:53] of value that needs to be exposed for the VST plug in as an automation parameter.
[00:05:00] So all you have to do now is to use instead of using the compiler module, you can switch
[00:05:05] this off, you can go to compile.
[00:05:08] And when you open up this model here for the first time, it probably wants you to download
[00:05:15] some tool chain libraries and it does that for you.
[00:05:20] All you have to do is basically click OK and it downloads, I think 750 megabytes of stuff
[00:05:27] in the background that it needs to compile that stuff for you on your PC.
[00:05:36] It's basically the same thing as I showed you in the rainbow video about Max, but with
[00:05:42] Max you can export VSTs by uploading your source code or your patch to the servers and
[00:05:49] then they download the binary for you.
[00:05:53] And you need to log in, you need a subscription to do that.
[00:05:58] Here everything happens on your PC.
[00:06:00] It's compiled in the background on your PC.
[00:06:02] You don't need to log in, you don't need a subscription.
[00:06:05] Everything works just with free and open source software.
[00:06:10] So here is the compiler.
[00:06:11] We can export C++ code.
[00:06:13] We don't need to do that.
[00:06:15] We also don't want to export it to ElectroSmith.
[00:06:17] I don't know what that is exactly.
[00:06:21] Then we have your DPF audio plugin.
[00:06:23] That's what we need.
[00:06:25] And we can say patch to export to current open patch.
[00:06:28] That's what we want to do.
[00:06:30] There's a project name.
[00:06:31] We don't have a name here exactly at the moment for PD files.
[00:06:35] So we use it, maybe volume knob or just volume miser or something like that.
[00:06:44] I don't know.
[00:06:45] Copyright, maybe your name.
[00:06:47] Then we want to export to binary.
[00:06:49] We don't want to export to source code.
[00:06:51] You can do that too.
[00:06:52] So if you want to maybe open it up in juice later on or in some kind of IDE to change the
[00:07:00] code, you can do this too.
[00:07:03] But we want to export here a binary and you want to export here an audio effect, not an
[00:07:09] instrument or custom.
[00:07:10] You want to export an effect.
[00:07:13] And there's no MIDI input.
[00:07:14] There's no MIDI output.
[00:07:16] And we only want to export instead of LV2, VST2, we want to only export VST3 and maybe
[00:07:23] clap, right?
[00:07:25] So all we have to do now is to hit export and choose here a folder and I create your
[00:07:33] new one on my desk and call it volume miser.
[00:07:39] And there's a problem with that.
[00:07:42] Don't use spaces in your folder descriptions.
[00:07:45] I run into problems with that because it then takes the last name after the space and tries
[00:07:51] to use it as a parameter for the compiler.
[00:07:54] So just use simple words here.
[00:08:00] Volume miser, S or Z.
[00:08:04] Let's take it this way.
[00:08:07] Choose the folder and then it exports basically everything from your patch to this directory
[00:08:15] and go to the desktop, go over to volume miser here.
[00:08:22] And you can see it's still exporting, export successful.
[00:08:26] And then we are left here with the clap file, which is a clap plug in and with the VST3
[00:08:33] plug in, right?
[00:08:35] So now we can close here this thing.
[00:08:38] We can even remove the plug data, plug in here, maybe I mute this.
[00:08:43] And then we can use here the clap plug in and just drag this in.
[00:08:47] And then we have our volume miser here.
[00:08:51] You can change the volume with that.
[00:09:01] So it's actually really simple to make GUI less devices, VST plug ins, clap plug ins,
[00:09:10] barely two plug ins just with plug data, which is really nice and neat.
[00:09:15] VST is also in here.
[00:09:17] I can drag this in as you can see.
[00:09:20] It just works exactly the same.
[00:09:22] It even has a name volume miser.
[00:09:24] You can see at the top, it's a VST3.
[00:09:26] This one is a clap plug in.
[00:09:29] And that's completely binary.
[00:09:31] So it's fast and yeah, like I said, it's a real, real native plug in.
[00:09:39] Just exported from plug data within seconds.
[00:09:44] And there's no coding involved, nothing.
[00:09:46] Only downside is that you don't have a GUI.
[00:09:49] Maybe there's something in the future they can do to export simple elements.
[00:09:53] Like I said, this would be really great.
[00:09:56] But at the moment, it's not possible.
[00:09:58] But at the same time, it's completely free.
[00:10:01] It's open source.
[00:10:02] And it's a fast way of realizing real native plug ins with just some pure data patching,
[00:10:11] which is nice.
[00:10:13] So if you want to try this out for yourself, like I said, head over to plugdata.org.
[00:10:17] Link is in the description below.
[00:10:19] Head over to download, download plug data, use it in your door, patch some things, export
[00:10:25] it as a VST and have some fun.
[00:10:28] So that's my mantra.
[00:10:31] Also make sure maybe to go over here to plug data on GitHub.
[00:10:34] The link is also in the description and use the sponsoring button here to support this
[00:10:40] project, which is a really great project and I hope it has a bright future.
[00:10:47] Thanks for watching.
[00:10:48] Leave a like if you liked the video.
[00:10:50] Leave a subscription.
[00:10:51] Thanks for watching and see you in the next video.
[00:10:53] Bye.
[00:10:54] [MUSIC]