Collaborative DAW updates

Hey Ive made some updates to the DAW’s from last time. Took more into account specifically regarding look at feel. Thought I would throw the update in so you guys can see the difference. If there is any feedback please let me know. Always looking to improve design and functionality. Also Designer put a bunch of ballistic filters in only… IDK why, but it supports more than a ballistic filter, VST, AU, AAX, RTAS, any RackAFX, and misc.

looking for design feedback mostly though please let me know what you guys think of the UI transition.

//=======================

BEFORE

//=======================

//======================

After

//=====================

//=====================

Ill probably look at doing some Traction integrations next to improve further. But looking for feedback before I begin the final section of dev integration

1 Like

1 Like

I think it looks quite nice! You may want to make slider labels a bit bigger (gain/pan on Ballistics filter). Text feels a little hard to see.
Great job!

Thanks for the feedback will definitely take into account!

So you say that your DAW can host AAX and RTAS plugins? How does that work?

Basically I was able to follow along Will Pirkle’s book on generating AAX plugins with his RackAFX software. The issue was that at the time AAX was being very picky about using only certain compilers but I found that legacy AAX SDK’s would work with legacy RackAFX software without using then updated platforms.

He breaks down his RackAFX into both a host of plugins and also a generator of plugins. What we had to do was go into the plugin kernel modules of the RackAFX software and reverse engineer his hosting process for VST, AAX, and Audio Units - because rackAFX also allows loading of the plugins no matter what format they are as long as you specify the plugin specs in the beginning of the project.

We ended up using a hybrid plugin architecture with RackAFX and JUCE. Ill upload some pictures of us using plugins generated from RackAFX which have every architecture format- AAX, VST, AU.

Thats one of our reverb plugins excuse the lame graphics, Mostly just trying to get functionality out there…

However the plugin can be ran as any of the plugin frameworks after exporting from CMAKE.

Then we tied in the plugin instances depending on the macros to processor graphs. (make them nodes etc). Then from there we ran into the issues from the destruction of the plugins from the processor graph because certain SDK’s would delete them simultaneously with JUCE.

Both were taking ownership of the plugin, so we had to modify the methods calling the destructor so that only our DAW would call the deletion of the plugin instances. The problem was that it was getting called three times and resulted in jasserts and breakpoints from failed to load, no plugin factory etc…

Or were you referencing the hosting over the network? because that’s a completely different explanation…

These updates aren’t on our website yet though. Were still doing more testing on it. But I wanted to share here so I can get input from senior devs.

Sorry, I was a bit imprecise with my quick question.

I was mainly wondering since I was under the impression that there are no non-Avid AAX / RTAS hosts out there to my knowledge, probably because of license restrictions by Avid. This is why I believe there is also no AAX hosting code in JUCE and without having looked in depth at the AAX SDK sources I always thought that they didn’t come with all the bits to set up proper hosting, so I assumed that there is at leas some reverse engineering needed to even make that possible. Interesting that RackAFX offers this option at all.

Did you verify that loading third party AAX plugins actually works and that building an AAX host complies with the AAX license? Might be possible that I’m just wrong here with my assumptions :wink:

I understand more clearly now - you’re correct in the statement that Avid wants to keep their products proprietary which is why it took heavy reverse engineering from our part to get the host to accept the plug-in. Basically when you make a plug-in in RackAFX it will do auto auto package that lets you specify the plug-in format that you use. It can be AAX or VST or AU - now what we did was go into the actual RackAFX framework source not just the code editor but the actual source for the RackAFX compiler and we had to figure out how Will was able to wrap plugins in AAX simultaneously with the other frameworks. He outlines the full plug-in structure for an AAX plug-in in his book designing audio effect plugins in c++: for AAX etc etc… but basically there’s a whole chapter on the structure of an AAX plug-in and the necessary descriptions needed for an AAX plug-in host. He then describes how he integrated that infrastructure into his RackAFX plug-in generator. Now this is why we didn’t use JUCE fully and instead used an integration with the RackAFX framework although I think after getting the knowledge from RackAFX books it makes it more clear how one could establish such a host in juce by possibly using a custom wrapper class that handles all the AAX specs. If you have read that one yet I highly recommend it. He goes in depth on plug-in supporting, compilers, SDK for different plug-in frameworks etc.

I hope I answered this question any more and id have to share my entire repo haha.

As far as hosting plugins I’ve only verified plugins I’ve made from RackAFX that were simultaneously generated into the main plug-in frameworks for AU, VST, and AAX. I haven’t test a SOLELY AAX plug-in. Although i can give it a shot later once I’ve finished up my next round of development and share with you any discoveries I’ve made.

Hope that helps clarify.

Again this isn’t commercially available.
Id have to gain permission from avid first before I can commercially distribute.