34 #ifndef _AK_CALLBACK_H_
35 #define _AK_CALLBACK_H_
37 #include <AK/SoundEngine/Common/AkCommonDefs.h>
38 #include <AK/SoundEngine/Common/AkMidiTypes.h>
42 class IAkGlobalPluginContext;
43 class IAkMixerInputContext;
44 class IAkMixerPluginContext;
50 AK_EndOfEvent = 0x0001,
51 AK_EndOfDynamicSequenceItem = 0x0002,
55 AK_SpeakerVolumeMatrix = 0x0010,
57 AK_Starvation = 0x0020,
59 AK_MusicPlaylistSelect = 0x0040,
60 AK_MusicPlayStarted = 0x0080,
62 AK_MusicSyncBeat = 0x0100,
63 AK_MusicSyncBar = 0x0200,
64 AK_MusicSyncEntry = 0x0400,
65 AK_MusicSyncExit = 0x0800,
66 AK_MusicSyncGrid = 0x1000,
67 AK_MusicSyncUserCue = 0x2000,
68 AK_MusicSyncPoint = 0x4000,
69 AK_MusicSyncAll = 0x7f00,
71 AK_MIDIEvent = 0x10000,
73 AK_CallbackBits = 0xfffff,
76 AK_EnableGetSourcePlayPosition = 0x100000,
77 AK_EnableGetMusicPlayPosition = 0x200000,
78 AK_EnableGetSourceStreamBuffering = 0x400000
234 AK_CALLBACK(
void, AkCallbackFunc )(
235 AkCallbackType in_eType,
244 AK_CALLBACK(
void, AkBusCallbackFunc )(
253 AK_CALLBACK(
void, AkBusMeteringCallbackFunc )(
256 AkMeteringFlags in_eMeteringFlags
288 AK_CALLBACK(
void, AkBankCallbackFunc )(
290 const void * in_pInMemoryBankPtr,
291 AKRESULT in_eLoadResult,
292 AkMemPoolId in_memPoolId,
297 enum AkGlobalCallbackLocation
299 AkGlobalCallbackLocation_Register = (1 << 0),
301 AkGlobalCallbackLocation_Begin = (1 << 1),
303 AkGlobalCallbackLocation_PreProcessMessageQueueForRender = (1 << 2),
304 AkGlobalCallbackLocation_PostMessagesProcessed = (1 << 3),
305 AkGlobalCallbackLocation_BeginRender = (1 << 4),
306 AkGlobalCallbackLocation_EndRender = (1 << 5),
308 AkGlobalCallbackLocation_End = (1 << 6),
310 AkGlobalCallbackLocation_Term = (1 << 7),
312 AkGlobalCallbackLocation_Monitor = (1 << 8),
313 AkGlobalCallbackLocation_MonitorRecap = (1 << 9),
315 AkGlobalCallbackLocation_Init = (1 << 10),
317 AkGlobalCallbackLocation_Suspend = (1 << 11),
318 AkGlobalCallbackLocation_WakeupFromSuspend = (1 << 12),
321 AkGlobalCallbackLocation_Num = 13
331 AK_CALLBACK(
void, AkGlobalCallbackFunc )(
333 AkGlobalCallbackLocation in_eLocation,
349 AkUniqueID in_idAudioDeviceShareset,
350 AkUInt32 in_idDeviceID,
356 #endif // _AK_CALLBACK_H_
Interface to retrieve contextual information for a mixer.
AK::IAkMixerInputContext * pContext
Context of the current voice/bus about to be mixed into the output bus with specified base volume and...
const char * strLabel
Label of the marker, read from the file
AkUniqueID audioNodeID
Audio Node ID of playing item
Interface to retrieve metering information about a buffer.
char * pszUserCueName
Cue name (UTF-8 string). Set for notifications AK_MusicSyncUserCue. NULL if cue has no name.
AkGameObjectID gameObjID
Game object ID
@ AkAudioDeviceEvent_Initialization
Sent after an Audio Device has initialized. Initialization might have failed, check the AKRESULT.
AkReal32 * pfBaseVolume
Base volume, common to all channels.
AkUInt32 uPlaylistSelection
Selection: set by sound engine, modified by callback function (if not in range 0 <= uPlaylistSelectio...
AkChannelConfig outputConfig
Channel configuration of the output bus.
AkTimeMs iActiveDuration
Duration of the active region of the segment (between the Entry and Exit Cues), in milliseconds.
AkChannelConfig inputConfig
Channel configuration of the voice/bus.
Interface to retrieve information about an input of a mixer.
AK::IAkMixerPluginContext * pMixerContext
Output mixing bus context. Use it to access a few useful panning and mixing services,...
Structure used to query info on active playing segments.
AkReal32 fBeatDuration
Beat Duration in seconds.
@ AkAudioDeviceEvent_SystemRemoval
Audio device was removed because of a system event (disconnection), hardware or driver problem....
AkReal32 fDuration
Duration of the sound (unit: milliseconds)
AkTimeMs iPreEntryDuration
Duration of the pre-entry region of the segment, in milliseconds.
void * pCustomInfo
Custom info passed to the DynamicSequence::Open function
AkUniqueID eventID
Unique ID of Event, passed to PostEvent()
AkUInt32 uIdentifier
Cue point identifier
AkCallbackType musicSyncType
Would be either AK_MusicSyncEntry, AK_MusicSyncBeat, AK_MusicSyncBar, AK_MusicSyncExit,...
AkReal32 fGridOffset
Grid offset in seconds.
AkUInt32 uPosition
Position in the cue point (unit: sample frames)
@ AkAudioDeviceEvent_Removal
Audio device was removed through explicit call (AK::SoundEngine::RemoveOutput or AK::SoundEngine::Ter...
AkPlayingID playingID
Playing ID of Event, returned by PostEvent()
AkTimeMs iPostExitDuration
Duration of the post-exit region of the segment, in milliseconds.
AkUInt32 uPlaylistItemDone
Playlist node done: set by sound engine, modified by callback function (if set to anything but 0 then...
AkReal32 * pfEmitterListenerVolume
Emitter-listener pair-specific gain. When there are multiple emitter-listener pairs,...
AkReal32 fEstimatedDuration
Estimated duration of the sound depending on source settings such as pitch. (unit: milliseconds)
Global plugin context used for plugin registration/initialization. Games query this interface from th...
AkUniqueID audioNodeID
Audio Node ID of finished item
AkUniqueID playlistID
ID of playlist node
AkPlayingID playingID
Playing ID of Dynamic Sequence, returned by AK::SoundEngine:DynamicSequence::Open()
void * pCookie
User data, passed to PostEvent()
AkReal32 * MatrixPtr
Volume matrix. Access each input channel vector with AK::SpeakerVolumes::Matrix::GetChannel().
bool bStreaming
True if source is streaming, false otherwise.
AkReal32 fBarDuration
Bar Duration in seconds.
void(* AkDeviceStatusCallbackFunc)(AK::IAkGlobalPluginContext *in_pContext, AkUniqueID in_idAudioDeviceShareset, AkUInt32 in_idDeviceID, AkAudioDeviceEvent in_idEvent, AKRESULT in_AkResult)
Callback for Audio Device status changes.
AkTimeMs iCurrentPosition
Current position of the segment, relative to the Entry Cue, in milliseconds. Range is [-iPreEntryDura...
AkUInt32 uNumPlaylistItems
Number of items in playlist node (may be segments or other playlists)
AkReal32 fGridDuration
Grid duration in seconds.
AK::SpeakerVolumes::MatrixPtr pVolumes
Pointer to volume matrix describing the contribution of each source channel to destination channels....
AkUniqueID mediaID
Media ID of playing item. (corresponds to 'ID' attribute of 'File' element in SoundBank metadata file...
AkMIDIEvent midiEvent
MIDI event triggered by event.
AkTimeMs iRemainingLookAheadTime
Number of milliseconds remaining in the "looking-ahead" state of the segment, when it is silent but s...
AkPlayingID playingID
Playing ID of Event, returned by PostEvent()
AkSegmentInfo segmentInfo
Segment information corresponding to the segment triggering this callback.
あなたのプロジェクトについて教えてください。ご不明な点はありませんか。
プロジェクトを登録していただくことで、ご利用開始のサポートをいたします。
Wwiseからはじめよう