VST and multi-channel support

Hi!

 

I'd like to include multi-channel support for our plug-ins, but would like to avoid having duplicate plug-ins (a stereo and a multi-channel version). When adding multi-channel configurations to PreferredChannelConfigurations, some hosts (including Tracktion, BTW) choose the highest number of channels available, even when the audio is rendered with only two channels, thus causing the plug-in to consume much more CPU than necessary. The ideal solution would be to allow the user to choose the allowed channel configurations in the plug-ins preferences, thus avoiding the need for two separate DLLs. Due to the way the JUCE wrappers are implemented (with defines for the channel configuration), this seems impossible to achieve at the moment. Have I missed something?

 

Stian

 

No, this is all host dependent.  Pretty sure there is no way to specify which configuration to prefer on the plugin side.

Thanks for the reply. It would be possible, though, to let the AudioProcessor base class decide on the maximum number of input and output channels and the preferred setup during run-time (instead of the defines that are currently being used). That would allow the user to change the channel configuration settings in the plug-in's preferences... Unfortunately, that would require changes to the JUCE base classes and wrappers and I'd prefer not having to modify the JUCE library...

Stian

An old post, but I’ve been told the reason a Juce plugin I’m using can’t be switched to mutli-out is because Juce doesn’t support it. This appears to be the case, because when I run the plugin in VSTHost which has no mutlichannel config, it just adopts the outputs the plugin exposed, there’s no way to get the plugin into mutlichannel mode. Even placing it on a multichannel bus, the plugin remains in stereo. The only way to get it to switch is to actually place the plugin in a DAW with a mutlichannel support. This is really limiting as it means you can’t work with them in any standalone or bespoke setup. Some plugins do, but they are usually straight VST 2.4 plugins that just expose a fixed output number be default and so usable.

It sounds like you’re a user, rather than a developer. I think the best way to resolve this would be if you could provide some specific use-cases that you’d expect to work. These should include the names of the hosts, the channel layouts/routing, and the plugin format that you’re using. Then we can determine whether or not JUCE should support that behaviour.

Assuming JUCE should support your use-cases, you could then ask the developer of the plugin to make a post on this forum, and we may be able to help them.