• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
Re: Calling TellListener & AUParameterSet in audio thread
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

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.

  • Follow-Ups:
    • Re: Calling TellListener & AUParameterSet in audio thread
      • From: "Angus F. Hewlett" <email@hidden>
    • Re: Calling TellListener & AUParameterSet in audio thread
      • From: Bill Stewart <email@hidden>
    • Re: Calling TellListener & AUParameterSet in audio thread
      • From: Marc Poirier <email@hidden>
References: 
 >Re: Calling TellListener & AUParameterSet in audio thread (From: email@hidden)

  • Prev by Date: Re: CoreMIDI driver development questions
  • Next by Date: Re: Calling TellListener & AUParameterSet in audio thread
  • Previous by thread: Re: Calling TellListener & AUParameterSet in audio thread
  • Next by thread: Re: Calling TellListener & AUParameterSet in audio thread
  • Index(es):
    • Date
    • Thread