Re: AudioUnitScheduleParameters
Re: AudioUnitScheduleParameters
- Subject: Re: AudioUnitScheduleParameters
- From: William Stewart <email@hidden>
- Date: Mon, 11 Apr 2005 11:41:01 -0700
On 11/04/2005, at 11:24 AM, Ev wrote:
On Apr 11, 2005, at 1:12 PM, William Stewart wrote:
Yes - it really needs to be done BEFORE the AU begins its render
cycle - so RenderNotify is the perfect time in the sense that it
is called by the AU from the thread on which its Render method is
called, and is called just before it goes into the render method
proper.
OK, got it, that makes sense.
Will it work at all if it's done in the *post* RenderNotify? I may
not know my 'playback position' until after the render (looping and
what not).
Nope - in fact you may lose scheduling events for ramping if you
schedule stuff in Post Render...
The MusicSequence API provides an event for parameter scheduling,
and it will schedule parameters to sample accurate positions (it
does its scheduling from the render notify) - so you can construct
a sequence of events and play them back at some later time - you
can also add user events, and use a callback to act on them when
they are played.
I will look into this.
At some point, the calling chain will end up with a call to
AudioUnitSetParameter, so I'm not entirely sure that I understand
the distinction you are trying to make.
I'm trying to take advantage of the "ramped" capability that
AudioUnitScheduleParameter gives - and I'm doing my parameter
changing based on curves, so the resulting resolution of ramping
will be much better than stair-stepping with AudioUnitSetParameter.
The MusicSequence API's also support scheduling ramps - all you need
is a track with:
MusicTrackSetProperty with kSequenceTrackProperty_AutomatedParameters
and a UInt32 set to 1 (tells the sequence engine to treat this track
in this way)..
Then it looks at parameter events in that track as pairs:
The first param event - start of the first ramp
The second param event - end of the first ramp
The third param event - start of the second ramp
The fourth param event - end of the second ramp, etc...
The two pairs must of course have the same paramID - if you need
overlapping ramps for different params, then you will need to put
them in different tracks.
Bill
Ev
Technical Knowledge Officer
Head Programmer/Designer
Audiofile Engineering
http://www.audiofile-engineering.com/
--
mailto:email@hidden
tel: +1 408 974 4056
________________________________________________________________________
__
"Much human ingenuity has gone into finding the ultimate Before.
The current state of knowledge can be summarized thus:
In the beginning, there was nothing, which exploded" - Terry Pratchett
________________________________________________________________________
__
_______________________________________________
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