Re: Calling TellListener & AUParameterSet in audio thread
Re: Calling TellListener & AUParameterSet in audio thread
- Subject: Re: Calling TellListener & AUParameterSet in audio thread
- From: Doug Wyatt <email@hidden>
- Date: Thu, 20 Mar 2003 14:52:31 -0800
Let's step back a moment ... the purpose of TellListener is to inform
the host of a UI gesture in a plug-in's view. Currently the only
gestures that are defined are mouse-down and mouse-up.
The purpose of this functionality is for recording automation gestures;
looking at the pro consoles with flying faders, and software that uses
the same paradigm, a mouse-down (touching a fader) does not necessarily
change its value right away (not until the fader is moved), and yet the
time at which the fader was touched may have a lot of significance,
i.e. stop playing back the existing automation for the relevant
parameter, and prepare to replace it with new automation if the fader
*is* moved.
MIDI doesn't really have this concept, at least not with single
controls. You don't know that a MIDI controller was touched until you
get a new value from it.
Now, theoretically we could have high-class MIDI controllers (or do
some already exist ... ?) that send two different control-change
messages, one on/off to indicate when the user touches/releases the
fader, and another continuous value to reflect when the control is
actually moved. In this case the view could indeed be receiving MIDI
messages it wanted to forward to the host for "control-touched" and
"control-released" (the more properly general way to describe
"control-mouse-down" and "control-mouse-up"). And then we would indeed
want to pay attention to the thread context of these messages.
That said, I still can't think offhand of a reason why this would cause
problems other than the potential for occasionally blocking when
another thread holds a malloc lock, for instance, unless something is
not threadsafe.
The backtrace I saw earlier in this thread seemed indicative of a
memory corruption ... ? We're not aware of any memory smashers or race
conditions in the functions in question, in the SDK view base classes,
or in AUParameterSet.
Do you (or does anyone?) have a repeatable test case that could be
written up in a bug report? It may matter a lot what the host does in
response to TellListener.
Thanks
Doug
On Wednesday, Mar 19, 2003, at 11:31 US/Pacific,
email@hidden wrote:
TellListener should not be called from the audio thread. It's
generated from UI gestures, and thus shouldn't be happening on an
audio thread.
Well it might be not generated from UI gestures. For every effects or
instrument that can receive MIDI, it is very useful for musicians to
be able to control their UI using MIDI controllers.
MIDI events do not come from UI thread isn't it ?
Thanks,
Raf
_______________________________________________
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.