[plugin] Send a copy of audio to a bus in host



I would like to be able to “send” a copy of my audio plugin output to any of the buses available in my plugin host and control the send level. Is this something 1) logical to do 2) doable in Juce 3) if doable, can you please provide me pointers on how to do so?

My aim is for my plugin to be able to control the send level say in already existing reverb on an aux bus in my host

Very much appreciated


When you say “my host”, do you mean a host you have yourself programmed?

If yes, then it should be possible for you to make your plugin do tighter interaction with your particular host. (This might involve some dirty hacks…)

If no, then no, the standard plugin formats/JUCE don’t have facilities to manipulate the host’s audio routing and things like that.


Thanks @Xenakios!

Sorry if I wasn’t clear, indeed, by “my host” I meant the DAW hosting my plugin.
From your answer, I guess I have no luck.

Question on an alternative approach: instead of trying to control the send to a bus that contains, for example, the ‘reverb’, what about hosting the reverb plugin directly within my plugin? I assume this way, I can control and mix both, my plugin out with the Reverb out? do you think this is feasible? if yes, where should I start reading? :slight_smile:



Yes, that’s a possible approach. I don’t recall if there’s a simple to understand open source example of such a plugin, though. :frowning:

The JUCE plugin hosting is relatively straight forward to use, though. AudioPluginFormatManager and PluginDescription I think are enough to do some very basic plugin hosting tests. More advanced uses will benefit from AudioPluginInstance, PluginListComponent, KnownPluginList etc…


That’s great, and enough to keep me up and reading tonight
Thanks alot!


@fahed please tell us which DAW you are using, that would make it easier to reply and find solutions to your problem.

Mixing is usually the job of the DAW.

If your plugin is an audio effect (i.e. a plugin that takes audio as input and produces audio as output), then you can put your plugin after the Reverb plugin in the DAW. That way, the output of the Reverb will be the input of your plugin and you can do whatever you want with the audio coming from the Reverb plugin in your own.


I am assuming the original poster is well aware of how things should usually be done in the host, but that for some reason is not how he wants to do it. (Or maybe his host of choice doesn’t allow enough routing flexibility…)


Hello @McMartin, @Xenakios

My DAW is Protools 12, but since I don’t have an AAX license/SDK, my plugin is currently AU/VST which I host inside Blue cat’s patchwork wrapper plugin…messy I know, but works fine so far, so it is not routing flexibility question on the host.

Initially, I didn’t want to bore you with the details, but it looks that I was being unclear, so let me explain what the plugin is doing:

My plugin is a binaural panner that pans a track in 3d and also control its gain, based on angle and distance measurements to a reference point respectively.

Now i am controlling the gain based on distance changes, but what i additionally would like to do is to control a reverb dry/wet level mixed with the track also based on distance. I dont want to write a reverb stage within my plugin, instead i would like to use existing plugins, thus i was thinking that if i can host a stock reverb inside my plugin, i might be able to control its wet/dry parameter within my plugin based on distance.

I hope this clarifies that actual, possibly weird inquery :wink:
Thank you


Yes, hosting is the right decision in that case. Because even though the plugin SDKs allow plugins to send multiple output buses, many hosts implement that only if your plugin is a synth…

Have a little search for “multi output”, the information is spread around, and some you have to test yourself…

Good luck


Thanks @daniel, and for taking the time to share some threads & snippets.
I will dig into that for sure, and possibly come back here with results to share.