Vst Not Found

Heys,

i will soon get a new PC and therefore have to re-install all programs. as i have many VSTs, the folders will change here and there. new versions of VSTs and maybe a new overall structure (developer first in the foldername etc.) will cause this.

now, i really fear to do it as i know what renoise says when one VST is somewhere else: the plugin was not found. i wonder that there is no option like “manual/auto find VST now?”. please give me a sign how to solve this problem. many of my saved songs would be useless and it’s really impossible to have 100+ VSTs in the same folder with a new pc and windows.

thanx!

Each VST plugin has its own unique ID code which is stored within the plugin itself. It’s this code which the program (Renoise, Cubase, whatever) uses to identify and find the plugin - the filename and directory doesn’t really matter. As long as you tell Renoise where your plugins folder is located, it should find the plugins no problem and it will not matter how they are organised.

For example, if your old plugins are organised like this:

c:\VstPlugins\this\is\a\folder\myPlugin.dll  
c:\VstPlugins\this_is_another_plugin\kickass_plugin.dll  
c:\VstPlugins\yet another\kickassplugin\nice_synth_vst.dll  

… and your new plugins are organised like this:

c:\MyNewPlugz\myPlugin.dll  
c:\MyNewPlugz\kick\ass\plugin\kickass_plugin.dll  
c:\MyNewPlugz\nice_synths\nice_synth_vst.dll  

… it doesn’t really matter, Renoise will still find them. You just tell Renoise to look in “c:\MyNewPlugz” and it will identify anything which is there.

.

thanks alot for the fast answer. i just had a problem with a vsti (pentagon)… the filename of the .dll changed in a newer version thus renoise couldn’t find it. i solved this problem by creating a second .dll with the old name. any other solutions?

Well that’s interesting…

I just did a quick little test myself. I made a song which uses Synth 1, saved it, closed Renoise, renamed “Synth1 VST.dll” to “Synth1000 VST.dll”, then tried to reload the song. Something that I didn’t expect to happen… Renoise was unable to load the VST.

Hmm… maybe I’m just imagining it, but I really thought this used to work. I did not realise that the plugin identification in Renoise was based purely on the filename. The VST specs have a plugin ID which is supposed to be the unique identifier for every plugin, as I’ve already mentioned. I really thought the filename should make no difference.

I tried another thing… I moved the “Synth1 VST.dll” into a different directory and the song loaded ok this time, so I guess the location of the plugin on your harddisk doesn’t matter, but the filename does.

Sorry for the confusion in what I said earlier.

.

If you only rename the plugin in the folder but forget to remove the plugin in the cached plugin xml, you have two plugins that share the same unique id. I suspect that is the local problem here.

I suspected that myself and deleted the cache xml in both locations (Renoise install dir + user application data dir), but it did not seem to help.

That was the idea of the Unique ID, yes. You could even register your Unique ID at Steinberg to be sure that its really unique, but at the end noone registered it so there are alot of plugs which use the same ID. Thats why we use the dll name instead.

Understood. I register my plugin IDs in their system but to be honest I think choosing a 4 char string as the ID was a really dumb move on Steinberg’s part. It should be something more sensible like a 32-digit hash for example. At least then there’d be a much smaller chance of people stepping on each other’s toes.

I could simply take the md5 hash of “dblue’s glitch plugin” to get “6300669ef23c3214e1e60819b84773ca” as the ID, and I’d probably never have to worry about it ever again. But instead I have to struggle to think about 4 characters which other people might have used, wondering if “Glit” is ok, or “GL17”, or “GLTC”, etc., wondering if ANY string such as “G:$~” is allowed, since Steinberg’s SDK is not clear at all, etc, etc.

Anyway… all rambling aside, maybe Renoise could use both filename and ID? When scanning VSTs it could record both their filename and ID. Then when attempting to load a song later, it could check for the existence of the .dll first, and if the .dll is not found it could cross-reference the VST cache for any matching ID’s under a new filename and attempt to load that .dll instead?

I’ve never personally encountered a situation where the filename of a plugin I’ve used has changed, but obviously it happens once in a while to other people, so maybe this could be useful.

.

It could be as well the DLL uses an API routine that checks it’s own basepath and has it’s name hardcoded in a variable somewhere.

Your MD5 Hash sounds like a great idea, but any change in the file will make this ID also change and this would mean that for every minor update the user would have that exact copy of that plugin in his folder.
I think scanning for both is an option, but the unique ID only makes it overhead of code anyway.

Yep. I was speaking purely from a plugin programmer’s point of view. Steinberg should have used something like this in their original VST SDK. It’s stupid that people have been limited to this 4 character string. It’s a pity that Renoise now has to deal with this short-sightedness on their behalf.