Remove plugins who's files no longer exists issue


#1

When I click on the “remove plugins who’s files no longer exist” option on the pluginListComponent every plugin disappears. I would think the path might have changed … but it hasn’t … I can rescan and add them, and then remove them all again.

I don’t remember this being an issue before upgrading to snow leopard … and I just verified that it is not an issue on my PC compiled version.

Also … probably related (and how I actually noticed the problem) … when the plugins reload from description (I save a list of what plugins I’m using when the program closes and reload them upon opening again) … I get a warning from the juce that the path names are not correct (they are relative I think) … and so the plugin scanner will look for them in the CWD … which is not where they are of course, so no plugins get reloaded.


#2

I haven’t touched any of that code… Really not sure exactly what’s going on there, TBH.


#3

I should mention that it works fine to reload VSTs from identity stings … but I guess since AUs are system managed, when JUCE looks for the file if doesn’t know where to look? I mean, when I scan for new or updated AUs it finds tham all … but then they disappear with the “remove plugs whose files no longer exist”. I noticed in the docs that it doesn’'t actually use the directories listed for scanning

AudioPluginFormat::searchPathsForPlugins
"Searches a suggested set of directories for any plugins in this format.
The path might be ignored, e.g. by AUs, which are found by the OS rather than manually. "

Can I assume that others can reload AU plugins from strings successfully on startup? In snow leopard?


#4

Ah, it’s probably just the code that checks for the file’s existence not being smart enough to recognise that it’s an AU id, not a real file.


#5

right. What do you recommend for reloading plugins from the ident string? Is there a way to append the description with a path or something? It’s kinda a bummer having to reload all my plugins one by one every time I start the program.

perhaps I am missing something simple here?

ps - Also, I’ve noticed a few AU plugs scan and erroneously report 0 ins/0 outs (most notably NI’s Battery 3). Not sure if it’s because Battery is suppose to have a changeable number of channels (there is a setting in there that I have set to non-zero of course) … but somehow juce doesn’t like that it’s variable, and it always believes it has 0 outputs?

http://www.rawmaterialsoftware.com/viewtopic.php?f=8&t=3286&p=17425&hilit=battery#p17425


#6

You seem to be getting very confused by this, but It looks like a trivial thing to fix - a quick look at the AU classes show that it was just dumbly assuming the identifer was a filename, so something like this would probably be all that’s needed:

bool AudioUnitPluginFormat::doesPluginStillExist (const PluginDescription& desc) { if (desc.fileOrIdentifier.startsWithIgnoreCase (auIdentifierPrefix)) return fileMightContainThisPluginType (desc.fileOrIdentifier); else return File (desc.fileOrIdentifier).exists(); }


#7

right, I got it. And I see the tip got it too … glad to see your still working 50 hours a day. : )


#8