Plugin Host Scanning

When the plugins getting scanned for the first time (not second time), it seems the loading and checking blocks the whole message thread, which is ok so far.
The big problem is, for example if plugin number 10 is scanned, but the GUI shows that still plugin number 1 is scanned, the application seems to freeze. There should be enough time between the plugin-callbacks to handle the GUI-updates, so that the user can see the progress, and not thinks the application is crashed.

Unfortunately I did it that way because some plugins don’t work unless you load them on the message thread…

yes, i know, thats ok, but after a plugin was scanned, and before the next plugin will be scanned, the scanner should be able to update the GUI, that’s not the case at the moment.

Oh, I see. I assumed it already did that…

try on windows with a big plugin-directory, it seems there is just not enough time between to update the gui

FIX: just increase the number in runDispatchLoopUntil inside the scanning loop and it works!


for (;;)
    {
        aw.setMessage (TRANS("Testing:\n\n")
                         + scanner.getNextPluginFileThatWillBeScanned());

        MessageManager::getInstance()->runDispatchLoopUntil (300);  // instead of 20

Fair enough, but it will add a 300ms pause between plugins, which will slow things down a lot if you have a large number of them.

yes, but still better than redraw artefacts… (mabye 100 are also ok, i will check)