Using AirWindows plugin in tracktion engine on a Raspberry Pi 5

Good morning all,

is possible to use AirWindows plugins (All Airwindows Plugins Now Run Natively on Raspberry Pi | Airwindows) on tracktion engine on a Raspberry PI 5?

I see that in the zip files I have .so files but I don’t know if and how is possible to use them in a tracktion engine project.

Thanks in advance!

The .so files are VST2 plugins so you would need to enable VST2 hosting for Juce/Tracktion Engine when building your project to be able to load those. This however will now be problematic if you are a new developer, since Steinberg no longer grants licenses for using VST2 for plugins and hosts.

You might be better off using the Airwindows Consolidated project in some way :

Note that the licensing for the Juce based VST3/CLAP/LV2/AU plugin differs from the static library.

Thank you!

Hi @xenakios ,

can I ask you something else?

I perform this command in order to clone the repo inside my project:

git clone GitHub - baconpaul/airwin2rack: Airwindows, Consolidated into a single Library, Rack Plugin and DAW Plugin
cd airwin2rack
git submodule update --init --recursive

Then I move the airwin2rack folder on my raspberry and compiling using:

cmake -Bignore/daw-plugin -DBUILD_JUCE_PLUGIN=TRUE -DCMAKE_BUILD_TYPE=Release
cmake --build ignore/daw-plugin --target awcons-products

And I see the vst3 inside MySoftware/airwin2rack/ignore/daw-plugin/awcons-products/Airwindows Consolidated.vst3

But now I don’t know how to use in my tracktion engine project.

Any inputs?

Thanks

It would probably be a good idea to confirm the built plugin works on some existing DAW before trying to use it in your own software. IIRC Tracktion Waveform and Reaper have Raspberry Pi compatible builds, also the Juce AudioPluginHost should work on the Pi. If you can confirm the plugin does run that way, then you can try it in your own Tracktion Engine project by loading it as a VST3 plugin. I don’t have the specifics on that, I have not worked with Tracktion Engine for a while.

Note that the plugin will not be of much use if you are dealing with a headless system, the plugin does not have a way to change the used AirWindows subplugin/algorithm that way. I talked about that with BaccnPaul and he wasn’t hugely enthusiastic about officially adding such support into it. You could of course fork the plugin code and add some suitable mechanism yourself for communicating with it without a GUI. It might be easier in the end to use the static AirWindows library, though.

Oh thanks.

You mean downloading single VST3 plugin from AirWindows and using in my project?
My idea for sure will be to have my own GUI to talk with the plugin but don’t know if is possible :slight_smile:

Thanks!

No, that’s not usefully possible with the AirWindows Consolidated VST3 plugin as such, you’d need to change the code to somehow allow dealing with the AirWindows plugin/algorithm selection without using the plugin’s own GUI editor.

And with single plugin?

AirWindows doesn’t provide the single plugins in VST3 format, the .so files for Linux are VST2 plugins which you can’t legally host anymore in new products.

and integrating the h and cpp file in my software?

There are so many (over 700 AirWindows plugins now, I think), it’d be easier to use the AirWindows Consolidated static library that has already organized all that. You can use the static library in any way you want, it doesn’t depend on a GUI or any particular plugin format. I guess in your case one approach would be to make the AW plugins available as Tracktion Engine internal plugins.

You mean this: GitHub - baconpaul/airwin2rack: Airwindows, Consolidated into a single Library, Rack Plugin and DAW Plugin ?
I clone the repo but then I need to use them as VST3 or maybe I don’t understand your point.

Yes, I mean using that project, but what you did was to build the VST3 plugin out from that. I mean building and using the static library from that instead.

I don’t find any guideline, have you any link?

Unfortunately, there’s no simple example of how to use the static library in a custom way, the existing code is for the Juce based plugin (VST3 etc), a plugin for VCV Rack or for integration into the Surge XT Synth and the ShortCircuit XT sampler. I do have somekind of relatively simple piece of code that uses the library for offline processing, I could take a look if that could be useful to look at. edit : Hmm, no, the code wasn’t as simple as I was remembering, it’s quite entangled to my other code base…

1 Like

Thank you, I’m trying to do something, I will let you know if I achieve something :stuck_out_tongue: