VSTPluginInstance and Scanning on a Different Thread


#1

Hi Jules,

Since you provide a means of scanning for plugins on a different thread, would you mind also providing a macro for turning off the following assertion in juce_VSTPluginFormat.cpp?

#if JUCE_WINDOWS
// On Windows it's highly advisable to create your plugins using the message thread,
// because many plugins need a chance to create HWNDs that will get their
// messages delivered by the main message thread, and that's not possible from
// a background thread.
jassert (MessageManager::getInstance()->isThisTheMessageThread());
#endif

#2

Well, I actually provide those callbacks to allow scanning in a different process. I wouldn’t really recommend doing it on a different thread, because some plugins may get confused if you don’t use the main thread.


#3

:shock: Woops! Pardon my confusion, and good point…


#4

Hey Jules,

I do understand your point… but I’m not understanding the feature of scanning on a different thread that you added a while ago - which you have just now upgraded to a ThreadPool? How can that work - or is it just not for use with VSTs?


#5

It’s how tracktion works, but it only makes sense if you implement a custom scanner that uses a child process to do the scan.