Vsti Scanning

Scanning for VSTi’s the first time you run Renoise can be quite lengthy - even on machines like mine, that don’t have a lot of plugins installed, but a few ones that take quite a long time to load.

Apart from taking a long time, scanning for VSTi’s by loading them is simply not safe - users with a lot of plugins installed, often have expired demo versions or buggy shareware plugins, which will crash when they’re loaded. Also, loading and unloading all plugins in memory, will result in severe memory fragmentation - which can cause crashes or reduce system performance until the system is rebooted.

Unfortunately, quite a high number of users will simply toss the application if it crashes on the very first run - so the danger here, for you developers, is loosing a lot of potential customers, who evaluate your software too quickly, or who are unable to run it at all.

And all this fuss just to determine if a plugin is an effect or an instrument.

The solution I came up with for Orion, is really painfully simple: just distribute a pre-generated list of DLL filenames with plugin type (instument/fx) and friendly name. When scanning for plugins, try this list first, and if the DLL is listed there - don’t load it.

That’s all, really.

Have the program append new DLL names to the list during scanning, then give the program (prior to public release) to a few VST freaks (the kind of people who claim to have “every plugin in the world” installed) and collect their DLL lists, merge them into one, and distribute this with the standard installation.

Of course you can’t expect to get every existing plugin onto the list, but at least all the ones from the major companies, which are usually also the biggest ones (soft samplers etc.)

As mentioned, this is what we did in Orion, so it’s a proven solution, which has worked to everyones satisfaction so far :)

… Just good, free advice! :)

The idea is great. Its really annoying to scan all the plugs all the time. I’ve implemented this already for 1.3. Thanks for the tip !