Table des matières

virtual void AK::IAkMixerEffectPlugin::OnMixDone ( AkAudioBuffer io_pMixBuffer  )  [pure virtual]

This function is called once every audio frame, when all inputs have been mixed in with ConsumeInput(). It is the time when the plugin may perform final DSP/bookkeeping. After the bus buffer io_pMixBuffer has been pushed to the bus downstream (or the output device), it is cleared out for the next frame.

Note: io_pMixBuffer->eState is passed as AK_DataReady for the whole existence of the bus, until the last frame where it will be set to AK_NoMoreData. However, mixer plugins are capable of forcing the bus to remain alive for a longer time by changing io_pMixBuffer->eState back to AK_DataReady. You may do this in OnMixDone() or in OnEffectsProcessed(). The difference is that effects inserted on the bus will enter their "tail mode" if you wait until OnEffectsProcessed() to flip the state to AK_DataReady. This is usually undesirable, so handling this inside OnMixDone() is usually preferred.
See also:
io_pMixBuffer  Output audio buffer data structure. Stored across calls to ConsumeInput().