Hi,
I worked on a new plugin interface, it is not yet finished and set in stone, but ready enough to gather initial feedback and advice.
The specification is hosted on github:
https://github.com/free-audio/clap and is available under the MIT license.
There is a generated specification document at:
http://free-audio.github.io/clap/
In a few words CLAP features:
- per sample and ramp automation
- per note automation
- you can play a note at any frequency
- extensible design
- preset browsing
- parameters grouping
- event based
- the plugin can say which parameters are used and which aren't
- the plugin can dynamically add new parameters
- the plugin can expose multiple ports configuration, including repeatable sidechain input which lets the host connect any number of inputs to the plugin, and name those inputs. It is useful for an analyzer.
- The plugin can inform the host that it does not need to process the next block, like when all the voices are off. It will help to save a lot of CPU on big project when you have hundreds of plugin instances idle.
- The interface is very easy to understand and use, anyone can get started from the example synthesizer and host.
I hope that you'll find it interesting and give it a chance. Thanks.
Regards,
Alexandre