Wrapping a host inside a plugin - possible?


#1

Hi,

first off Jules, I want to let you know how much I appreciate your outstanding work. Judging from a deeper look at the sources and documentation, the Juce framework seems of an exceptional quality that we rarely come across. Please keep up your endeavour!

Now for a simple question: Can the plugin framework be used to wrap a small VST/AU host (for a single instrument only) inside? My intention is to have a VST/AU instance that sits on each track of a DAW and connects to a standalone application (OSC or CopperLan). The latter instructs it to load/unload a particular VST/AU instrument, feeds it with MIDI for playback, etc. Sort of remote controlled sound server. Would this be possible?

Actually I planned on having a dedicated AU implementation for Mac and another for VST only on Windows. Now that I am evaluating your framework, it seems a true cross-platform solution would be better.

Any hint is highly appreciated. TIA.

Andre


#2

Thanks. This question has been discussed many times on the forum, and the general answer is “yes”, though it’s got tricky aspects to it. Do some searching for more details!


#3

That’s very encouraging, thanks. I already have a little prototype working.

Your framework is very good. I think the existing documentation is absolutely sufficient as a reference. Your coding style is clean and consistent and the class design is excellent. Having the global “Juce” project open in XCode as a sidekick is great for keyword searches, class browsing, etc. I am getting along very well, despite I am relatively new to C++. I worked 20+ years in a dozen other languages. Looks like I am now ready to finally embrace it.

Regarding the subject of this topic: Talking of “tricky aspects”, could you perhaps give me a few keywords that you remember off the top of your head, so I can do some more searching? I could not seem to find more than the debug symbols ambiguity issue between host and plugin.

Thanks!


#4

+1 to that


#5

Thanks!

…can’t remember! I know a couple of people have done this though… I didn’t follow their discussions very closely, but I think they got it working.