Re: Choosing an AU base class
Re: Choosing an AU base class
- Subject: Re: Choosing an AU base class
- From: patrick machielse <email@hidden>
- Date: Fri, 27 Nov 2009 21:27:43 +0100
Op 21 nov 2009, om 02:36 heeft William Stewart het volgende geschreven:
> On Nov 20, 2009, at 13:08, patrick machielse wrote:
>
>> Now a new pitch shift mode must be implemented; the tempo must vary with the pitch ('vinyl style'). I suspect that this breaks the boundaries of AUEffectBase, and I should drop down to AUBase? Can I pull in as much data as I like in AUBase->Render()?
>
> Yes - but your AU can no longer be an aufx type
>
> When we develop 'aufc' units, we subclass from AUBase directly (which we do for some other cases as well)
>
> Brian's point about max frame size needs to also be observed. We use MaxFramesPerSlice to also limit how big any given pull is.
Thanks to both of you for your answers. This week I've been having a go at converting my 'aufx' unit into an 'aufc'. (I noticed a kAudioUnitSubType_Varispeed type that seemed to fit the bill even better, but auval testing seemed to indicate that it has the same '1:1' restriction as 'aufx' -- confusing).
I've canged the super class to AUBase, and by looking at the auval output, cutting and pasting bits and pieces from AUEffectBase, and googling this list, managed to build something that loads and runs. However, I still can't fully validate it yet. auval seems to run a broader spectrum of test on my 'aufc' compared to 'aufx' (logicly), and I'm stuck at this output:
Bad Max Frames - Render should fail
PASS
Checking parameter setting
Using AudioUnitSetParameter
SetParameter:0 value: 1.88672 (caveman debugging)
SetParameter:0 value: 0.205078 (caveman debugging)
SetParameter:0 value: 0.224609 (caveman debugging)
ERROR: -1 IN CALL AudioUnitRender
* * FAIL
--------------------------------------------------
AU VALIDATION FAILED: CORRECT THE ERRORS ABOVE.
--------------------------------------------------
The 'SetParameter' logging seems to indicate that auval sets some values of my custom parameter (in the valid rage). Then AudioUnitRender returns '-1', a code which I cannot track down the meaning of... I'm missing some piece, but which one?
patrick _______________________________________________
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