• 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: Help needed for Audio Unit Parameter Change Notification
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Help needed for Audio Unit Parameter Change Notification


  • Subject: Re: Help needed for Audio Unit Parameter Change Notification
  • From: Rémi Thébault <email@hidden>
  • Date: Fri, 26 Oct 2007 11:23:57 +0200

Thank you Brian
This help me much

Now I can see more clearly in all the object stuff in CoreAudio.
But it still doesn't work as i would like : i'd like the view (this is a custom cocoa view) to update in real time (or at least two or three times /sec) but here my view update only if I reload it (for example by switching from generic to custom view in AU Lab).


Does anybody knows where could be the problem?
here's the code I use for updating the view

	ComponentResult MyEffectClass::Render(...) {
		...
		SetParameter(kParam_NoteFreq, mNoteFreq);
		AudioUnitParameter param;
		param.mAudioUnit = GetComponentInstance();
		param.mScope = kAudioUnitScope_Global;
		param.mParameterID = kParam_NoteFreq;
		AUParameterListenerNotify(NULL, NULL, &param);
		...
	}

May be the problem come from the Obj-C code of my view.

Rémi.


Le 26 oct. 07 à 01:36, Brian Willoughby a écrit :

Rémi,

If you define mNoteHasChanged in MyEffectClassKernel, then you will again have multiple variables, one per channel. What you want instead is to define mNoteHasChanged in MyEffectClass, so that Render is checking only a single flag before sending a single notification.

Another thing you may have missed is that the Constructor for MyEffectClassKernel (and AUKernelBase as well) is called with inAudioUnit set to point to MyEffectClass. If you look at the source for AUKernelBase, in AUEffectBase.h, you'll note that mAudioUnit is initialized using inAudioUnit. In order for MyEffectClassKernel to change mNoteHasChanged in MyEffectClass, you must use mAudioUnit, and cast it to theMyEffectClass * type. Then, each kernel can reach into the main class to set the flag, and Render from the main class will have easy access.

You still have the issue that there might be a different pitch on each channel. You need to design your plugin with this in mind. Do you want to display the frequency separately for each channel? ... with the problem that you don't know an absolute upper bound on the number of channels? ... or do you want to favor a particular channel or otherwise combine the frequency from each channel to display only a single frequency - perhaps, only when they all match?

You choice regarding the above problem will determine whether you have a single frequency variable in the main class, or multiple frequency variables for each channel (kernel). If you choose the latter, you'll need to look around the sample code (AUEffectBase) for examples of how to enumerate all kernels to collect all the frequency values into the main render.

Good luck!

Brian Willoughby
Sound Consulting
_______________________________________________
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


  • Follow-Ups:
    • Re: Help needed for Audio Unit Parameter Change Notification
      • From: William Stewart <email@hidden>
References: 
 >Help needed for Audio Unit Parameter Change Notification (From: "Rémi Thébault" <email@hidden>)
 >Re: Help needed for Audio Unit Parameter Change Notification (From: William Stewart <email@hidden>)
 >Re: Help needed for Audio Unit Parameter Change Notification (From: Rémi Thébault <email@hidden>)
 >Re: Help needed for Audio Unit Parameter Change Notification (From: Brian Willoughby <email@hidden>)

  • Prev by Date: Re: Help needed for Audio Unit Parameter Change Notification
  • Next by Date: Re: Help needed for Audio Unit Parameter Change Notification
  • Previous by thread: Re: Help needed for Audio Unit Parameter Change Notification
  • Next by thread: Re: Help needed for Audio Unit Parameter Change Notification
  • Index(es):
    • Date
    • Thread