Wwise SDK 2019.1.11
_ak_callback_8h_source
Version
menu_open
link
Wwise SDK 2019.1.11
|
AkCallback.h
47 /// Type of callback. Used as a bitfield in methods AK::SoundEngine::PostEvent() and AK::SoundEngine::DynamicSequence::Open().
50 AK_EndOfEvent = 0x0001, ///< Callback triggered when reaching the end of an event. AkCallbackInfo can be cast to AkEventCallbackInfo.
51 AK_EndOfDynamicSequenceItem = 0x0002, ///< Callback triggered when reaching the end of a dynamic sequence item. AkCallbackInfo can be cast to AkDynamicSequenceItemCallbackInfo.
52 AK_Marker = 0x0004, ///< Callback triggered when encountering a marker during playback. AkCallbackInfo can be cast to AkMarkerCallbackInfo.
53 AK_Duration = 0x0008, ///< Callback triggered when the duration of the sound is known by the sound engine. AkCallbackInfo can be cast to AkDurationCallbackInfo.
55 AK_SpeakerVolumeMatrix = 0x0010, ///< Callback triggered at each frame, letting the client modify the speaker volume matrix. AkCallbackInfo can be cast to AkSpeakerVolumeMatrixCallbackInfo.
57 AK_Starvation = 0x0020, ///< Callback triggered when playback skips a frame due to stream starvation. AkCallbackInfo can be cast to AkEventCallbackInfo.
59 AK_MusicPlaylistSelect = 0x0040, ///< Callback triggered when music playlist container must select the next item to play. AkCallbackInfo can be cast to AkMusicPlaylistCallbackInfo.
60 AK_MusicPlayStarted = 0x0080, ///< Callback triggered when a "Play" or "Seek" command has been executed ("Seek" commands are issued from AK::SoundEngine::SeekOnEvent()). Applies to objects of the Interactive-Music Hierarchy only. AkCallbackInfo can be cast to AkEventCallbackInfo.
62 AK_MusicSyncBeat = 0x0100, ///< Enable notifications on Music Beat. AkCallbackInfo can be cast to AkMusicSyncCallbackInfo.
63 AK_MusicSyncBar = 0x0200, ///< Enable notifications on Music Bar. AkCallbackInfo can be cast to AkMusicSyncCallbackInfo.
64 AK_MusicSyncEntry = 0x0400, ///< Enable notifications on Music Entry Cue. AkCallbackInfo can be cast to AkMusicSyncCallbackInfo.
65 AK_MusicSyncExit = 0x0800, ///< Enable notifications on Music Exit Cue. AkCallbackInfo can be cast to AkMusicSyncCallbackInfo.
66 AK_MusicSyncGrid = 0x1000, ///< Enable notifications on Music Grid. AkCallbackInfo can be cast to AkMusicSyncCallbackInfo.
67 AK_MusicSyncUserCue = 0x2000, ///< Enable notifications on Music Custom Cue. AkCallbackInfo can be cast to AkMusicSyncCallbackInfo.
68 AK_MusicSyncPoint = 0x4000, ///< Enable notifications on Music switch transition synchronization point. AkCallbackInfo can be cast to AkMusicSyncCallbackInfo.
69 AK_MusicSyncAll = 0x7f00, ///< Use this flag if you want to receive all notifications concerning AK_MusicSync registration.
71 AK_MIDIEvent = 0x10000, ///< Enable notifications for MIDI events. AkCallbackInfo can be cast to AkMIDIEventCallbackInfo.
76 AK_EnableGetSourcePlayPosition = 0x100000, ///< Enable play position information for use by AK::SoundEngine::GetSourcePlayPosition().
77 AK_EnableGetMusicPlayPosition = 0x200000, ///< Enable play position information of music objects, queried via AK::MusicEngine::GetPlayingSegmentInfo().
78 AK_EnableGetSourceStreamBuffering = 0x400000 ///< Enable stream buffering information for use by AK::SoundEngine::GetSourceStreamBuffering().
81 /// Callback information structure used as base for all notifications handled by \ref AkCallbackFunc.
91 /// Callback information structure corresponding to \ref AK_EndOfEvent, \ref AK_MusicPlayStarted and \ref AK_Starvation.
130 AkReal32 fEstimatedDuration; ///< Estimated duration of the sound depending on source settings such as pitch. (unit: milliseconds)
132 AkUniqueID mediaID; ///< Media ID of playing item. (corresponds to 'ID' attribute of 'File' element in SoundBank metadata file)
143 AkPlayingID playingID; ///< Playing ID of Dynamic Sequence, returned by AK::SoundEngine:DynamicSequence::Open()
148 /// Callback information structure corresponding to \ref AK_SpeakerVolumeMatrix, and passed to callbacks registered in RegisterBusVolumeCallback()
149 /// or PostEvent() with AK_SpeakerVolumeMatrix. These callbacks are called at every audio frame for every connection from an input (voice
150 /// or bus) to an output bus (standard or auxiliary), at the point when an input signal is about to be mixed into a mixing bus, but just before
151 /// having been scaled in accordance to volumes authored in Wwise. The volumes are passed via this structure as pointers because they can be modified
152 /// in the callbacks. They are factored into two linear values ([0..1]): a common base value (pfBaseVolume), that is channel-agnostic and represents
153 /// the collapsed gain of all volume changes in Wwise (sliders, actions, RTPC, attenuations, ...), and a matrix of gains per input/output channel,
154 /// which depends on spatialization. Use the methods of AK::SpeakerVolumes::Matrix, defined in AkCommonDefs.h, to perform operations on them.
155 /// Access each input channel of the volumes matrix with AK::SpeakerVolumes::Matrix::GetChannel(), passing it the input and output channel configuration.
156 /// Then, you may access each element of the output vector using the standard bracket [] operator. See AK::SpeakerVolumes for more details.
165 AK::SpeakerVolumes::MatrixPtr pVolumes; ///< Pointer to volume matrix describing the contribution of each source channel to destination channels. Use methods of AK::SpeakerVolumes::Matrix to interpret them.
169 AkReal32 * pfEmitterListenerVolume; ///< Emitter-listener pair-specific gain. When there are multiple emitter-listener pairs, this volume is set to that of the loudest pair, and the relative gain of other pairs is applied directly on the channel volume matrix pVolumes.
170 AK::IAkMixerInputContext * pContext; ///< Context of the current voice/bus about to be mixed into the output bus with specified base volume and volume matrix.
171 AK::IAkMixerPluginContext * pMixerContext; ///< Output mixing bus context. Use it to access a few useful panning and mixing services, as well as the ID of the output bus. NULL if pContext is the master audio bus.
187 AkUInt32 uNumPlaylistItems; ///< Number of items in playlist node (may be segments or other playlists)
188 AkUInt32 uPlaylistSelection; ///< Selection: set by sound engine, modified by callback function (if not in range 0 <= uPlaylistSelection < uNumPlaylistItems then ignored).
189 AkUInt32 uPlaylistItemDone; ///< Playlist node done: set by sound engine, modified by callback function (if set to anything but 0 then the current playlist item is done, and uPlaylistSelection is ignored)
195 AkTimeMs iCurrentPosition; ///< Current position of the segment, relative to the Entry Cue, in milliseconds. Range is [-iPreEntryDuration, iActiveDuration+iPostExitDuration].
196 AkTimeMs iPreEntryDuration; ///< Duration of the pre-entry region of the segment, in milliseconds.
197 AkTimeMs iActiveDuration; ///< Duration of the active region of the segment (between the Entry and Exit Cues), in milliseconds.
198 AkTimeMs iPostExitDuration; ///< Duration of the post-exit region of the segment, in milliseconds.
199 AkTimeMs iRemainingLookAheadTime;///< Number of milliseconds remaining in the "looking-ahead" state of the segment, when it is silent but streamed tracks are being prefetched.
206 /// Callback information structure corresponding to \ref AK_MusicSyncEntry, \ref AK_MusicSyncBeat, \ref AK_MusicSyncBar, \ref AK_MusicSyncExit, \ref AK_MusicSyncGrid, \ref AK_MusicSyncPoint and \ref AK_MusicSyncUserCue.
216 AkSegmentInfo segmentInfo; ///< Segment information corresponding to the segment triggering this callback.
217 AkCallbackType musicSyncType; ///< Would be either \ref AK_MusicSyncEntry, \ref AK_MusicSyncBeat, \ref AK_MusicSyncBar, \ref AK_MusicSyncExit, \ref AK_MusicSyncGrid, \ref AK_MusicSyncPoint or \ref AK_MusicSyncUserCue.
218 char * pszUserCueName; ///< Cue name (UTF-8 string). Set for notifications AK_MusicSyncUserCue. NULL if cue has no name.
223 /// \param in_pCallbackInfo Pointer to structure containing callback information. This pointer is invalidated as soon as the callback function returns.
224 /// \remarks An event is considered completed once all of its actions have been executed and all the playbacks in this events are terminated.
225 /// \remarks This callback is executed from the audio processing thread. The processing time in the callback function should be minimal. Having too much processing time could result in slowing down the audio processing.
227 /// Some events can be continuously playing or infinitely looping, and the callback will not occur unless a specific stop event is sent to terminate the event.
236 AkCallbackInfo* in_pCallbackInfo ///< Structure containing desired information. You can cast it to the proper sub-type, depending on the callback type.
245 AkSpeakerVolumeMatrixCallbackInfo* in_pCallbackInfo ///< Structure containing desired bus information.
248 /// Function called on at every audio frame for the specified registered busses, just after metering has been computed.
254 AK::IAkMetering * in_pMetering, ///< AK::IAkMetering interface for retrieving metering information.
256 AkMeteringFlags in_eMeteringFlags ///< Metering flags that were asked for in RegisterBusMeteringCallback(). You may only access corresponding meter values from in_pMeteringInfo. Others will fail.
264 /// the AkUniqueID of the event/game sync that was prepared/unprepared, if the array contained only
266 /// \param in_pInMemoryBankPtr Value returned when the unloaded bank was loaded using an in memory location
269 /// - AK_IDNotFound: At least one of the event/game sync identifiers passed to PrepareEvent() or PrepareGameSyncs() does not exist.
276 /// - AK_Fail: Load or unload failed for any other reason. (Most likely small allocation failure)
278 /// AK_DEFAULT_POOL_ID is returned whenever this callback is issued from an implicit bank load (PrepareEvent(), PrepareGameSyncs()),
281 /// \remarks This callback is executed from the bank thread. The processing time in the callback function should be minimal. Having too much processing time could slow down the bank loading process.
296 /// Bit field of various locations in the audio processing loop where the game can be called back.
299 AkGlobalCallbackLocation_Register = (1 << 0), ///< Right after successful registration of callback/plugin. Typically used by plugins along with AkGlobalCallbackLocation_Term for allocating memory for the lifetime of the sound engine.
301 AkGlobalCallbackLocation_Begin = (1 << 1), ///< Start of audio processing. The number of frames about to be rendered depends on the sink/end-point and can be zero.
303 AkGlobalCallbackLocation_PreProcessMessageQueueForRender = (1 << 2), ///< Start of frame rendering, before having processed game messages.
304 AkGlobalCallbackLocation_PostMessagesProcessed = (1 << 3), ///< After one or more messages have been processed, but before updating game object and listener positions internally.
305 AkGlobalCallbackLocation_BeginRender = (1 << 4), ///< Start of frame rendering, after having processed game messages.
317 AkGlobalCallbackLocation_Suspend = (1 << 11), ///< Sound engine suspension through \ref AK::SoundEngine::Suspend
318 AkGlobalCallbackLocation_WakeupFromSuspend = (1 << 12), ///< Sound engine awakening through \ref AK::SoundEngine::WakeupFromSuspend
325 /// This callback may be called from various locations within the audio processing loop. The exact location from which it is called is passed in in_eLocation, and corresponds to one of the values
326 /// that were passed to RegisterGlobalCallback(). See the possible values of AkGlobalCallbackLocation for more details about the available locations.
327 /// \remarks This callback is normally executed from the main audio thread. The processing time in the callback function should be minimal. Having too much processing time could cause voice starvation.
341 AkAudioDeviceEvent_Initialization, ///< Sent after an Audio Device has initialized. Initialization might have failed, check the AKRESULT.
342 AkAudioDeviceEvent_Removal, ///< Audio device was removed through explicit call (AK::SoundEngine::RemoveOutput or AK::SoundEngine::Term)
343 AkAudioDeviceEvent_SystemRemoval ///< Audio device was removed because of a system event (disconnection), hardware or driver problem. Check the AKRESULT when called through AkDeviceStatusCallbackFunc, it may give more context.
344 };
349 AkUniqueID in_idAudioDeviceShareset, ///< The audio device shareset attached, as passed to AK::SoundEngine::AddOutput or AK::SoundEngine::Init
350 AkUInt32 in_idDeviceID, ///< The audio device specific id, as passed to AK::SoundEngine::AddOutput or AK::SoundEngine::Init
351 AkAudioDeviceEvent in_idEvent, ///< The event for which this callback was called. See AK::AkAudioDeviceEvent. AKRESULT may provide more information.
Interface to retrieve contextual information for a mixer.
Definition: IAkPlugin.h:393
Definition: AkCallback.h:106
AK::IAkMixerInputContext * pContext
Context of the current voice/bus about to be mixed into the output bus with specified base volume and...
Definition: AkCallback.h:170
Interface to retrieve metering information about a buffer.
Definition: AkCommonDefs.h:206
Definition: AkCallback.h:128
char * pszUserCueName
Cue name (UTF-8 string). Set for notifications AK_MusicSyncUserCue. NULL if cue has no name.
Definition: AkCallback.h:218
@ AkAudioDeviceEvent_Initialization
Sent after an Audio Device has initialized. Initialization might have failed, check the AKRESULT.
Definition: AkCallback.h:341
Definition: AkCallback.h:96
Definition: AkCallback.h:117
AkUInt32 uPlaylistSelection
Selection: set by sound engine, modified by callback function (if not in range 0 <= uPlaylistSelectio...
Definition: AkCallback.h:188
Definition: AkCallback.h:86
AkTimeMs iActiveDuration
Duration of the active region of the segment (between the Entry and Exit Cues), in milliseconds.
Definition: AkCallback.h:197
Definition: AkSpeakerConfig.h:505
Interface to retrieve information about an input of a mixer.
Definition: IAkPlugin.h:746
AK::IAkMixerPluginContext * pMixerContext
Output mixing bus context. Use it to access a few useful panning and mixing services,...
Definition: AkCallback.h:171
@ AkAudioDeviceEvent_SystemRemoval
Audio device was removed because of a system event (disconnection), hardware or driver problem....
Definition: AkCallback.h:343
Definition: AkMidiTypes.h:178
AkTimeMs iPreEntryDuration
Duration of the pre-entry region of the segment, in milliseconds.
Definition: AkCallback.h:196
void * pCustomInfo
Custom info passed to the DynamicSequence::Open function.
Definition: AkCallback.h:145
AkCallbackType musicSyncType
Would be either AK_MusicSyncEntry, AK_MusicSyncBeat, AK_MusicSyncBar, AK_MusicSyncExit,...
Definition: AkCallback.h:217
@ AkAudioDeviceEvent_Removal
Audio device was removed through explicit call (AK::SoundEngine::RemoveOutput or AK::SoundEngine::Ter...
Definition: AkCallback.h:342
AkTimeMs iPostExitDuration
Duration of the post-exit region of the segment, in milliseconds.
Definition: AkCallback.h:198
Definition: AkCallback.h:164
AkUInt32 uPlaylistItemDone
Playlist node done: set by sound engine, modified by callback function (if set to anything but 0 then...
Definition: AkCallback.h:189
AkReal32 * pfEmitterListenerVolume
Emitter-listener pair-specific gain. When there are multiple emitter-listener pairs,...
Definition: AkCallback.h:169
AkReal32 fEstimatedDuration
Estimated duration of the sound depending on source settings such as pitch. (unit: milliseconds)
Definition: AkCallback.h:130
Global plugin context used for plugin registration/initialization. Games query this interface from th...
Definition: IAkPlugin.h:1117
Definition: AkCallback.h:185
AkPlayingID playingID
Playing ID of Dynamic Sequence, returned by AK::SoundEngine:DynamicSequence::Open()
Definition: AkCallback.h:143
AkReal32 * MatrixPtr
Volume matrix. Access each input channel vector with AK::SpeakerVolumes::Matrix::GetChannel().
Definition: AkSpeakerVolumes.h:50
void(* AkDeviceStatusCallbackFunc)(AK::IAkGlobalPluginContext *in_pContext, AkUniqueID in_idAudioDeviceShareset, AkUInt32 in_idDeviceID, AkAudioDeviceEvent in_idEvent, AKRESULT in_AkResult)
Callback for Audio Device status changes.
Definition: AkCallback.h:347
AkTimeMs iCurrentPosition
Current position of the segment, relative to the Entry Cue, in milliseconds. Range is [-iPreEntryDura...
Definition: AkCallback.h:195
AkUInt32 uNumPlaylistItems
Number of items in playlist node (may be segments or other playlists)
Definition: AkCallback.h:187
AK::SpeakerVolumes::MatrixPtr pVolumes
Pointer to volume matrix describing the contribution of each source channel to destination channels....
Definition: AkCallback.h:165
Definition: AkCallback.h:142
AkUniqueID mediaID
Media ID of playing item. (corresponds to 'ID' attribute of 'File' element in SoundBank metadata file...
Definition: AkCallback.h:132
Definition: AkCallback.h:214
AkTimeMs iRemainingLookAheadTime
Number of milliseconds remaining in the "looking-ahead" state of the segment, when it is silent but s...
Definition: AkCallback.h:199
AkSegmentInfo segmentInfo
Segment information corresponding to the segment triggering this callback.
Definition: AkCallback.h:216
Was this page helpful?
Need Support?
Questions? Problems? Need more info? Contact us, and we can help!
Visit our Support pageTell us about your project. We're here to help.
Register your project and we'll help you get started with no strings attached!
Get started with Wwise