Luckily, I have a rich background in real-time multimedia. I have (in my professional life) written sound and video drivers, I have written plug-ins, I have written hosts, I have even worked on OS kernels, compilers and debuggers, all since the early '90s. I believe I'm actually fairly qualified to know what the requirements are for both hosts and plug-ins.Honestly I won't try to do a plugin format
if I've never done some serious plugin, both instrument and effect with stuff like surround capabilities, internal sequencer and other advanced stuff.
No offense, but it's trying to do a compiler when you don't know all the language requirements.
I also think that the actual specification I posted encompasses a fair bit of my knowledge so far. If you would do me the favor of actually reading the headers with comments, and then commenting on what you think is wrong, I would appreciate it. The questions I now have are more along the lines of "did I miss something" or "did I make the wrong choice" or "is there something that would make this API harder to use than necessary." I think I know what I'm doing at the base level
One thing I focus on, and which the others don't, is clearly specifying what the host requirements and protocol is, including threading. This means that building a stable system becomes easier. I also focus on providing an example hosting library, which makes adding support to a host as easy as possible, which I believe the others don't do.
When it comes to other independent plug-in formats, such as LADSPA/LV2, if anything, those are designed without regard for the real problems of such plug-ins, as witnessed by the lack of support for things like multi-bus support.
Perhaps the work will end up being something like a wrapper for VST 3 that implements hosting on one side, and a simpler plug-in API on the other, who knows. But, currently, that looks less desirable to me.

