Ok chaps, I’ve just checked in a pile of exciting new code that I’ve been tinkering with for a while - it’s a set of classes for loading and hosting plugins (just VSTs so far, but the architecture’s in place to support multiple formats).
To test it, it’s done as a quick mini-host app that lets you splat a few VSTs on the screen and join them up.
Interesting points to note are that the host shares the same AudioFilterBase class that’s used when you’re writing plugins, so in theory you could compile a juce-based plugin directly into this hosting code and the two bits would match.
I’ve also done some really neat classes for managing the list of known plugins, and scanning for new ones, handling all the tricky cases of plugins crashing, (probably better than any proper host does it currently).
Yes, I know kraken beat me to it with his (much more feature-rich) JOST host, but that’s linux, and I wanted to build something to take advantage of my experience getting VSTs running on the Mac and win32. Might be interesting to merge some of kraken’s plugin format code into this eventually, as he’s got similar classes for handling LADSPA and DSSI.
This is a very early version, so there are loads of things missing/unfinished. If you want to have a play around, what I’d be interested in hearing about are any VST compatibility problems you might hit (and preferably a description of how to fix them!) What I don’t want to hear are any requests for extra host functionality, because that’s absolutely not my focus yet - I wrote the host code in just one day, as a testbed, and that’s the sort of stage it’s currently at!