Re: Parameters required for settings and presets?
Re: Parameters required for settings and presets?
- Subject: Re: Parameters required for settings and presets?
- From: Marc Poirier <email@hidden>
- Date: Wed, 30 Apr 2003 23:44:36 +0200 (CEST)
Hmmm, sorry to not necessarily be (immediately) helpful, but your
questions for me trigger a lot more questions rather than answers.
First, I'm wondering if you have done any debugging to determine whether
Logic is Get-ing the ClassInfo and FactoryPresets properties. That would
be the first thing I'd do. If it is the case that Logic first looks at
your parameters and then, if it doesn't find any, then it refuses to even
consider getting your ClassInfo and FactoryPresets properties, then I
would consider that to be a bug in Logic. To debug this, I would
recommend copying the COMPONENT_ENTRY macro rather than using it and
inserting debug logging (or however you want to go about this) there,
rather than directly in your SDK-derived methods like RestoreState and
GetPresets. Because the next possibility is that the problem lies
somewhere in the AUBase SDK stuff...
So if Logic is in fact doing AudioUnitGetProperty for ClassInfo and
GetPrests and you see that in the Component entry dispatcher stuffs, then
I would try and see if the process doesn't die somewhere in AUBase. I
would follow that code and see if it doesn't check for existing parameters
at any point. I really doubt that it does, but if it does, then that
would be a bug in AUBase.
Now if you've examined those and everything still seems fine, then I'd
start looking at your own code. Well, at this point, if you still haven't
found a problem regarding FactoryPresets (with respect to them not
showing up in Logic), then I'm stumped with that one. But the problems
with ClassInfo could still be your fault. One thing you need to realize
is that RestoreState sets the parameter values directly into the elements.
Perhaps you have overriden AUBase::SetParameter for yourself and you catch
those values? If so, and if that's where you react to changes in
parameter values, and if you store them yourself and don't access the
values via AUBase::GetParameter, then you will want to do something after
RestoreState to make sure that you fetch the parameter values from all of
the elements and incorporate them however need be into the state of your
DSP object(s). That is, if you are just using RestoreState as is and not
adding your own data into the stored settings.
And then my last question is: Why don't you expose your parameters? Not
that you should have to for your plugin to work, but it certainly is a lot
nicer when you can automate plugins and use them via interfaces other than
custom UIs (in some circumstances)... Anyway, just curious.
Marc
On Wed, 30 Apr 2003, K. Ware wrote:
>
Is it a requirement that every AU expose parameters (for automation
>
through the host, etc.)? Our plug-ins do not currently expose any
>
parameters. With no parameters exposed in Logic, our settings are not
>
saved/restored and our factory presets are not used. If we expose a
>
dummy parameter, everything works as expected. Is there some reason for
>
this limitation? Based on the SDK, I do not see any reason for these
>
areas to be linked in this way. Am I missing something?
>
>
TIA,
>
-k
_______________________________________________
coreaudio-api mailing list | email@hidden
Help/Unsubscribe/Archives:
http://www.lists.apple.com/mailman/listinfo/coreaudio-api
Do not post admin requests to the list. They will be ignored.