Quote:
Originally Posted by ivangough Maybe I'm dreaming but with all the stink around the pro audio forums about this, perhaps someone else will get involved here and help Steve get the plugs up and running. Like another plugin software developer.. Wink Wink.. |
Steve's never talked to me- I'm probably too small to be on HIS radar.
All I can do is tell him what bits _I_ had to fix to get something to compile- he might well be going to places (like with GUIs) that I don't actually use as part of my concept. Even there I know some stuff but it's not happy happy joy joy either.
I had to hunt down and include CAVectorUnit .ccp and .h myself even to compile at all, the examples need them but the project doesn't contain them. I edited my template to include that stuff or I'd go crazy trying to keep track of it all each time. I strongly recommend working from templates with AUs where you've already tracked down and fixed the bugs.
If he's trying to build universal binary there's nothing there to tell him that in the compiler, Other_Rez_Flags has to say -I /System/Library/Frameworks/CoreServices.framework/Frameworks/CarbonCore.framework/Versions/A/Headers -I /Developer/Examples/CoreAudio/AudioUnits/AUPublic/AUBase -d ppc_$ppc -d i386_$i386 and everything after the -d flag I had to grovel through coreaudio lists to find.
Lastly, 'reset' doesn't actually reset the AU- Sophia Poirier of DestroyFX is my AU deity and gave me this code-
ComponentResult Logical::Initialize()
{
ComponentResult result = AUEffectBase::Initialize();
if (result == noErr)
Reset(kAudioUnitScope_Global, 0);
return result;
}
...which makes the 'reset' code in the template actually DO something consistently. I assumed it would do what it did, but particularly on some platforms like Digital Performer, the host doesn't call that. 'initialize' is not in the example code either.
I don't know if it's too late, and I'm not the ultimate authority on how AUs work, though I've released more than 50 working AU products and been able to support them. But I'm happy to help Massey out in any way I can, I've just explained the fixes for the three biggest trainwrecks _I_ hit, and I know where to go for further trainwrecks. Hint- not Apple, exactly- at any rate the people on the CoreAudio list are often busy building more iPhones and such. But searching the ARCHIVES of that list often hits paydirt, and that can be done here-
Coreaudio-api Info Page
If there's anything I else I can do consider it done. Right now I'm actively trying to help a guy on Gearslutz learn to code VST and teaching him some of my tricks so there can be VST plugs that are something like mine- if all else fails with a bit of test-tone experimentation I can do plugs myself that are SOMETHING like Massey's, and he won't have to touch AU. It seems we specialize, and maybe that's okay.
Oh, and with the GUIs, you're told you want to use Cocoa frameworks but most of the hosts outside of Logic still only work with Carbon, so the cake is a lie
The cake IS a lie. But that should stay our problem, not become our users' problem. There were people who knew how to solve any problem he ran into. And his observations on Apple moving goalposts and the risks you run, especially with Jobs leading the company, are spot-on. Ask any OpenDoc developer. Massey is entitled to not want to play if it makes him feel too powerless.