April 6, 2007

Fun With AU Validation Tool...

by Chris Randall

One of the most common problems we experience with OSX users is permissions getting messed up on OSX machines. A side effect of a customer's permissions being screwed is that Audio Damage plugins can't read their copy protection files, and thus won't work.

The fix is quite easy, for those new to OSX or just not familiar with it. Open Applications/Utilities/Disc Utility, highlight your main drive in the left hand panel, then hit the button labeled "Repair disk permissions." After a minute or two of grinding, you're good to go. Or so it would seem.

Logic, unlike the other large AU hosts Live and Digital Performer, caches AudioUnit effects. The reasoning behind this is not entirely clear to us. However, the result is. When you add a new AudioUnit, Logic tests it with AU Validator, and if it passes, it imports the AU to its own folders and uses that version rather than the one in your Library/Audio/Plugins/Components folder. It will continue to use that version until it sees one in the Components folder that has a higher version number than the one it has cached. So if you installed Dubstation 1.0.0, then re-installed it, nothing would change in Logic. But if you installed 1.0.1, Logic would flush its cache, test the new one, and either use it, or fail Dubstation altogether if it didn't pass. For what it's worth, it doesn't make any sense to us, either.

Long story short, as a result of this caching "feature" of Logic, sometimes when you repair permissions, a plugin still won't work, because it has the same version number; even if you re-install it, it won't have any effect, because Logic didn't flush its cache because the version number was the same. There is a simple solution to this issue, though.

Open Logic Pro->Preferences->Start Logic AU Manager. This, despite the name, is basically a UI front-end for the terminal program AU Validation Tool. When you do this, Logic has to quit, so make sure your project is saved, blah, blah, blah. When you've clicked through, you're rewarded with this stuff:

Now, note the "RESCAN" buttons on the right. When a plugin isn't working in Logic, it will be greyed out here. After you do your "Repair disk permissions" operation, this will still be greyed out. Whack that "RESCAN" button for the plugin that isn't working, and a terminal window pops up with the AU Validation Tool results. Chances are, the plugin will now work, and will no longer be greyed out. As soon as you quit Logic AU Manager, Logic will re-start, and you're good to go. If this isn't the case, copy the text from that window and include it in your "what the fuck?" email to the plugin manufacturer, because they can tell a lot about your system, versions, and what is going wrong from that text.

And one more thing. You'll note that I said that Logic AU Manager was a front-end for the terminal program AU Validation Tool. You can run the AU Validation Tool by itself, without even starting Logic. This may be handy if you're a developer (in which case you probably already know this) or you're troubleshooting a plugin, or whatever.

To do all this, open up a terminal window. There are many commands you can use to view and test your AudioUnit plugins with the command line; I'll give you a couple of the most useful ones. Just type these in a terminal window as they appear, and they'll drive AU Validation Tool without any fuss nor muss:

auval -a This lists your AudioUnits, and shows some information about them. You'll need to know the four-letter/digit tags associated, so you'll need to use this. You can see in the image above that there are three four-character tags associated with each effect. Looking at Reverence, you'll note that it says "aufx ADRe AuDa" before the company and plugin name. "aufx" is the type of plugin. "ADRe" is the four-character ID code we register with Apple for the plugin, and "AuDa" is our company code.

auval -h This brings up the help file; spend some time with this, as there are a _lot_ of command line options with AUval; it is quite a handy tool.

auval -v TYPE SUBT MANU In this case, substitute "TYPE SUBT MANU" for the 12-character code you got with the -a command above, and AU Valitation Tool will run the validation for that plugin. So, to run the validation for Reverence, I would type:

auval -v aufx ADRe AuDa

The Validation Tool would then perform the full validation, just as if it was initiated from Logic AU Manager. This is especially handy for developers, but useful to all users if you're not sure why a plugin isn't working.

Anyways, that's the gist of it. There are many, many more options with AU Validation Tool, and any power user would benefit from spending some time fooling with it.




Apr.06.2007 @ 6:09 PM
Wow, excellent post Chris--a ton of useful info. That one's getting a bookmark for permanent reference.

As a Logic user I always feel a little guilty when I read about your AU dev woes. (I realize that's sort of irrational but I can't help it.) Anyway, just know that your toil and suffering are appreciated. Thanks for conquering the beast and making great stuff.


Apr.06.2007 @ 9:45 PM
Thanks CR for a bookmark worthy article which I can pass on to my friends. Oddly enough, I just learned this stuff on my own, except for the part about caching of plugins.

Little tip for those who have a plugin you cant live without that "works" but fails validation: in the AU Manager, you can just check the box for that plugin and do OK to go back to Logic. You get a bunch of warnings about instability and dataloss which may or may not scare you away but your plugin will be re-enabled.

Also for the kids in the back, all this applies equally to Logic Express as to Logic Pro.


Apr.07.2007 @ 1:40 AM
Thanks for reminding me about Fix Disk Permissions. My main Mac has been kind of unstable for a while, maybe it will help. I had forgotten all about that.

Apr.07.2007 @ 4:50 AM
Thanks, you just reminded me of yet another reason why i love Cubase 4 and VST (the only truely cross platform spec!..AU the reinvented wheel we really didnt need)...despite the recent debacles at Steinberg with VST 2.4 and the invisible 3.0

Bring on the flames!


Apr.07.2007 @ 12:16 PM
Chris Randall
Note that the first half about repairing permissions is pertinent to either the VST or AU, at least with our products. Rescanning in Cubase and rescanning in Logic are essentially the same thing.

Live has a different method, and tends to scan every time you start it. With the AU, Live doesn't cache anything at all, so you can actually work on an AU with Live open, and just drag a new instance to an effect rack, and it'll be like starting over. I can't speak to DP, as I haven't even barely figured out how to insert an effect in the first place.

I'm mainly upset that no one has noticed the background for my terminal window is a Tron tank.



Apr.07.2007 @ 7:52 PM
the tron tank was the first thing i noticed. :-)

Jul.05.2010 @ 3:40 AM
THanK YoU!



Sorry, commenting is closed for this blog entry.