• 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
AUs where inputs != outputs
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

AUs where inputs != outputs


  • Subject: AUs where inputs != outputs
  • From: email@hidden
  • Date: Fri, 2 May 2008 15:00:57 +0100

I'm wondering about the best way to tackle writing a pair of AUs, one
with a sidechain output, and the other using that as sidechain input
along with the original audio stream. So I'm assuming that AU 1 needs
one input bus and two output, while AU 2 needs two input buses and one output.

So far, I think I've established that I need to either override
ProcessBufferLists in AUEffectBase, or subclass AUBase.

I'm not at all clear on the pros and cons of the two approaches (except
that the first option looks simpler :-) .

AUEffectBase.h contains the advice:

// If your unit processes N to N channels, and there are no interactions
between channels,
// it can override NewKernel to create a mono processing object per
channel.  Otherwise,
// don't override NewKernel, and instead, override ProcessBufferLists.

I take that to mean that if my unit processes N to M channels, I _can_
use AUEffectBase and override ProcessBufferLists. But various posts in
the archive, often from Apple people, suggest that subclassing AUBase is
preferable  - e.g.

"Generally for this type of AudioUnit we would recommend subclassing
from AUBase
(and not AUEffectBase even if the AU is actually an effect!).
Then you would want to subclass the Render() method."

<http://lists.apple.com/archives/coreaudio-api/2005/May/msg00053.html>

and

"If you are going to use AUEffectBase to do N-M channel effects there
are a number of behaviours you need to over-ride if you are still going
to use this class. As a side note, we subclass AUBase when we do these
kinds of AU's and that has generally been our recommendation."

<http://lists.apple.com/archives/coreaudio-api/2005/May/msg00214.html>

Is there any documentation I've missed on exactly which behaviours need
to be overridden, or why overriding AUEffectBase might be a Bad Idea?

Sorry, I know from trawling the archives that this has been flogged to
death, but it's all left me pretty confused.

thanks,

Iain M


 _______________________________________________
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

  • Prev by Date: Re: Convertor crash
  • Next by Date: Re: Convertor crash
  • Previous by thread: Re: Convertor crash
  • Next by thread: AUs where inputs != outputs
  • Index(es):
    • Date
    • Thread