Hi to all,
I’m working on a software that need to host vst, vst3 and au effects in something like a channel track. Currently I’m studying the part related to the buses layouts, and I would like to support multiple input and output busses, with different possible configurations.
The main idea is that the audio channel have it’s own layout and the main input/output bus for the plugins should try to match that configuration, and if it’s not possible, get the most similar layout and I will manage the routing to adapt the configuration.
I’m looking at the source code to find a way to obtain this, but I’m currently stuck:
If I’ve red well the code I’ve seen that all the 3 formats of plugin will be initialized with a layout suggested by the plugin itself, and then you have some methods to try if a layout is supported.
But in case the plugin have multiple layout support, and the layout I want is not supported, the system goes back to the last working/initial layout, without giving back any hint.
If I have understood well the vst3 sdk documentation they suggest to call the plugin with the desired layout and if it’s not valid, they should return the most similar layout that can be used.
There’s any function that can gave to me the “best layout similar to the one I want”? Or some way to have a list of the layouts supported by the plugin?
I’ve seen a function called getNextBestLayout in the AudioProcessor that seam interesting but it’s private and I don’t understand if it’s intended to be used by an host, or only by a plugin.
Thanks to all
Cheers
Mix
