Re: GetParameterList in ableton Live problem
Re: GetParameterList in ableton Live problem
- Subject: Re: GetParameterList in ableton Live problem
- From: William Stewart <email@hidden>
- Date: Wed, 2 Aug 2006 12:24:54 -0700
On 02/08/2006, at 9:53 AM, Dave Hoskins wrote:
* I thought I needed AU*PARAMETER*ListenerNotify for automation
purposes?
Not in your AU - who ever sets the value of the parameter is
responsible for also notifying potential listeners of this change.
O.K. I've noticed some hosts don't call my own listeners I have to
notify my gui on things like preset changing. Also I have my own
'next preset' button, that needs to run through the parameters,
In the Example code, there's an app called AudioUnitHosting - you can
see there what you should do when a new preset is set on the AU.
I've not heard of problems in this area - you could try the multiband
compressor in the situations where you aren't seeing these changes
being propogated and confirm if it changes correctly or not. Its view
is actually the generic carbon view - the code for this is shipped in
the example code as well - you can't actually debug it, but you could
at least see what it does and check this with what you do. (I don't
see anything wrong with the code below, but of course that's not the
whole story, so there's really too little to go on)
You could also try your AU in AU Lab - you could open multiple views
on your AU and see if the changing of a param in one view (say AUL's
generic view) changes yours and vice versa.
If you can actually document a specific situation where other views
besides your own don't seem to be working, we'd be happy to
investigate this further.
Bill
if I remove my listener notify calls my gui isn't notified. How
else am I officially meant to inform my gui of changes?
I set up my gui listener like this:
// install a parameter listener for every parameter
OSStatus status = AUListenerCreate
(EffectAUParameterListenerProc, this,
CFRunLoopGetCurrent(),
kCFRunLoopDefaultMode, 1.0f / 25.0f, // ms
¶meterListener);
if (status != noErr) parameterListener = NULL;
if (parameterListener != NULL)
{
allParams.mAudioUnit = unit;
allParams.mScope = kAudioUnitScope_Global;
allParams.mElement = (AudioUnitElement)0;
for (AudioUnitParameterID i=0; i < TAGnumParams; i++)
{
allParams.mParameterID = i;
AUListenerAddParameter(parameterListener, editor,
&allParams);
}
}
With the listener calling my gui like this:
static void EffectAUParameterListenerProc(void * inRefCon, void *
inObject, const AudioUnitParameter * inParameter, Float32 inValue)
{
if ( (inObject == NULL) || (inParameter == NULL) ) return;
((Editor*)inObject)->setParameter((VstInt32)(inParameter-
>mParameterID), inValue);
}
_______________________________________________
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
--
mailto:email@hidden
tel: +1 408 974 4056
________________________________________________________________________
__
"Much human ingenuity has gone into finding the ultimate Before.
The current state of knowledge can be summarized thus:
In the beginning, there was nothing, which exploded" - Terry Pratchett
________________________________________________________________________
__
_______________________________________________
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