AudioUnitReset
AudioUnitReset
- Subject: AudioUnitReset
- From: Bill Stewart <email@hidden>
- Date: Tue, 4 Mar 2003 12:41:09 -0800
I thought I'd float some thoughts on this API and how we expect or
propose that this should behave (just to make sure that we're all in
agreement:)
Currently (and this is about to change) - when you are using the
MusicPlayer to play a sequence and you do a MusicPlayerSetTime on it to
reposition its playback position it will then go and chase to get the
state established for the AU at that new time (then it continues to
play)
A change that I'd like to make here, is to have the AudioUnit reset
before the chase is begun.
(We currently have a bug where the Synth is not turning off notes when
it should be - but that is a different issue)...
By calling AudioUnitReset in this situation I would expect the
following events to occur:
(1) Any delay lines within the audio unit would be cleared
(2) Parameter values would STAY at their current values (ie. they
AREN'T set to a default value if they have been changed)
(3) Any controller states in a MusicDevice would be set to their
default state - for instance, sustain pedal would be turned off, pitch
bend would be set back to 0.
2 and 3 are slightly different in their behaviour - a distinction that
I wanted to make clear.
The state that will then be reinstated after the chasing should be
correct (ie. SysEx messages that establish Channel 11 as a second drum
channel for instance are chased and would be correctly set - as would
any program changes or controller state)
So - the main affect that AudioUnitReset will do is to clear out any
state in the audio data it generates that would have come from the old
time - thus MusicPlayerSetTime is quite destructive in that case (and
this is analogous to what would occur if you're playing this sequence
out to a MIDI device too of course)
There should be no need for any allocations or other major state
changes in the AudioUnit when this API call is made.
If MusicPlayerSetTime is being used to do looping and you were
expecting a seemless transition (ie. delay tails would continue) from
the old to the new time, then this will no longer occur.
Looping should be done on a per-track basis....
Comments?
Bill
--
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
________________________________________________________________________
__
_______________________________________________
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.