Wwise SDK 2018.1.11
버전
menu_open
link
Wwise SDK 2018.1.11
|
IAkMixerPlugin.h
Go to the documentation of this file.
38 /// Software effect plug-in interface for panner/mixer effects (see \ref soundengine_plugins_effects).
43 /// Software effect plug-in initialization. Prepares the effect for data processing, allocates memory and sets up the initial conditions.
44 /// \aknote Memory allocation should be done through appropriate macros (see \ref fx_memory_alloc). \endaknote
58 /// \aknote OnInputDisconnected() may be called between calls to ConsumeInput() and OnMixDone().\endaknote
65 /// \aknote io_pInputBuffer->eState will be set as AK_NoMoreData the last time the given input is processed by ConsumeInput(). Otherwise it is set to AK_DataReady.
67 /// \aknote ConsumeInput() will not be called for frames during which a voice is not audible.\endaknote
73 AkRamp in_baseVolume, ///< Base volume to apply to this input (prev corresponds to the beginning, next corresponds to the end of the buffer). This gain is agnostic of emitter-listener pair-specific contributions (such as distance level attenuation).
74 AkRamp in_emitListVolume, ///< Emitter-listener pair-specific gain. When there are multiple emitter-listener pairs, this volume equals 1, and pair gains are applied directly on the channel volume matrix (accessible via IAkMixerInputContext::GetSpatializedVolumes()). For custom processing of emitter-listener pairs, one should query each pair volume using IAkMixerInputContext::Get3DPosition(), then AkEmitterListenerPair::GetGainForConnectionType().
75 AkAudioBuffer * io_pInputBuffer, ///< Input audio buffer data structure. Plugins should avoid processing data in-place.
76 AkAudioBuffer * io_pMixBuffer ///< Output audio buffer data structure. Stored until call to OnEffectsProcessed().
81 /// After the bus buffer io_pMixBuffer has been pushed to the bus downstream (or the output device),
83 /// \aknote 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.
84 /// 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.
85 /// 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
86 /// wait until OnEffectsProcessed() to flip the state to AK_DataReady. This is usually undesirable, so handling this inside OnMixDone() is usually preferred.\endaknote
91 AkAudioBuffer * io_pMixBuffer ///< Output audio buffer data structure. Stored across calls to ConsumeInput().
94 /// This function is called once every audio frame, after all insert effects on the bus have been processed,
96 /// After the bus buffer io_pMixBuffer has been pushed to the bus downstream (or the output device),
98 /// \aknote 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.
99 /// 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.
100 /// You may do this in OnMixDone(), in OnEffectsProcessed() or in OnFrameEnd(). The difference is that effects inserted on the bus will enter their "tail mode" if you
101 /// wait until OnEffectsProcessed() or OnFrameEnd() to flip the state to AK_DataReady. This is usually undesirable, so handling this inside OnMixDone() is usually preferred.\endaknote
110 /// This function is called once every audio frame, after all insert effects on the bus have been processed, and after metering has been processed (if applicable),
112 /// 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.
114 /// \aknote 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.
115 /// 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.
116 /// You may do this in OnMixDone(), in OnEffectsProcessed() or in OnFrameEnd(). The difference is that effects inserted on the bus will enter their "tail mode" if you
117 /// wait until OnEffectsProcessed() or OnFrameEnd() to flip the state to AK_DataReady. This is usually undesirable, so handling this inside OnMixDone() is usually preferred.\endaknote
118 /// \aknote This function is called after metering gets computed on io_pMixBuffer. You may access the result in in_pMetering. Metering has to be enabled with AK::IAkMixerPluginContext::EnableMetering().
126 IAkMetering * in_pMetering ///< Interface for retrieving metering data computed on io_pMixBuffer. May be NULL if metering is not enabled.
Software effect plug-in interface for panner/mixer effects (see How to Create Wwise Sound Engine Effe...
Definition: IAkMixerPlugin.h:39
virtual AKRESULT Init(IAkPluginMemAlloc *in_pAllocator, IAkMixerPluginContext *in_pMixerPluginContext, IAkPluginParam *in_pParams, AkAudioFormat &in_rFormat)=0
virtual void ConsumeInput(IAkMixerInputContext *in_pInputContext, AkRamp in_baseVolume, AkRamp in_emitListVolume, AkAudioBuffer *io_pInputBuffer, AkAudioBuffer *io_pMixBuffer)=0
virtual void OnEffectsProcessed(AkAudioBuffer *io_pMixBuffer)=0
virtual void OnFrameEnd(AkAudioBuffer *io_pMixBuffer, IAkMetering *in_pMetering)=0
virtual void OnMixDone(AkAudioBuffer *io_pMixBuffer)=0
Definition: AkCommonDefs.h:254
Definition: IAkPluginMemAlloc.h:45
Definition: IAkPlugin.h:610
virtual void OnInputConnected(IAkMixerInputContext *in_pInput)=0
This function is called whenever a new input is connected to the underlying mixing bus.
Interface to retrieve information about an input of a mixer.
Definition: IAkPlugin.h:745
Interface to retrieve contextual information for a mixer.
Definition: IAkPlugin.h:392
Interface to retrieve metering information about a buffer.
Definition: AkCommonDefs.h:205
Definition: IAkPlugin.h:539
virtual void OnInputDisconnected(IAkMixerInputContext *in_pInput)=0
이 페이지가 도움이 되었나요?
작업하는 프로젝트에 대해 알려주세요. 언제든지 도와드릴 준비가 되어 있습니다.
프로젝트를 등록하세요. 아무런 조건이나 의무 사항 없이 빠른 시작을 도와드리겠습니다.
Wwise를 시작해 보세요