Blocking plugin hosts

I am looking to block plug-in hosts like those that can be loaded in daws as plugins and that can load other plugins. It’s easy to do using this JUCE: PluginHostType Class Reference

but I am not only looking to block app’s and exe, but plugins that are hosts themselves also.

Any experience? Ideas? TIA

I’m curious what is the reasoning for such “user hostile” behaviour? If I bought a plugin and was arbitrarily blocked from using it however I see fit, unless it was very clearly stated in the pre-sales literature1 that such restrictions are in place I’d be asking for a refund.

1 : people don’t even read the pre-sales literature half the time anyway, get ready for angry support emails.

1 Like

its to address an issue, do you have experience or technical advice to share ?

I’m afraid not, but my gut instinct is that what you’re attempting will not be possible.

I suspect the only way you could test this is by using one of the offending plugin-hosting plugins yourself and DBG the output of PluginHostType::getHostDescription().

That function just creates a string based on the HostType enum, which is itself based on the path of the host.

Generally I don’t think there’s a way to know which dll in a process has loaded your dll. As far the OS is concerned all these calls came from the same process (the DAW executable).

1 Like

thx for input, any ideas?

If your goal is to prevent tools like PluginDoctor from loading your plugin, then any block you put in place will not prevent a user from analyzing your plugin. All a user has to do to bypass any block is to simply use the hardware mode in PluginDoctor, which lets them route audio through any DAW that supports your plugin.

4 Likes

If you could successfully block your plugin from being loaded in specific hosts, I would expect to get lots of support tickets from customers saying your plugin is broken, possibly requesting refunds.

it would have a long list of white list hosts allowed, not all blocked. Not concerned about it either for the type of plugin it is. Thanks for reply!

Yeah, I was thinking exactly that.

  • Run PluginHostingPlugin.dll in Cubase
  • open OPs plugin within it
  • see Cubase as the output of that DBG statement
  • thus proving my gut instinct that what OP is trying to do is impossible

A very slim chance this wouldn’t be what happens.

it is possible, another company has done it

Would you mind sharing the name of the other company/plugin that did it?

The first thing that comes in my mind is to make a function that returns a bool, checking all the allowed host types. Then, in your processBlock, you use that function to enable the process or return the original input (or silence or noise, for example).

Ps: i feel a great The Office reference in your user name :grin:

1 Like

Have you tried asking them?

haha you are the first to catch it. Thank you very much for the idea… going to try this…