Re: Meta Parameters
Re: Meta Parameters
- Subject: Re: Meta Parameters
- From: William Stewart <email@hidden>
- Date: Mon, 7 Apr 2008 14:14:38 -0700
On Apr 5, 2008, at 1:49 AM, P. Grütter wrote:
Hi Bill,
no - it will evaluate the parameters and send notifications if they
have changed. By describing what the dependent parameters are, it
allows this mechanisms to have a shorter search path.
I've made this test and I don't see where the mechanism evaluates
the dependent parameters:
I've set the meta parameter flag for my master parameter and defined
three dependent parameters for that meta parameter. When I change
the meta parameter the listener gets always notified for the meta
and the dependent parameters (thus four times), whether I have
changed the dependent parameters or not.
No - auval will fail your AU because you have incorrectly marked
one of your parameters.
I've made this test and my plugins passes auval:
I didn't set any meta parameter flag (and didn't define dependent
parameters) but called AUParameterSet() for every parameter I'd like
to change after a change of my master parameter. The listener gets
notified for all these parameters (thus four times). So I don't see
the difference between these two ways.
Where are you calling AUParameterSet from?
Also, the intention of this mechanism is that the AU itself doesn't
have to do this notification as its not setting a parameter value,
just responding to it being set on it.
My AU does set the dependent parameters when it notices the change
of the master parameter, where else should I put this mechanism?
What do you mean? "when it notices the change"
I think you are doing too much. Here is what you do:
Declare parameter 1 as meta-parameter
Declare that parameter 2,3 are dependent on parameter 1
In your AU:
When paraemter 1 is changed, you just go and internally set the new
values to parameter's 2 and 3. There's no reason and you shouldn't
from your AU, be calling AUParameterSet
When you are finished with the parameter 1 change, your AU's values
for parameter 2,3 should also be at their new / correct values
In your view:
When you want to change paraemter 1, call AUParameterSet **JUST** on
parameter 1- that will trigger all of the notification code to look
out for changes to your dependent parameters as well as parameter 1
I have to make sure that it'll work with automation or control
surfaces even when the view is closed.
Am I missing something obvious?
Yes, you are doing too much I think
Bill
Thanks, Paul
Am 4. Apr 2008 um 20:32 Uhr schrieb William Stewart:
On Apr 4, 2008, at 8:24 AM, P. Grütter wrote:
Hi Bill,
is it right that a meta parameter change just calls the listener
for all dependent parameters?
no - it will evaluate the parameters and send notifications if they
have changed. By describing what the dependent parameters are, it
allows this mechanisms to have a shorter search path.
Is it the same not to use meta parameters but call
AUParameterSet() for every single dependent parameter?
No - auval will fail your AU because you have incorrectly marked
one of your parameters. Also, the intention of this mechanism is
that the AU itself doesn't have to do this notification as its not
setting a parameter value, just responding to it being set on it.
Bill
Because I have to set all dependent parameters anyway, why not use
AUParameterSet() to notify the listener?
Thanks, Paul
Am 3. Apr 2008 um 21:00 Uhr schrieb William Stewart:
The interdependencies shouldn't really matter.
What is helpful is:
Button 1 - meta parameter
button 2, 3, 4 are dependents on this
Button 2 - meta parameter
button 1, 3, 4 are dependents on this
I don't think it should matter too much. If it does, then just
don't publish the dependent parameters (in which case the default
behaviour is that as you've changed one parameter any other
parameter could change)
Bill
On Apr 3, 2008, at 9:47 AM, Kevin Dixon wrote:
You might have to track this yourself some how. AFAIK, you
cannot define
the relationships between your parameters.
I think basically, if a parameter is defined as a Meta
parameter, it means
that auval will not fail if other parameters change when it does.
Hosts may use this information for their own devices, as to
determine if
they should refresh drawing of your AU, but I'm not exactly sure
on that.
-Kevin
Hi,
you can ignore my last post, I've solved it mostly. But I still
have
problems with the Meta Parameters.
In my case I have buttons that interact with each other, e. g.
switch
on button 1 switches off buttons 2, 3, and 4. But button 2
switches on
button 1 and switches off the buttons 3 & 4. So all of my
buttons are
both meta and dependent parameters. Is there any way to define
this? I
want the listener to know if this call is caused by the user or
because this parameter is a dependent one.
Thanks, Paul
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Coreaudio-api mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Coreaudio-api mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden