Now available: VST3 Wrapper | Sidechains and Aux In/Out for RTAS, AAX, AU

Hi,

I finally had some spare time to write a JUCE VST3 Wrapper for Win 32/64 and Mac 32/64.

While writing the VST3 Wrapper I decided to extend the existing Wrappers for AAX, RTAS, AU, VST to support Sidechain Inputs and Aux Outputs, too.

Jules, if you're interested in integrating this into the official JUCE version, I can send you the source files and a detailed documentation.

Just let me know.

 

UPDATE July 13 2015:

http://codecooking.net/transfer/eg9h34bf83gbw9wf9/JUCE_Multi-IO_Audio_Code.zip


Included:
1.    Existing RTAS, AAX, AU, VST, VST3 Wrappers extended to enable multiple Input and Output Buses (sidechain In / Aux Out)
2.    A new ChannelLayout class to handle information about connected channels and buses
3.    Slightly modified versions of the existing AudioProcessor and Utility classes to handle the new Bus/Channel capabilities
4.    Info about additional changes (not necessary for the multi-IO features): Some of the Wrappers contain additional fixes or improvements
 

Cheers,

Jan

 

Sounds fantastic! Sure, would appreciate whatever you want to share!

Here are the files and the docs (zip files are not allowed to upload, so I have to use an external location):

http://codecooking.net/transfer/eg9h34bf83gbw9wf9/JUCE_Multi-IO_Audio_Code.zip

 

Please chekout the ReadMe file before looking at the code to get an idea about the multi I/O concept that the wrappers are using.

You should also take a look at the Kown Issues section of the VST3 Wrapper, as your wisdom might come in handy here...

Excellent, thanks! Will look through that as soon as I get a chance!

Nice job!!!!!

Awesome!!

 

Jules, when can we expect these changes to be checked in?

Thanks!

It's not as simple as just checking them in - there's an awful lot that'd need re-writing before it could be added to the library, I'm afraid! I do want to make this happen pretty soon though.

Thanks a lot!!! =)

 

 

 

Hey Buncker, any chance that in the meantime while jules is scrutinizing your code and reviewing it for checking it into the main juce tree, that you could set up a github repository for it? I suppose for most people here it would be simpler to grab the stuff from github than having to download/extract/move/patch, plus one could easily track any changes you make...?

Sorry, that is not my code =)

friscokid is the author

I hope that we get VST3 hosting ability along side the addition of a VST3 plugin wrapper. I'm sure users of Tracktion would appreciate this as well.

 

Seems like perfect timing now that Steinberg is ending VST 2 development.

http://www.steinberg.net/en/newsandevents/news/newsdetail/article/vst-2-development-ends-2504.html

It's high on my to-do-list, and yes, would be great to get it done for Tracktion 5.

Don't let yourself be rushed, but HURRY UP ;)

Joking. Just make sure it works right and doesn't break anything, but from what I can see, friscokid's code base is a good head start on the subject.

Do you have any plans for that update?

I mean that if update will be available in a week or two, then there is no need to do all the work by myself, and it would be good to know what do you mean by "high on my to-do-list".

Don't get me wrong, but we are waiting for about a year (or two) for a sidechain implementation and if you can give reliable estimations, please do.

And if you have no any reliable estimation, pleas post that info too.

That is very important for me at the moment

 

PS at the moment - Juce plugin framework does not support proper multy-output busses arrangement (for virtual instruments) for AU, RTAS etc, and these functions could be implementing without big code changes AFAIR. 

 

No, not a week or two, but certainly within two months and hopefully sooner.. I'm outsourcing this one  and the work's underway as we speak!

Thanks!

Great Job!

Tell me if I'm wrong but after having a quick look at the code you're providing, it seems that only SingleComponentEffect (Editor + process in the same component) model is handled right?

Any chance to have such wrapping for the more general case of multiple components? In my opinion, apart from SideChains, the only main enhancement of this VST3 SDK is to provide a true separation of Processing and Editor, hence allowing for example to have one component on one machine and the other on an other for instance, or simply in two different memory spaces, through the use of the Steinberg COM like communication. I guess it would make the juce wrapping even trickier, but for me it would really be huge.

cheers

Fred

Agreed, this a far away from supporting everything in the VST3 paradigm. However, it’s a start, and everyone inclined to do so can contribute majorly to this patch.

Thanks for your feedback.

Since I just moved from Germany to Portugal, I currently only have limited time, which I need to work on my official client's projects. Therefore I'm not able to update the wrappers at the moment.

Regarding the SingleComponentEffect:

At first I tried to implement the multi component VST3 approach but there were so many problems wrapping this to fit the JUCE framework, that I decided to drop that for now. Yes it is possible but needs a lot more work.

A wrapper is always a compromise. We also don't support every available AU or AAX feature with the existing wrappers.

If anybody has suggestions how to improve my code, I'll be happy to check the suggestions and update the wrappers but I'm not able to do bigger steps within the next few weeks.

cheers,

Jan