目录

Wwise SDK 2018.1.11
AkTypes.h
浏览该文件的文档.
1 /*******************************************************************************
2 The content of this file includes portions of the AUDIOKINETIC Wwise Technology
3 released in source code form as part of the SDK installer package.
4 
5 Commercial License Usage
6 
7 Licensees holding valid commercial licenses to the AUDIOKINETIC Wwise Technology
8 may use this file in accordance with the end user license agreement provided
9 with the software or, alternatively, in accordance with the terms contained in a
10 written agreement between you and Audiokinetic Inc.
11 
12 Apache License Usage
13 
14 Alternatively, this file may be used under the Apache License, Version 2.0 (the
15 "Apache License"); you may not use this file except in compliance with the
16 Apache License. You may obtain a copy of the Apache License at
17 http://www.apache.org/licenses/LICENSE-2.0.
18 
19 Unless required by applicable law or agreed to in writing, software distributed
20 under the Apache License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES
21 OR CONDITIONS OF ANY KIND, either express or implied. See the Apache License for
22 the specific language governing permissions and limitations under the License.
23 
24  Version: <VERSION> Build: <BUILDNUMBER>
25  Copyright (c) <COPYRIGHTYEAR> Audiokinetic Inc.
26 *******************************************************************************/
27 
28 // AkTypes.h
29 
30 /// \file
31 /// Data type definitions.
32 
33 #ifndef _AK_DATA_TYPES_H_
34 #define _AK_DATA_TYPES_H_
35 
36 // Platform-specific section.
37 //----------------------------------------------------------------------------------------------------
38 #include <AK/AkPlatforms.h>
39 
40 
41 //----------------------------------------------------------------------------------------------------
42 
44 
45 #ifndef NULL
46  #ifdef __cplusplus
47  #define NULL 0
48  #else
49  #define NULL ((void *)0)
50  #endif
51 #endif
52 
53 #if defined(AK_CPU_X86_64) || defined(AK_CPU_ARM_64)
54 #define AK_POINTER_64
55 #endif // #if defined(AK_CPU_X86_64) || defined(AK_CPU_ARM_64)
56 
57 typedef AkInt32 AkAtomic32; ///< Signed 32-bit integer - Atomic Declaration
58 typedef AkInt64 AkAtomic64; ///< Signed 64-bit integer - Atomic Declaration
59 typedef AkUInt32 AkAtomicU32; ///< Unsigned 32-bit integer - Atomic Declaration
60 typedef AkIntPtr AkAtomicPtr; ///< Signed platform sized integer - Atomic Declaration
61 
62 typedef AkUInt32 AkUniqueID; ///< Unique 32-bit ID
63 typedef AkUInt32 AkStateID; ///< State ID
64 typedef AkUInt32 AkStateGroupID; ///< State group ID
65 typedef AkUInt32 AkPlayingID; ///< Playing ID
66 typedef AkInt32 AkTimeMs; ///< Time in ms
67 typedef AkUInt16 AkPortNumber; ///< Port number
68 typedef AkReal32 AkPitchValue; ///< Pitch value
69 typedef AkReal32 AkVolumeValue; ///< Volume value( also apply to LFE )
70 typedef AkUInt64 AkGameObjectID; ///< Game object ID
71 typedef AkReal32 AkLPFType; ///< Low-pass filter type
72 typedef AkInt32 AkMemPoolId; ///< Memory pool ID
73 typedef AkUInt32 AkPluginID; ///< Source or effect plug-in ID
74 typedef AkUInt32 AkCodecID; ///< Codec plug-in ID
75 typedef AkUInt32 AkAuxBusID; ///< Auxilliary bus ID
76 typedef AkInt16 AkPluginParamID; ///< Source or effect plug-in parameter ID
77 typedef AkInt8 AkPriority; ///< Priority
78 typedef AkUInt16 AkDataCompID; ///< Data compression format ID
79 typedef AkUInt16 AkDataTypeID; ///< Data sample type ID
80 typedef AkUInt8 AkDataInterleaveID; ///< Data interleaved state ID
81 typedef AkUInt32 AkSwitchGroupID; ///< Switch group ID
82 typedef AkUInt32 AkSwitchStateID; ///< Switch ID
83 typedef AkUInt32 AkRtpcID; ///< Real time parameter control ID
84 typedef AkReal32 AkRtpcValue; ///< Real time parameter control value
85 typedef AkUInt32 AkBankID; ///< Run time bank ID
86 typedef AkUInt32 AkFileID; ///< Integer-type file identifier
87 typedef AkUInt32 AkDeviceID; ///< I/O device ID
88 typedef AkUInt32 AkTriggerID; ///< Trigger ID
89 typedef AkUInt32 AkArgumentValueID; ///< Argument value ID
90 typedef AkUInt32 AkChannelMask; ///< Channel mask (similar to WAVE_FORMAT_EXTENSIBLE). Bit values are defined in AkSpeakerConfig.h.
91 typedef AkUInt32 AkModulatorID; ///< Modulator ID
92 typedef AkUInt32 AkAcousticTextureID; ///< Acoustic Texture ID
93 typedef AkUInt32 AkImageSourceID; ///< Image Source ID
94 typedef AkUInt64 AkOutputDeviceID; ///< Audio Output device ID
95 
96 // Constants.
97 static const AkPluginID AK_INVALID_PLUGINID = (AkPluginID)-1; ///< Invalid FX ID
98 static const AkGameObjectID AK_INVALID_GAME_OBJECT = (AkGameObjectID)-1; ///< Invalid game object (may also mean all game objects)
99 static const AkUniqueID AK_INVALID_UNIQUE_ID = 0; ///< Invalid unique 32-bit ID
100 static const AkRtpcID AK_INVALID_RTPC_ID = AK_INVALID_UNIQUE_ID;///< Invalid RTPC ID
101 static const AkPlayingID AK_INVALID_PLAYING_ID = AK_INVALID_UNIQUE_ID;///< Invalid playing ID
102 static const AkUInt32 AK_DEFAULT_SWITCH_STATE = 0; ///< Switch selected if no switch has been set yet
103 static const AkMemPoolId AK_INVALID_POOL_ID = -1; ///< Invalid pool ID
104 static const AkMemPoolId AK_DEFAULT_POOL_ID = -1; ///< Default pool ID, same as AK_INVALID_POOL_ID
105 static const AkAuxBusID AK_INVALID_AUX_ID = AK_INVALID_UNIQUE_ID;///< Invalid auxiliary bus ID (or no Aux bus ID)
106 static const AkFileID AK_INVALID_FILE_ID = (AkFileID)-1; ///< Invalid file ID
107 static const AkDeviceID AK_INVALID_DEVICE_ID = (AkDeviceID)-1; ///< Invalid streaming device ID
108 static const AkBankID AK_INVALID_BANK_ID = AK_INVALID_UNIQUE_ID;///< Invalid bank ID
109 static const AkArgumentValueID AK_FALLBACK_ARGUMENTVALUE_ID = 0; ///< Fallback argument value ID
110 static const AkChannelMask AK_INVALID_CHANNELMASK = 0; ///< Invalid channel mask
111 static const AkUInt32 AK_INVALID_OUTPUT_DEVICE_ID = AK_INVALID_UNIQUE_ID;///< Invalid Device ID
112 
113 // Priority.
114 static const AkPriority AK_DEFAULT_PRIORITY = 50; ///< Default sound / I/O priority
115 static const AkPriority AK_MIN_PRIORITY = 0; ///< Minimal priority value [0,100]
116 static const AkPriority AK_MAX_PRIORITY = 100; ///< Maximal priority value [0,100]
117 
118 // Default bank I/O settings.
119 static const AkPriority AK_DEFAULT_BANK_IO_PRIORITY = AK_DEFAULT_PRIORITY; ///< Default bank load I/O priority
120 static const AkReal32 AK_DEFAULT_BANK_THROUGHPUT = 1*1024*1024/1000.f; ///< Default bank load throughput (1 Mb/ms)
121 
122 // Bank version
123 static const AkUInt32 AK_SOUNDBANK_VERSION = 132; ///< Version of the soundbank reader
124 
125 /// Standard function call result.
126 enum AKRESULT
127 {
128  AK_NotImplemented = 0, ///< This feature is not implemented.
129  AK_Success = 1, ///< The operation was successful.
130  AK_Fail = 2, ///< The operation failed.
131  AK_PartialSuccess = 3, ///< The operation succeeded partially.
132  AK_NotCompatible = 4, ///< Incompatible formats
133  AK_AlreadyConnected = 5, ///< The stream is already connected to another node.
134  AK_NameNotSet = 6, ///< Trying to open a file when its name was not set
135  AK_InvalidFile = 7, ///< An unexpected value causes the file to be invalid.
136  AK_AudioFileHeaderTooLarge = 8, ///< The file header is too large.
137  AK_MaxReached = 9, ///< The maximum was reached.
138  AK_InputsInUsed = 10, ///< Inputs are currently used.
139  AK_OutputsInUsed = 11, ///< Outputs are currently used.
140  AK_InvalidName = 12, ///< The name is invalid.
141  AK_NameAlreadyInUse = 13, ///< The name is already in use.
142  AK_InvalidID = 14, ///< The ID is invalid.
143  AK_IDNotFound = 15, ///< The ID was not found.
144  AK_InvalidInstanceID = 16, ///< The InstanceID is invalid.
145  AK_NoMoreData = 17, ///< No more data is available from the source.
146  AK_NoSourceAvailable = 18, ///< There is no child (source) associated with the node.
147  AK_StateGroupAlreadyExists = 19, ///< The StateGroup already exists.
148  AK_InvalidStateGroup = 20, ///< The StateGroup is not a valid channel.
149  AK_ChildAlreadyHasAParent = 21, ///< The child already has a parent.
150  AK_InvalidLanguage = 22, ///< The language is invalid (applies to the Low-Level I/O).
151  AK_CannotAddItseflAsAChild = 23, ///< It is not possible to add itself as its own child.
152  //AK_TransitionNotFound = 24, ///< The transition is not in the list.
153  //AK_TransitionNotStartable = 25, ///< Start allowed in the Running and Done states.
154  //AK_TransitionNotRemovable = 26, ///< Must not be in the Computing state.
155  //AK_UsersListFull = 27, ///< No one can be added any more, could be AK_MaxReached.
156  //AK_UserAlreadyInList = 28, ///< This user is already there.
157  AK_UserNotInList = 29, ///< This user is not there.
158  AK_NoTransitionPoint = 30, ///< Not in use.
159  AK_InvalidParameter = 31, ///< Something is not within bounds.
160  AK_ParameterAdjusted = 32, ///< Something was not within bounds and was relocated to the nearest OK value.
161  AK_IsA3DSound = 33, ///< The sound has 3D parameters.
162  AK_NotA3DSound = 34, ///< The sound does not have 3D parameters.
163  AK_ElementAlreadyInList = 35, ///< The item could not be added because it was already in the list.
164  AK_PathNotFound = 36, ///< This path is not known.
165  AK_PathNoVertices = 37, ///< Stuff in vertices before trying to start it
166  AK_PathNotRunning = 38, ///< Only a running path can be paused.
167  AK_PathNotPaused = 39, ///< Only a paused path can be resumed.
168  AK_PathNodeAlreadyInList = 40, ///< This path is already there.
169  AK_PathNodeNotInList = 41, ///< This path is not there.
170  AK_VoiceNotFound = 42, ///< Unknown in our voices list
171  AK_DataNeeded = 43, ///< The consumer needs more.
172  AK_NoDataNeeded = 44, ///< The consumer does not need more.
173  AK_DataReady = 45, ///< The provider has available data.
174  AK_NoDataReady = 46, ///< The provider does not have available data.
175  AK_NoMoreSlotAvailable = 47, ///< Not enough space to load bank.
176  AK_SlotNotFound = 48, ///< Bank error.
177  AK_ProcessingOnly = 49, ///< No need to fetch new data.
178  AK_MemoryLeak = 50, ///< Debug mode only.
179  AK_CorruptedBlockList = 51, ///< The memory manager's block list has been corrupted.
180  AK_InsufficientMemory = 52, ///< Memory error.
181  AK_Cancelled = 53, ///< The requested action was cancelled (not an error).
182  AK_UnknownBankID = 54, ///< Trying to load a bank using an ID which is not defined.
183  AK_IsProcessing = 55, ///< Asynchronous pipeline component is processing.
184  AK_BankReadError = 56, ///< Error while reading a bank.
185  AK_InvalidSwitchType = 57, ///< Invalid switch type (used with the switch container)
186  AK_VoiceDone = 58, ///< Internal use only.
187  AK_UnknownEnvironment = 59, ///< This environment is not defined.
188  AK_EnvironmentInUse = 60, ///< This environment is used by an object.
189  AK_UnknownObject = 61, ///< This object is not defined.
190  AK_NoConversionNeeded = 62, ///< Audio data already in target format, no conversion to perform.
191  AK_FormatNotReady = 63, ///< Source format not known yet.
192  AK_WrongBankVersion = 64, ///< The bank version is not compatible with the current bank reader.
193  AK_DataReadyNoProcess = 65, ///< The provider has some data but does not process it (virtual voices).
194  AK_FileNotFound = 66, ///< File not found.
195  AK_DeviceNotReady = 67, ///< IO device not ready (may be because the tray is open)
196  AK_CouldNotCreateSecBuffer = 68, ///< The direct sound secondary buffer creation failed.
197  AK_BankAlreadyLoaded = 69, ///< The bank load failed because the bank is already loaded.
198  AK_RenderedFX = 71, ///< The effect on the node is rendered.
199  AK_ProcessNeeded = 72, ///< A routine needs to be executed on some CPU.
200  AK_ProcessDone = 73, ///< The executed routine has finished its execution.
201  AK_MemManagerNotInitialized = 74, ///< The memory manager should have been initialized at this point.
202  AK_StreamMgrNotInitialized = 75, ///< The stream manager should have been initialized at this point.
203  AK_SSEInstructionsNotSupported = 76,///< The machine does not support SSE instructions (required on PC).
204  AK_Busy = 77, ///< The system is busy and could not process the request.
205  AK_UnsupportedChannelConfig = 78, ///< Channel configuration is not supported in the current execution context.
206  AK_PluginMediaNotAvailable = 79, ///< Plugin media is not available for effect.
207  AK_MustBeVirtualized = 80, ///< Sound was Not Allowed to play.
208  AK_CommandTooLarge = 81, ///< SDK command is too large to fit in the command queue.
209  AK_RejectedByFilter = 82, ///< A play request was rejected due to the MIDI filter parameters.
210  AK_InvalidCustomPlatformName= 83, ///< Detecting incompatibility between Custom platform of banks and custom platform of connected application
211  AK_DLLCannotLoad = 84, ///< Plugin DLL could not be loaded, either because it is not found or one dependency is missing.
212  AK_DLLPathNotFound = 85, ///< Plugin DLL search path could not be found.
213  AK_NoJavaVM = 86, ///< No Java VM provided in AkInitSettings.
214  AK_OpenSLError = 87, ///< OpenSL returned an error. Check error log for more details.
215  AK_PluginNotRegistered = 88, ///< Plugin is not registered. Make sure to implement a AK::PluginRegistration class for it and use AK_STATIC_LINK_PLUGIN in the game binary.
216  AK_DataAlignmentError = 89, ///< A pointer to audio data was not aligned to the platform's required alignment (check AkTypes.h in the platform-specific folder)
217  AK_DeviceNotCompatible = 90, ///< Incompatible Audio device.
218  AK_DuplicateUniqueID = 91, ///< Two Wwise objects share the same ID.
219  AK_InitBankNotLoaded = 92, ///< The Init bank was not loaded yet, the sound engine isn't completely ready yet.
220 };
221 
222 /// Game sync group type
224 {
225  // should stay set as Switch = 0 and State = 1
226  AkGroupType_Switch = 0, ///< Type switch
227  AkGroupType_State = 1 ///< Type state
228 };
229 
230 /// Configured audio settings
232 {
233  AkUInt32 uNumSamplesPerFrame; ///< Number of samples per audio frame (256, 512, 1024 or 2048).
234  AkUInt32 uNumSamplesPerSecond; ///< Number of samples per second.
235 };
236 
237 /// This structure allows the game to provide audio files to fill the external sources. See \ref AK::SoundEngine::PostEvent
238 /// You can specify a streaming file or a file in-memory, regardless of the "Stream" option in the Wwise project.
239 /// \akwarning
240 /// Make sure that only one of szFile, pInMemory or idFile is non-null. if both idFile and szFile are set, idFile is passed to low-level IO and szFile is used as stream name (for profiling purposes).
241 /// \endakwarning
243 {
244  AkUInt32 iExternalSrcCookie; ///< Cookie identifying the source, given by hashing the name of the source given in the project. See \ref AK::SoundEngine::GetIDFromString. \aknote If an event triggers the playback of more than one external source, they must be named uniquely in the project therefore have a unique cookie) in order to tell them apart when filling the AkExternalSourceInfo structures. \endaknote
245  AkCodecID idCodec; ///< Codec ID for the file. One of the audio formats defined in AkTypes.h (AKCODECID_XXX)
246  AkOSChar * szFile; ///< File path for the source. If not NULL, the source will be streaming from disk. Set pInMemory to NULL. If idFile is set, this field is used as stream name (for profiling purposes).
247  void* pInMemory; ///< Pointer to the in-memory file. If not NULL, the source will be read from memory. Set szFile and idFile to NULL.
248  AkUInt32 uiMemorySize; ///< Size of the data pointed by pInMemory
249  AkFileID idFile; ///< File ID. If not zero, the source will be streaming from disk. This ID can be anything. Note that you must override the low-level IO to resolve this ID to a real file. See \ref streamingmanager_lowlevel for more information on overriding the Low Level IO.
250 
251  /// Default constructor.
253  : iExternalSrcCookie( 0 )
254  , idCodec( 0 )
255  , szFile( 0 )
256  , pInMemory( 0 )
257  , uiMemorySize( 0 )
258  , idFile( 0 ) {}
259 
260  /// Constructor: specify source by memory.
262  void* in_pInMemory, ///< Pointer to the in-memory file.
263  AkUInt32 in_uiMemorySize, ///< Size of data.
264  AkUInt32 in_iExternalSrcCookie, ///< Cookie.
265  AkCodecID in_idCodec ///< Codec ID.
266  )
267  : iExternalSrcCookie( in_iExternalSrcCookie )
268  , idCodec( in_idCodec )
269  , szFile( 0 )
270  , pInMemory( in_pInMemory )
271  , uiMemorySize( in_uiMemorySize )
272  , idFile( 0 ) {}
273 
274  /// Constructor: specify source by streaming file name.
276  AkOSChar * in_pszFileName, ///< File name.
277  AkUInt32 in_iExternalSrcCookie, ///< Cookie.
278  AkCodecID in_idCodec ///< Codec ID.
279  )
280  : iExternalSrcCookie( in_iExternalSrcCookie )
281  , idCodec( in_idCodec )
282  , szFile( in_pszFileName )
283  , pInMemory( 0 )
284  , uiMemorySize( 0 )
285  , idFile( 0 ) {}
286 
287  /// Constructor: specify source by streaming file ID.
289  AkFileID in_idFile, ///< File ID.
290  AkUInt32 in_iExternalSrcCookie, ///< Cookie.
291  AkCodecID in_idCodec ///< Codec ID.
292  )
293  : iExternalSrcCookie( in_iExternalSrcCookie )
294  , idCodec( in_idCodec )
295  , szFile( 0 )
296  , pInMemory( 0 )
297  , uiMemorySize( 0 )
298  , idFile( in_idFile ) {}
299 };
300 
301 /// Nature of the connection binding an input to a bus.
303 {
304  ConnectionType_Direct = 0x0, ///< Direct (main, dry) connection.
305  ConnectionType_GameDefSend = 0x1, ///< Connection by a game-defined send.
306  ConnectionType_UserDefSend = 0x2, ///< Connection by a user-defined send.
307 };
308 
309 /// 3D vector.
310 struct AkVector
311 {
312  inline AkVector operator+(const AkVector& b) const
313  {
314  AkVector v;
315 
316  v.X = X + b.X;
317  v.Y = Y + b.Y;
318  v.Z = Z + b.Z;
319 
320  return v;
321  }
322 
323  inline void Zero()
324  {
325  X = 0; Y = 0; Z = 0;
326  }
327 
328  AkReal32 X; ///< X Position
329  AkReal32 Y; ///< Y Position
330  AkReal32 Z; ///< Z Position
331 };
332 
333 /// Position and orientation of game objects.
335 {
336 public:
337  //
338  // Getters.
339  //
340 
341  /// Get position vector.
342  inline const AkVector & Position() const
343  {
344  return position;
345  }
346 
347  /// Get orientation front vector.
348  inline const AkVector & OrientationFront() const
349  {
350  return orientationFront;
351  }
352 
353  /// Get orientation top vector.
354  inline const AkVector & OrientationTop() const
355  {
356  return orientationTop;
357  }
358 
359  //
360  // Setters.
361  //
362 
363  /// Set position and orientation. Orientation front and top should be orthogonal and normalized.
364  inline void Set(
365  const AkVector & in_position, ///< Position vector.
366  const AkVector & in_orientationFront, ///< Orientation front
367  const AkVector & in_orientationTop ///< Orientation top
368  )
369  {
370  position = in_position;
371  orientationFront = in_orientationFront;
372  orientationTop = in_orientationTop;
373  }
374 
375  /// Set position and orientation. Orientation front and top should be orthogonal and normalized.
376  inline void Set(
377  AkReal32 in_positionX, ///< Position x
378  AkReal32 in_positionY, ///< Position y
379  AkReal32 in_positionZ, ///< Position z
380  AkReal32 in_orientFrontX, ///< Orientation front x
381  AkReal32 in_orientFrontY, ///< Orientation front y
382  AkReal32 in_orientFrontZ, ///< Orientation front z
383  AkReal32 in_orientTopX, ///< Orientation top x
384  AkReal32 in_orientTopY, ///< Orientation top y
385  AkReal32 in_orientTopZ ///< Orientation top z
386  )
387  {
388  position.X = in_positionX;
389  position.Y = in_positionY;
390  position.Z = in_positionZ;
391  orientationFront.X = in_orientFrontX;
392  orientationFront.Y = in_orientFrontY;
393  orientationFront.Z = in_orientFrontZ;
394  orientationTop.X = in_orientTopX;
395  orientationTop.Y = in_orientTopY;
396  orientationTop.Z = in_orientTopZ;
397  }
398 
399  /// Set position.
400  inline void SetPosition(
401  const AkVector & in_position ///< Position vector.
402  )
403  {
404  position = in_position;
405  }
406 
407  /// Set position.
408  inline void SetPosition(
409  AkReal32 in_x, ///< x
410  AkReal32 in_y, ///< y
411  AkReal32 in_z ///< z
412  )
413  {
414  position.X = in_x;
415  position.Y = in_y;
416  position.Z = in_z;
417  }
418 
419  /// Set orientation. Orientation front and top should be orthogonal and normalized.
420  inline void SetOrientation(
421  const AkVector & in_orientationFront, ///< Orientation front
422  const AkVector & in_orientationTop ///< Orientation top
423  )
424  {
425  orientationFront = in_orientationFront;
426  orientationTop = in_orientationTop;
427  }
428 
429  /// Set orientation. Orientation front and top should be orthogonal and normalized.
430  inline void SetOrientation(
431  AkReal32 in_orientFrontX, ///< Orientation front x
432  AkReal32 in_orientFrontY, ///< Orientation front y
433  AkReal32 in_orientFrontZ, ///< Orientation front z
434  AkReal32 in_orientTopX, ///< Orientation top x
435  AkReal32 in_orientTopY, ///< Orientation top y
436  AkReal32 in_orientTopZ ///< Orientation top z
437  )
438  {
439  orientationFront.X = in_orientFrontX;
440  orientationFront.Y = in_orientFrontY;
441  orientationFront.Z = in_orientFrontZ;
442  orientationTop.X = in_orientTopX;
443  orientationTop.Y = in_orientTopY;
444  orientationTop.Z = in_orientTopZ;
445  }
446 
447 private:
448  AkVector orientationFront; ///< Orientation of the listener
449  AkVector orientationTop; ///< Top orientation of the listener
450  AkVector position; ///< Position of the listener
451 };
452 
453 /// Positioning information for a sound.
455 
456 /// Positioning information for a listener.
458 
459 /// Obstruction/occlusion pair for a position
461 {
462  AkReal32 occlusion; ///< OcclusionLevel: [0.0f..1.0f]
463  AkReal32 obstruction; ///< ObstructionLevel: [0.0f..1.0f]
464 };
465 
466 /// Positioning information for a sound, with specified subset of its channels.
468 {
469  AkTransform position; ///< Emitter position.
470  AkChannelMask uInputChannels; ///< Channels to which the above position applies.
471 };
472 
473 /// Polar coordinates.
475 {
476  AkReal32 r; ///< Norm/distance
477  AkReal32 theta; ///< Azimuth
478 };
479 
480 /// Spherical coordinates.
482 {
483  AkReal32 phi; ///< Elevation
484 };
485 
486 /// Emitter-listener pair: Positioning data pertaining to a single pair of emitter and listener.
488 {
489 public:
490  /// Constructor.
492  : fDistance( 0.f )
493  , fEmitterAngle( 0.f )
494  , fListenerAngle( 0.f )
495  , fDryMixGain( 1.f )
496  , fGameDefAuxMixGain( 1.f )
497  , fUserDefAuxMixGain( 1.f )
498  , fOcclusion(0.f)
499  , fObstruction(0.f)
500  , fSpread(0.f)
501  , fFocus(0.f)
502  , uEmitterChannelMask( 0xFFFFFFFF )
503  , m_uListenerID( 0 )
504  {
505  }
506  /// Destructor.
508 
509  /// Get distance.
510  inline AkReal32 Distance() const { return fDistance; }
511 
512  /// Get the absolute angle, in radians between 0 and pi, of the emitter's orientation relative to
513  /// the line that joins the emitter and the listener.
514  inline AkReal32 EmitterAngle() const { return fEmitterAngle; }
515 
516  /// Get the absolute angle, in radians between 0 and pi, of the listener's orientation relative to
517  /// the line that joins the emitter and the listener
518  inline AkReal32 ListenerAngle() const { return fListenerAngle; }
519 
520  /// Get the occlusion factor for this emitter-listener pair
521  inline AkReal32 Occlusion() const { return fOcclusion; }
522 
523  /// Get the obstruction factor for this emitter-listener pair
524  inline AkReal32 Obstruction() const { return fObstruction; }
525 
526  /// Get the emitter-listener-pair-specific gain (due to distance and cone attenuation), linear [0,1], for a given connection type.
528  {
529  if (in_eType == ConnectionType_Direct)
530  return fDryMixGain;
531  else if (in_eType == ConnectionType_GameDefSend)
532  return fGameDefAuxMixGain;
533  else
534  return fUserDefAuxMixGain;
535  }
536 
537  /// Get listener ID associated with the emitter-listener pair.
538  inline AkGameObjectID ListenerID() const { return m_uListenerID; }
539 
540  AkTransform emitter; /// Emitter position.
541  AkReal32 fDistance; /// Distance between emitter and listener.
542  AkReal32 fEmitterAngle; /// Angle between position vector and emitter orientation.
543  AkReal32 fListenerAngle; /// Angle between position vector and listener orientation.
544  AkReal32 fDryMixGain; /// Emitter-listener-pair-specific gain (due to distance and cone attenuation) for direct connections.
545  AkReal32 fGameDefAuxMixGain; /// Emitter-listener-pair-specific gain (due to distance and cone attenuation) for game-defined send connections.
546  AkReal32 fUserDefAuxMixGain; /// Emitter-listener-pair-specific gain (due to distance and cone attenuation) for user-defined send connections.
547  AkReal32 fOcclusion; /// Emitter-listener-pair-specific occlusion factor
548  AkReal32 fObstruction; /// Emitter-listener-pair-specific obstruction factor
549  AkReal32 fSpread; /// Emitter-listener-pair-specific spread
550  AkReal32 fFocus; /// Emitter-listener-pair-specific focus
551  AkChannelMask uEmitterChannelMask; /// Channels of the emitter that apply to this ray.
552 protected:
553  AkGameObjectID m_uListenerID; /// Listener game object ID.
554 };
555 
556 /// Listener information.
557 struct AkListener
558 {
560  : fScalingFactor( 1.0f )
561  , bSpatialized( true )
562  {}
563  AkListenerPosition position; /// Listener position (see AK::SoundEngine::SetPosition()).
564  AkReal32 fScalingFactor; /// Listener scaling factor (see AK::SoundEngine::SetListenerScalingFactor()).
565  bool bSpatialized; /// Whether listener is spatialized or not (see AK::SoundEngine::SetListenerSpatialization()).
566 };
567 
568 // If you modify AkCurveInterpolation, don't forget to modify WAAPI validation schema accordingly.
569 
570 /// Curve interpolation types
572 {
573 //DONT GO BEYOND 15! (see below for details)
574 //Curves from 0 to LastFadeCurve NEED TO BE A MIRROR IMAGE AROUND LINEAR (eg. Log3 is the inverse of Exp3)
578  AkCurveInterpolation_InvSCurve = 3, ///< Inversed S Curve
579  AkCurveInterpolation_Linear = 4, ///< Linear (Default)
580  AkCurveInterpolation_SCurve = 5, ///< S Curve
582  AkCurveInterpolation_SineRecip = 7, ///< Reciprocal of sine curve
584  AkCurveInterpolation_LastFadeCurve = 8, ///< Update this value to reflect last curve available for fades
585  AkCurveInterpolation_Constant = 9 ///< Constant ( not valid for fading values )
586 //DONT GO BEYOND 15! The value is stored on 5 bits,
587 //but we can use only 4 bits for the actual values, keeping
588 //the 5th bit at 0 to void problems when the value is
589 //expanded to 32 bits.
590 };
591 #define AKCURVEINTERPOLATION_NUM_STORAGE_BIT 5 ///< Internal storage restriction, for internal use only.
592 
593 /// Auxiliary bus sends information per game object per given auxiliary bus.
595 {
596  AkGameObjectID listenerID; ///< Game object ID of the listener associated with this send. Use AK_INVALID_GAME_OBJECT as a wildcard to set the auxiliary send to all connected listeners (see AK::SoundEngine::SetListeners).
597  AkAuxBusID auxBusID; ///< Auxiliary bus ID.
598  AkReal32 fControlValue; ///< Value in the range [0.0f:1.0f], send level to auxiliary bus.
599 };
600 
601 /// Volume ramp specified by end points "previous" and "next".
602 struct AkRamp
603 {
604  AkRamp() : fPrev( 1.f ), fNext( 1.f ) {}
605  AkRamp( AkReal32 in_fPrev, AkReal32 in_fNext ) : fPrev( in_fPrev ), fNext( in_fNext ) {}
606  AkRamp & operator*=(const AkRamp& in_rRhs) { fPrev *= in_rRhs.fPrev; fNext *= in_rRhs.fNext; return *this; }
607 
610 };
611 inline AkRamp operator*(const AkRamp& in_rLhs, const AkRamp& in_rRhs)
612 {
613  AkRamp result(in_rLhs);
614  result *= in_rRhs;
615  return result;
616 }
617 
618 #ifndef AK_MEMPOOLATTRIBUTES
619 
620  /// Memory pool attributes.
621  /// Block allocation type determines the method used to allocate
622  /// a memory pool. Block management type determines the
623  /// method used to manage memory blocks. Note that
624  /// the list of values in this enum is platform-dependent.
625  /// \sa
626  /// - AkMemoryMgr::CreatePool()
627  /// - AK::Comm::DEFAULT_MEMORY_POOL_ATTRIBUTES
629  {
630  AkNoAlloc = 0, ///< CreatePool will not allocate memory. You need to allocate the buffer yourself.
631  AkMalloc = 1, ///< CreatePool will use AK::AllocHook() to allocate the memory block.
632  AkAllocMask = AkNoAlloc | AkMalloc, ///< Block allocation type mask.
633 
634  AkFixedSizeBlocksMode = 1<<3, ///< Block management type: Fixed-size blocks. Get blocks through GetBlock/ReleaseBlock API. If not specified, use AkAlloc/AkFree.
635  AkBlockMgmtMask = AkFixedSizeBlocksMode ///< Block management type mask.
636  };
637  #define AK_MEMPOOLATTRIBUTES
638 
639 #endif
640 
641 namespace AK
642 {
643  /// External allocation hook for the Memory Manager. Called by the Audiokinetic
644  /// implementation of the Memory Manager when creating a pool of type AkMalloc.
645  /// \aknote This needs to be defined by the client. \endaknote
646  /// \return A pointer to the start of the allocated memory (NULL if the system is out of memory)
647  /// \sa
648  /// - \ref memorymanager
649  /// - AK::FreeHook()
650  AK_EXTERNFUNC( void *, AllocHook )(
651  size_t in_size ///< Number of bytes to allocate
652  );
653 
654  /// External deallocation hook for the Memory Manager. Called by the Audiokinetic
655  /// implementation of the Memory Manager when destroying a pool of type AkMalloc.
656  /// \aknote This needs to be defined by the client. \endaknote
657  /// \sa
658  /// - \ref memorymanager
659  /// - AK::AllocHook()
660  AK_EXTERNFUNC( void, FreeHook )(
661  void * in_pMemAddress ///< Pointer to the start of memory allocated with AllocHook
662  );
663 }
664 
665 // ---------------------------------------------------------------
666 // Languages
667 // ---------------------------------------------------------------
668 #define AK_MAX_LANGUAGE_NAME_SIZE (32)
669 
670 // ---------------------------------------------------------------
671 // File Type ID Definitions
672 // ---------------------------------------------------------------
673 
674 // These correspond to IDs specified in the conversion plug-ins' XML
675 // files. Audio sources persist them to "remember" their format.
676 // DO NOT CHANGE THEM without talking to someone in charge of persistence!
677 
678 // Vendor ID.
679 #define AKCOMPANYID_AUDIOKINETIC (0) ///< Audiokinetic inc.
680 #define AKCOMPANYID_AUDIOKINETIC_EXTERNAL (1) ///< Audiokinetic inc.
681 #define AKCOMPANYID_MCDSP (256) ///< McDSP
682 #define AKCOMPANYID_WAVEARTS (257) ///< WaveArts
683 #define AKCOMPANYID_PHONETICARTS (258) ///< Phonetic Arts
684 #define AKCOMPANYID_IZOTOPE (259) ///< iZotope
685 #define AKCOMPANYID_CRANKCASEAUDIO (261) ///< Crankcase Audio
686 #define AKCOMPANYID_IOSONO (262) ///< IOSONO
687 #define AKCOMPANYID_AUROTECHNOLOGIES (263) ///< Auro Technologies
688 #define AKCOMPANYID_DOLBY (264) ///< Dolby
689 #define AKCOMPANYID_TWOBIGEARS (265) ///< Two Big Ears
690 #define AKCOMPANYID_OCULUS (266) ///< Oculus
691 #define AKCOMPANYID_BLUERIPPLESOUND (267) ///< Blue Ripple Sound
692 #define AKCOMPANYID_ENZIEN (268) ///< Enzien Audio
693 #define AKCOMPANYID_KROTOS (269) ///< Krotos (Dehumanizer)
694 #define AKCOMPANYID_NURULIZE (270) ///< Nurulize
695 #define AKCOMPANYID_SUPERPOWERED (271) ///< Super Powered
696 #define AKCOMPANYID_GOOGLE (272) ///< Google
697 //#define AKCOMPANYID_NVIDIA (273) ///< NVIDIA // Commented out to avoid redefinition, provider is already defining it.
698 //#define AKCOMPANYID_RESERVED (274) ///< Reserved // Commented out to avoid redefinition, provider is already defining it.
699 //#define AKCOMPANYID_MICROSOFT (275) ///< Microsoft // Commented out to avoid redefinition, provider is already defining it.
700 //#define AKCOMPANYID_YAMAHA (276) ///< YAMAHA // Commented out to avoid redefinition, provider is already defining it.
701 #define AKCOMPANYID_VISISONICS (277) ///< Visisonics
702 
703 // File/encoding types of Audiokinetic.
704 #define AKCODECID_BANK (0) ///< Bank encoding
705 #define AKCODECID_PCM (1) ///< PCM encoding
706 #define AKCODECID_ADPCM (2) ///< ADPCM encoding
707 #define AKCODECID_XMA (3) ///< XMA encoding
708 #define AKCODECID_VORBIS (4) ///< Vorbis encoding
709 #define AKCODECID_WIIADPCM (5) ///< ADPCM encoding on the Wii
710 #define AKCODECID_PCMEX (7) ///< Standard PCM WAV file parser for Wwise Authoring
711 #define AKCODECID_EXTERNAL_SOURCE (8) ///< External Source (unknown encoding)
712 #define AKCODECID_XWMA (9) ///< xWMA encoding
713 #define AKCODECID_AAC (10) ///< AAC encoding (only available on Apple devices) -- see AkAACFactory.h
714 #define AKCODECID_FILE_PACKAGE (11) ///< File package files generated by the File Packager utility.
715 #define AKCODECID_ATRAC9 (12) ///< ATRAC-9 encoding
716 #define AKCODECID_VAG (13) ///< VAG/HE-VAG encoding
717 #define AKCODECID_PROFILERCAPTURE (14) ///< Profiler capture file (.prof) as written through AK::SoundEngine::StartProfilerCapture
718 #define AKCODECID_ANALYSISFILE (15) ///< Analysis file
719 #define AKCODECID_MIDI (16) ///< MIDI file
720 #define AKCODECID_OPUSNX (17) ///< OpusNX encoding
721 #define AKCODECID_CAF (18) ///< CAF file
722 #define AKCODECID_AKOPUS (19) ///< Opus encoding
723 
724 #define AKPLUGINID_METER (129) ///< Meter Plugin
725 #define AKPLUGINID_RECORDER (132) ///< Recorder Plugin
726 
727 #define AKEXTENSIONID_SPATIALAUDIO (800) ///< Spatial Audio
728 #define AKEXTENSIONID_INTERACTIVEMUSIC (801) ///< Interactive Music
729 
730 //The following are internally defined
731 #define AK_WAVE_FORMAT_VAG 0xFFFB
732 #define AK_WAVE_FORMAT_AT9 0xFFFC
733 #define AK_WAVE_FORMAT_VORBIS 0xFFFF
734 #define AK_WAVE_FORMAT_AAC 0xAAC0
735 #define AK_WAVE_FORMAT_OPUSNX 0x3039
736 #define AK_WAVE_FORMAT_OPUS 0x3040
737 #define WAVE_FORMAT_XMA2 0x166
738 
739 class IAkSoftwareCodec;
740 /// Registered file source creation function prototype.
741 AK_CALLBACK( IAkSoftwareCodec*, AkCreateFileSourceCallback )( void* in_pCtx );
742 /// Registered bank source node creation function prototype.
743 AK_CALLBACK( IAkSoftwareCodec*, AkCreateBankSourceCallback )( void* in_pCtx );
744 
745 //-----------------------------------------------------------------------------
746 // Positioning
747 //-----------------------------------------------------------------------------
748 
749 namespace AK
750 {
751  namespace SoundEngine
752  {
753  // If you modify MultiPositionType, don't forget to modify WAAPI validation schema accordingly.
754 
755  /// MultiPositionType.
756  /// \sa
757  /// - AK::SoundEngine::SetMultiplePosition()
758  /// - \ref soundengine_3dpositions_multiplepos
760  {
761  MultiPositionType_SingleSource, ///< Used for normal sounds, not expected to pass to AK::SoundEngine::SetMultiplePosition() (if done, only the first position will be used).
762  MultiPositionType_MultiSources, ///< Simulate multiple sources in one sound playing, adding volumes. For instance, all the torches on your level emitting using only one sound.
763  MultiPositionType_MultiDirections ///< Simulate one sound coming from multiple directions. Useful for repositionning sounds based on wall openings or to simulate areas like forest or rivers ( in combination with spreading in the attenuation of the sounds ).
764  };
765  }
766 }
767 
768 #define AK_PANNER_NUM_STORAGE_BITS 3
769 /// Speaker panning type: type of panning logic when object is not 3D spatialized (i.e. when Ak3DSpatializationMode is AK_SpatializationMode_None).
771 {
772  AK_DirectSpeakerAssignment = 0, ///< No panning: route to matching channels between input and output.
773  AK_BalanceFadeHeight = 1 ///< Balance-Fade-Height: Traditional "box" or "car"-like panner.
774 };
775 
776 #define AK_POSSOURCE_NUM_STORAGE_BITS 3
777 /// 3D position type: defines what acts as the emitter position for computing spatialization against the listener. Used when Ak3DSpatializationMode is AK_SpatializationMode_PositionOnly or AK_SpatializationMode_PositionAndOrientation.
779 {
780  AK_3DPositionType_Emitter = 0, ///< 3D spatialization is computed directly from the emitter game object position.
781  AK_3DPositionType_EmitterWithAutomation = 1, ///< 3D spatialization is computed from the emitter game object position, translated by user-defined automation.
782  AK_3DPositionType_ListenerWithAutomation = 2 ///< 3D spatialization is computed from the listener game object position, translated by user-defined automation.
783 };
784 
785 /// Headphone / speakers panning rules
787 {
788  AkPanningRule_Speakers = 0, ///< Left and right positioned 60 degrees apart (by default - see AK::SoundEngine::GetSpeakerAngles()).
789  AkPanningRule_Headphones = 1 ///< Left and right positioned 180 degrees apart.
790 };
791 
792 #define AK_SPAT_NUM_STORAGE_BITS 3
793 /// 3D spatialization mode.
795 {
796  AK_SpatializationMode_None = 0, ///< No spatialization
797  AK_SpatializationMode_PositionOnly = 1, ///< Spatialization based on emitter position only.
798  AK_SpatializationMode_PositionAndOrientation = 2 ///< Spatialization based on both emitter position and emitter orientation.
799 };
800 
801 /// Bus type bit field.
803 {
804  AkBusHierarchy_Primary = 1 << 0, ///< Flag is set to indicate the primary bus hierarchy.
805  AkBusHierarchy_Secondary = 1 << 1, ///< Flag is set to indicate the secondary bus hierarchy.
806  AkBusHierarchy_IsMaster = 1 << 7 ///< Flag is set to indicate a master bus (may be used in combination with other flags).
807 };
808 
809 #define AK_MAX_BITS_METERING_FLAGS (5) // Keep in sync with AkMeteringFlags.
810 
811 /// Metering flags. Used for specifying bus metering, through AK::SoundEngine::RegisterBusVolumeCallback() or AK::IAkMixerPluginContext::SetMeteringFlags().
813 {
814  AK_NoMetering = 0, ///< No metering.
815  AK_EnableBusMeter_Peak = 1 << 0, ///< Enable computation of peak metering.
816  AK_EnableBusMeter_TruePeak = 1 << 1, ///< Enable computation of true peak metering (most CPU and memory intensive).
817  AK_EnableBusMeter_RMS = 1 << 2, ///< Enable computation of RMS metering.
818  // 1 << 3 is reserved.
819  AK_EnableBusMeter_KPower = 1 << 4, ///< Enable computation of K-weighted power metering (used as a basis for computing loudness, as defined by ITU-R BS.1770).
821 };
822 
823 /// Plug-in type.
824 /// \sa
825 /// - AkPluginInfo
827 {
828  AkPluginTypeNone = 0, ///< Unknown/invalid plug-in type.
829  AkPluginTypeCodec = 1, ///< Compressor/decompressor plug-in (allows support for custom audio file types).
830  AkPluginTypeSource = 2, ///< Source plug-in: creates sound by synthesis method (no input, just output).
831  AkPluginTypeEffect = 3, ///< Effect plug-in: applies processing to audio data.
832  //AkPluginTypeMotionDevice = 4, ///< Motion Device plug-in: feeds movement data to devices. Deprecated by Motion refactor.
833  //AkPluginTypeMotionSource = 5, ///< Motion Device source plug-in: feeds movement data to device busses. Deprecated by Motion refactor.
834  AkPluginTypeMixer = 6, ///< Mixer plug-in: mix voices at the bus level.
835  AkPluginTypeSink = 7, ///< Sink plug-in: implement custom sound engine end point.
836  AkPluginTypeGlobalExtension = 8, ///< Global Extension plug-in: (e.g. Spatial Audio, Interactive Music)
837  AkPluginTypeMask = 0xf ///< Plug-in type mask is 4 bits.
838 };
839 
840 ////////////////////////////////////////////////////////////////////////////////
841 // Wwise ID system
842 ////////////////////////////////////////////////////////////////////////////////
844 {
847 };
848 
850 {
851 public:
852 
853  bool operator == ( const WwiseObjectIDext& in_rOther ) const
854  {
855  return in_rOther.id == id && in_rOther.bIsBus == bIsBus;
856  }
857 
859  {
861  }
862 
864  bool bIsBus;
865 };
866 
868 {
870  {
872  bIsBus = false;
873  }
874 
876  {
877  id = in_ID;
878  bIsBus = false;
879  }
880 
881  WwiseObjectID( AkUniqueID in_ID, bool in_bIsBus )
882  {
883  id = in_ID;
884  bIsBus = in_bIsBus;
885  }
886 
887  WwiseObjectID( AkUniqueID in_ID, AkNodeType in_eNodeType )
888  {
889  id = in_ID;
890  bIsBus = in_eNodeType == AkNodeType_Bus;
891  }
892 };
893 
894 /// Public data structures for converted file format.
895 namespace AkFileParser
896 {
897 #pragma pack(push, 1)
898  /// Analyzed envelope point.
900  {
901  AkUInt32 uPosition; /// Position of this point in samples at the source rate.
902  AkUInt16 uAttenuation; /// Approximate _attenuation_ at this location relative to this source's maximum, in dB (absolute value).
903  };
904 #pragma pack(pop)
905 }
906 
907 #ifndef AK_OS_STRUCT_ALIGN
908 #define AK_OS_STRUCT_ALIGN 4 ///< OS Structures need to be aligned at 4 bytes.
909 #endif
910 
911 #ifndef AK_64B_OS_STRUCT_ALIGN
912 #define AK_64B_OS_STRUCT_ALIGN 8 ///< OS Structures need to be aligned at 8 bytes.
913 #endif
914 
915 #ifndef AK_ALIGN
916 #define AK_ALIGN(__declaration__, uAlignmentSize) __declaration__ ///< Default definition for declaration that might need to be aligned on some platforms. By default, no alignment will be done.
917 #endif
918 
919 #if !defined(AK_ENDIANNESS_LITTLE) && !defined(AK_ENDIANNESS_BIG)
920 #define AK_ENDIANNESS_LITTLE
921 #endif
922 
923 #ifndef AK_UNALIGNED
924 #define AK_UNALIGNED ///< Refers to the __unaligned compilation flag available on some platforms. Note that so far, on the tested platform this should always be placed before the pointer symbol *.
925 #endif
926 
927 #ifndef AK_FINAL
928 #define AK_FINAL
929 #endif
930 
931 #ifndef AK_ASYNC_OPEN_DEFAULT
932 #define AK_ASYNC_OPEN_DEFAULT (false) ///< Refers to asynchronous file opening in default low-level IO.
933 #endif
934 
935 #ifndef AK_COMM_DEFAULT_DISCOVERY_PORT
936 #define AK_COMM_DEFAULT_DISCOVERY_PORT 24024 ///< Default discovery port for most platforms using IP sockets for communication.
937 #endif
938 
939 #ifndef AK_CAPTURE_TYPE_FLOAT
940 typedef AkInt16 AkCaptureType; ///< Default value: capture type is short.
941 #endif
942 
943 #define AkRegister
944 
945 #endif //_AK_DATA_TYPES_H_
Sink plug-in: implement custom sound engine end point.
Definition: AkTypes.h:835
static const AkMemPoolId AK_DEFAULT_POOL_ID
Default pool ID, same as AK_INVALID_POOL_ID
Definition: AkTypes.h:104
AkConnectionType
Nature of the connection binding an input to a bus.
Definition: AkTypes.h:302
Connection by a game-defined send.
Definition: AkTypes.h:305
#define AK_EXTERNFUNC(__TYPE__, __NAME__)
Incompatible formats
Definition: AkTypes.h:132
AkBusHierarchyFlags
Bus type bit field.
Definition: AkTypes.h:802
The effect on the node is rendered.
Definition: AkTypes.h:198
AkReal32 Distance() const
Get distance.
Definition: AkTypes.h:510
AkChannelMask uInputChannels
Channels to which the above position applies.
Definition: AkTypes.h:470
bool operator==(const WwiseObjectIDext &in_rOther) const
Definition: AkTypes.h:853
No spatialization
Definition: AkTypes.h:796
AkMemPoolAttributes
Definition: AkTypes.h:628
Compressor/decompressor plug-in (allows support for custom audio file types).
Definition: AkTypes.h:829
AkCurveInterpolation
Curve interpolation types
Definition: AkTypes.h:571
#define AK_CALLBACK(__TYPE__, __NAME__)
AkNodeType GetType()
Definition: AkTypes.h:858
AkUInt32 AkStateID
State ID
Definition: AkTypes.h:63
AkInt16 AkPluginParamID
Source or effect plug-in parameter ID
Definition: AkTypes.h:76
static const AkPriority AK_MAX_PRIORITY
Maximal priority value [0,100]
Definition: AkTypes.h:116
A routine needs to be executed on some CPU.
Definition: AkTypes.h:199
Type switch
Definition: AkTypes.h:226
AkReal32 theta
Azimuth
Definition: AkTypes.h:477
Public data structures for converted file format.
Definition: AkTypes.h:895
Source plug-in: creates sound by synthesis method (no input, just output).
Definition: AkTypes.h:830
AkUInt32 AkAuxBusID
Auxilliary bus ID
Definition: AkTypes.h:75
AkGameObjectID m_uListenerID
Channels of the emitter that apply to this ray.
Definition: AkTypes.h:553
Asynchronous pipeline component is processing.
Definition: AkTypes.h:183
Audio data already in target format, no conversion to perform.
Definition: AkTypes.h:190
Left and right positioned 60 degrees apart (by default - see AK::SoundEngine::GetSpeakerAngles()).
Definition: AkTypes.h:788
uint16_t AkUInt16
Unsigned 16-bit integer
Definition: AkTypes.h:78
AkReal32 occlusion
OcclusionLevel: [0.0f..1.0f]
Definition: AkTypes.h:462
int8_t AkInt8
Signed 8-bit integer
Definition: AkTypes.h:90
Invalid switch type (used with the switch container)
Definition: AkTypes.h:185
WwiseObjectID(AkUniqueID in_ID, bool in_bIsBus)
Definition: AkTypes.h:881
int64_t AkIntPtr
Definition: AkTypes.h:83
An unexpected value causes the file to be invalid.
Definition: AkTypes.h:135
AkRamp()
Definition: AkTypes.h:604
static const AkFileID AK_INVALID_FILE_ID
Invalid file ID
Definition: AkTypes.h:106
WwiseObjectID(AkUniqueID in_ID)
Definition: AkTypes.h:875
AkPluginType
Definition: AkTypes.h:826
static const AkChannelMask AK_INVALID_CHANNELMASK
Invalid channel mask
Definition: AkTypes.h:110
Left and right positioned 180 degrees apart.
Definition: AkTypes.h:789
AkReal32 Occlusion() const
Get the occlusion factor for this emitter-listener pair
Definition: AkTypes.h:521
AkReal32 fDistance
Emitter position.
Definition: AkTypes.h:541
The operation was successful.
Definition: AkTypes.h:129
void Set(AkReal32 in_positionX, AkReal32 in_positionY, AkReal32 in_positionZ, AkReal32 in_orientFrontX, AkReal32 in_orientFrontY, AkReal32 in_orientFrontZ, AkReal32 in_orientTopX, AkReal32 in_orientTopY, AkReal32 in_orientTopZ)
Set position and orientation. Orientation front and top should be orthogonal and normalized.
Definition: AkTypes.h:376
AkAuxBusID auxBusID
Auxiliary bus ID.
Definition: AkTypes.h:597
Unknown in our voices list
Definition: AkTypes.h:170
Enable computation of peak metering.
Definition: AkTypes.h:815
Direct (main, dry) connection.
Definition: AkTypes.h:304
The memory manager should have been initialized at this point.
Definition: AkTypes.h:201
Only a running path can be paused.
Definition: AkTypes.h:166
The consumer does not need more.
Definition: AkTypes.h:172
AkUInt32 AkImageSourceID
Image Source ID
Definition: AkTypes.h:93
Two Wwise objects share the same ID.
Definition: AkTypes.h:218
Something is not within bounds.
Definition: AkTypes.h:159
The name is invalid.
Definition: AkTypes.h:140
static const AkAuxBusID AK_INVALID_AUX_ID
Invalid auxiliary bus ID (or no Aux bus ID)
Definition: AkTypes.h:105
int16_t AkInt16
Signed 16-bit integer
Definition: AkTypes.h:91
AkReal32 fSpread
Emitter-listener-pair-specific obstruction factor
Definition: AkTypes.h:549
This path is not there.
Definition: AkTypes.h:169
A pointer to audio data was not aligned to the platform's required alignment (check AkTypes....
Definition: AkTypes.h:216
The sound does not have 3D parameters.
Definition: AkTypes.h:162
The StateGroup is not a valid channel.
Definition: AkTypes.h:148
Positioning information for a sound, with specified subset of its channels.
Definition: AkTypes.h:467
void * pInMemory
Pointer to the in-memory file. If not NULL, the source will be read from memory. Set szFile and idFil...
Definition: AkTypes.h:247
Channel configuration is not supported in the current execution context.
Definition: AkTypes.h:205
AkUInt32 AkStateGroupID
State group ID
Definition: AkTypes.h:64
This user is not there.
Definition: AkTypes.h:157
AkReal32 fControlValue
Value in the range [0.0f:1.0f], send level to auxiliary bus.
Definition: AkTypes.h:598
AkReal32 fPrev
Definition: AkTypes.h:608
Only a paused path can be resumed.
Definition: AkTypes.h:167
AKRESULT
Standard function call result.
Definition: AkTypes.h:126
The provider does not have available data.
Definition: AkTypes.h:174
static const AkPriority AK_MIN_PRIORITY
Minimal priority value [0,100]
Definition: AkTypes.h:115
AkReal32 r
Norm/distance
Definition: AkTypes.h:476
uint8_t AkUInt8
Unsigned 8-bit integer
Definition: AkTypes.h:77
Internal use only.
Definition: AkTypes.h:186
static const AkDeviceID AK_INVALID_DEVICE_ID
Invalid streaming device ID
Definition: AkTypes.h:107
AkUInt32 AkRtpcID
Real time parameter control ID
Definition: AkTypes.h:83
SDK command is too large to fit in the command queue.
Definition: AkTypes.h:208
Plugin is not registered. Make sure to implement a AK::PluginRegistration class for it and use AK_STA...
Definition: AkTypes.h:215
AkInt16 AkCaptureType
Default value: capture type is short.
Definition: AkTypes.h:940
uint64_t AkUInt64
Unsigned 64-bit integer
Definition: AkTypes.h:80
The direct sound secondary buffer creation failed.
Definition: AkTypes.h:196
Reciprocal of sine curve
Definition: AkTypes.h:582
AkReal32 fEmitterAngle
Distance between emitter and listener.
Definition: AkTypes.h:542
AkExternalSourceInfo(AkOSChar *in_pszFileName, AkUInt32 in_iExternalSrcCookie, AkCodecID in_idCodec)
Constructor: specify source by streaming file name.
Definition: AkTypes.h:275
AkUInt32 AkBankID
Run time bank ID
Definition: AkTypes.h:85
Audiokinetic namespace
The bank load failed because the bank is already loaded.
Definition: AkTypes.h:197
AkUInt8 AkDataInterleaveID
Data interleaved state ID
Definition: AkTypes.h:80
The provider has some data but does not process it (virtual voices).
Definition: AkTypes.h:193
AkOSChar * szFile
File path for the source. If not NULL, the source will be streaming from disk. Set pInMemory to NULL....
Definition: AkTypes.h:246
static const AkUInt32 AK_SOUNDBANK_VERSION
Version of the soundbank reader
Definition: AkTypes.h:123
Detecting incompatibility between Custom platform of banks and custom platform of connected applicati...
Definition: AkTypes.h:210
Trying to open a file when its name was not set
Definition: AkTypes.h:134
AkListenerPosition position
Definition: AkTypes.h:563
AkIntPtr AkAtomicPtr
Signed platform sized integer - Atomic Declaration
Definition: AkTypes.h:60
Effect plug-in: applies processing to audio data.
Definition: AkTypes.h:831
AkReal32 X
X Position
Definition: AkTypes.h:328
The operation failed.
Definition: AkTypes.h:130
This object is not defined.
Definition: AkTypes.h:189
AkUInt32 AkChannelMask
Channel mask (similar to WAVE_FORMAT_EXTENSIBLE). Bit values are defined in AkSpeakerConfig....
Definition: AkTypes.h:90
Spatialization based on emitter position only.
Definition: AkTypes.h:797
AkUInt32 AkDeviceID
I/O device ID
Definition: AkTypes.h:87
Listener information.
Definition: AkTypes.h:557
AkReal32 fGameDefAuxMixGain
Emitter-listener-pair-specific gain (due to distance and cone attenuation) for direct connections.
Definition: AkTypes.h:545
CreatePool will use AK::AllocHook() to allocate the memory block.
Definition: AkTypes.h:631
Block management type: Fixed-size blocks. Get blocks through GetBlock/ReleaseBlock API....
Definition: AkTypes.h:634
The memory manager's block list has been corrupted.
Definition: AkTypes.h:179
Analyzed envelope point.
Definition: AkTypes.h:899
Configured audio settings
Definition: AkTypes.h:231
AkUInt32 AkCodecID
Codec plug-in ID
Definition: AkTypes.h:74
The ID was not found.
Definition: AkTypes.h:143
MultiPositionType
Definition: AkTypes.h:759
AkUInt32 AkAcousticTextureID
Acoustic Texture ID
Definition: AkTypes.h:92
Global Extension plug-in: (e.g. Spatial Audio, Interactive Music)
Definition: AkTypes.h:836
Not enough space to load bank.
Definition: AkTypes.h:175
AkReal32 AkRtpcValue
Real time parameter control value
Definition: AkTypes.h:84
The name is already in use.
Definition: AkTypes.h:141
AkVector operator+(const AkVector &b) const
Definition: AkTypes.h:312
Auxiliary bus sends information per game object per given auxiliary bus.
Definition: AkTypes.h:594
Volume ramp specified by end points "previous" and "next".
Definition: AkTypes.h:602
Source format not known yet.
Definition: AkTypes.h:191
The stream is already connected to another node.
Definition: AkTypes.h:133
AkMeteringFlags
Metering flags. Used for specifying bus metering, through AK::SoundEngine::RegisterBusVolumeCallback(...
Definition: AkTypes.h:812
Stuff in vertices before trying to start it
Definition: AkTypes.h:165
The executed routine has finished its execution.
Definition: AkTypes.h:200
Inputs are currently used.
Definition: AkTypes.h:138
AkUInt32 AkUniqueID
Unique 32-bit ID
Definition: AkTypes.h:62
AkRamp(AkReal32 in_fPrev, AkReal32 in_fNext)
Definition: AkTypes.h:605
The requested action was cancelled (not an error).
Definition: AkTypes.h:181
const AkVector & OrientationTop() const
Get orientation top vector.
Definition: AkTypes.h:354
AkUniqueID id
Definition: AkTypes.h:863
AkExternalSourceInfo(void *in_pInMemory, AkUInt32 in_uiMemorySize, AkUInt32 in_iExternalSrcCookie, AkCodecID in_idCodec)
Constructor: specify source by memory.
Definition: AkTypes.h:261
The language is invalid (applies to the Low-Level I/O).
Definition: AkTypes.h:150
This path is already there.
Definition: AkTypes.h:168
Mixer plug-in: mix voices at the bus level.
Definition: AkTypes.h:834
IAkSoftwareCodec *(* AkCreateFileSourceCallback)(void *in_pCtx)
Registered file source creation function prototype.
Definition: AkTypes.h:741
const AkVector & OrientationFront() const
Get orientation front vector.
Definition: AkTypes.h:348
3D spatialization is computed from the emitter game object position, translated by user-defined autom...
Definition: AkTypes.h:781
int32_t AkInt32
Signed 32-bit integer
Definition: AkTypes.h:92
AkUInt16 uAttenuation
Position of this point in samples at the source rate.
Definition: AkTypes.h:902
Emitter-listener pair: Positioning data pertaining to a single pair of emitter and listener.
Definition: AkTypes.h:487
AkReal32 EmitterAngle() const
Definition: AkTypes.h:514
AkInt8 AkPriority
Priority
Definition: AkTypes.h:77
AkUInt32 AkAtomicU32
Unsigned 32-bit integer - Atomic Declaration
Definition: AkTypes.h:59
AkUInt32 iExternalSrcCookie
Cookie identifying the source, given by hashing the name of the source given in the project....
Definition: AkTypes.h:244
This environment is used by an object.
Definition: AkTypes.h:188
void SetOrientation(const AkVector &in_orientationFront, const AkVector &in_orientationTop)
Set orientation. Orientation front and top should be orthogonal and normalized.
Definition: AkTypes.h:420
AkUInt16 AkDataTypeID
Data sample type ID
Definition: AkTypes.h:79
Simulate multiple sources in one sound playing, adding volumes. For instance, all the torches on your...
Definition: AkTypes.h:762
static const AkPriority AK_DEFAULT_PRIORITY
Default sound / I/O priority
Definition: AkTypes.h:114
Constant ( not valid for fading values )
Definition: AkTypes.h:585
AkReal32 fObstruction
Emitter-listener-pair-specific occlusion factor
Definition: AkTypes.h:548
IO device not ready (may be because the tray is open)
Definition: AkTypes.h:195
AkRamp & operator *=(const AkRamp &in_rRhs)
Definition: AkTypes.h:606
Block management type mask.
Definition: AkTypes.h:635
AkReal32 AkVolumeValue
Volume value( also apply to LFE )
Definition: AkTypes.h:69
AkUInt64 AkGameObjectID
Game object ID
Definition: AkTypes.h:70
AkGameObjectID ListenerID() const
Get listener ID associated with the emitter-listener pair.
Definition: AkTypes.h:538
Enable computation of K-weighted power metering (used as a basis for computing loudness,...
Definition: AkTypes.h:819
Inversed S Curve
Definition: AkTypes.h:578
File not found.
Definition: AkTypes.h:194
Error while reading a bank.
Definition: AkTypes.h:184
AkReal32 phi
Elevation
Definition: AkTypes.h:483
AkReal32 fDryMixGain
Angle between position vector and listener orientation.
Definition: AkTypes.h:544
The consumer needs more.
Definition: AkTypes.h:171
void __cdecl FreeHook(void *in_pMemAddress)
There is no child (source) associated with the node.
Definition: AkTypes.h:146
AkReal32 Obstruction() const
Get the obstruction factor for this emitter-listener pair
Definition: AkTypes.h:524
This feature is not implemented.
Definition: AkTypes.h:128
AkFileID idFile
File ID. If not zero, the source will be streaming from disk. This ID can be anything....
Definition: AkTypes.h:249
AkReal32 AkLPFType
Low-pass filter type
Definition: AkTypes.h:71
Flag is set to indicate a master bus (may be used in combination with other flags).
Definition: AkTypes.h:806
CreatePool will not allocate memory. You need to allocate the buffer yourself.
Definition: AkTypes.h:630
Block allocation type mask.
Definition: AkTypes.h:632
AkUInt32 AkArgumentValueID
Argument value ID
Definition: AkTypes.h:89
AkReal32 fNext
Definition: AkTypes.h:609
Linear (Default)
Definition: AkTypes.h:579
AkInt32 AkAtomic32
Signed 32-bit integer - Atomic Declaration
Definition: AkTypes.h:57
The item could not be added because it was already in the list.
Definition: AkTypes.h:163
The InstanceID is invalid.
Definition: AkTypes.h:144
It is not possible to add itself as its own child.
Definition: AkTypes.h:151
Incompatible Audio device.
Definition: AkTypes.h:217
The file header is too large.
Definition: AkTypes.h:136
AkRamp operator *(const AkRamp &in_rLhs, const AkRamp &in_rRhs)
Definition: AkTypes.h:611
IAkSoftwareCodec *(* AkCreateBankSourceCallback)(void *in_pCtx)
Registered bank source node creation function prototype.
Definition: AkTypes.h:743
Used for normal sounds, not expected to pass to AK::SoundEngine::SetMultiplePosition() (if done,...
Definition: AkTypes.h:761
Unknown/invalid plug-in type.
Definition: AkTypes.h:828
AkReal32 fOcclusion
Emitter-listener-pair-specific gain (due to distance and cone attenuation) for user-defined send conn...
Definition: AkTypes.h:547
AkUInt64 AkOutputDeviceID
Audio Output device ID
Definition: AkTypes.h:94
Spatialization based on both emitter position and emitter orientation.
Definition: AkTypes.h:798
Enable computation of true peak metering (most CPU and memory intensive).
Definition: AkTypes.h:816
Obstruction/occlusion pair for a position
Definition: AkTypes.h:460
int64_t AkInt64
Signed 64-bit integer
Definition: AkTypes.h:93
static const AkBankID AK_INVALID_BANK_ID
Invalid bank ID
Definition: AkTypes.h:108
No more data is available from the source.
Definition: AkTypes.h:145
static const AkPlayingID AK_INVALID_PLAYING_ID
Invalid playing ID
Definition: AkTypes.h:101
AkUInt32 AkModulatorID
Modulator ID
Definition: AkTypes.h:91
AkChannelMask uEmitterChannelMask
Emitter-listener-pair-specific focus
Definition: AkTypes.h:551
The maximum was reached.
Definition: AkTypes.h:137
const AkVector & Position() const
Get position vector.
Definition: AkTypes.h:342
void Set(const AkVector &in_position, const AkVector &in_orientationFront, const AkVector &in_orientationTop)
Set position and orientation. Orientation front and top should be orthogonal and normalized.
Definition: AkTypes.h:364
Ak3DPositionType
3D position type: defines what acts as the emitter position for computing spatialization against the ...
Definition: AkTypes.h:778
This environment is not defined.
Definition: AkTypes.h:187
AkUInt32 AkPlayingID
Playing ID
Definition: AkTypes.h:65
The bank version is not compatible with the current bank reader.
Definition: AkTypes.h:192
AkUInt32 AkSwitchStateID
Switch ID
Definition: AkTypes.h:82
AkUInt32 uNumSamplesPerFrame
Number of samples per audio frame (256, 512, 1024 or 2048).
Definition: AkTypes.h:233
The StateGroup already exists.
Definition: AkTypes.h:147
AkReal32 obstruction
ObstructionLevel: [0.0f..1.0f]
Definition: AkTypes.h:463
AkReal32 ListenerAngle() const
Definition: AkTypes.h:518
static const AkUInt32 AK_DEFAULT_SWITCH_STATE
Switch selected if no switch has been set yet
Definition: AkTypes.h:102
3D spatialization is computed from the listener game object position, translated by user-defined auto...
Definition: AkTypes.h:782
void *__cdecl AllocHook(size_t in_size)
Balance-Fade-Height: Traditional "box" or "car"-like panner.
Definition: AkTypes.h:773
AkTransform AkSoundPosition
Positioning information for a sound.
Definition: AkTypes.h:454
AkUInt32 AkPluginID
Source or effect plug-in ID
Definition: AkTypes.h:73
AkUInt32 AkFileID
Integer-type file identifier
Definition: AkTypes.h:86
Sound was Not Allowed to play.
Definition: AkTypes.h:207
No panning: route to matching channels between input and output.
Definition: AkTypes.h:772
static const AkMemPoolId AK_INVALID_POOL_ID
Invalid pool ID
Definition: AkTypes.h:103
Position and orientation of game objects.
Definition: AkTypes.h:334
void SetOrientation(AkReal32 in_orientFrontX, AkReal32 in_orientFrontY, AkReal32 in_orientFrontZ, AkReal32 in_orientTopX, AkReal32 in_orientTopY, AkReal32 in_orientTopZ)
Set orientation. Orientation front and top should be orthogonal and normalized.
Definition: AkTypes.h:430
AkReal32 GetGainForConnectionType(AkConnectionType in_eType) const
Get the emitter-listener-pair-specific gain (due to distance and cone attenuation),...
Definition: AkTypes.h:527
WwiseObjectID()
Definition: AkTypes.h:869
static const AkRtpcID AK_INVALID_RTPC_ID
Invalid RTPC ID
Definition: AkTypes.h:100
The stream manager should have been initialized at this point.
Definition: AkTypes.h:202
Spherical coordinates.
Definition: AkTypes.h:481
AkReal32 fFocus
Emitter-listener-pair-specific spread
Definition: AkTypes.h:550
This path is not known.
Definition: AkTypes.h:164
static const AkUInt32 AK_INVALID_OUTPUT_DEVICE_ID
Invalid Device ID
Definition: AkTypes.h:111
static const AkArgumentValueID AK_FALLBACK_ARGUMENTVALUE_ID
Fallback argument value ID
Definition: AkTypes.h:109
static const AkGameObjectID AK_INVALID_GAME_OBJECT
Invalid game object (may also mean all game objects)
Definition: AkTypes.h:98
AkReal32 Z
Z Position
Definition: AkTypes.h:330
AkUInt32 uPosition
Definition: AkTypes.h:901
3D vector.
Definition: AkTypes.h:310
The sound has 3D parameters.
Definition: AkTypes.h:161
Flag is set to indicate the secondary bus hierarchy.
Definition: AkTypes.h:805
Polar coordinates.
Definition: AkTypes.h:474
bool bIsBus
Definition: AkTypes.h:864
Outputs are currently used.
Definition: AkTypes.h:139
AkTransform position
Emitter position.
Definition: AkTypes.h:469
3D spatialization is computed directly from the emitter game object position.
Definition: AkTypes.h:780
Memory error.
Definition: AkTypes.h:180
bool bSpatialized
Listener scaling factor (see AK::SoundEngine::SetListenerScalingFactor()).
Definition: AkTypes.h:565
Plugin DLL could not be loaded, either because it is not found or one dependency is missing.
Definition: AkTypes.h:211
AkTransform emitter
Definition: AkTypes.h:540
AkPanningRule
Headphone / speakers panning rules
Definition: AkTypes.h:786
uint32_t AkUInt32
Unsigned 32-bit integer
Definition: AkTypes.h:79
AkUInt16 AkDataCompID
Data compression format ID
Definition: AkTypes.h:78
The machine does not support SSE instructions (required on PC).
Definition: AkTypes.h:203
A play request was rejected due to the MIDI filter parameters.
Definition: AkTypes.h:209
AkUInt32 AkTriggerID
Trigger ID
Definition: AkTypes.h:88
static const AkUniqueID AK_INVALID_UNIQUE_ID
Invalid unique 32-bit ID
Definition: AkTypes.h:99
AkListener()
Definition: AkTypes.h:559
Enable computation of RMS metering.
Definition: AkTypes.h:817
No Java VM provided in AkInitSettings.
Definition: AkTypes.h:213
AkExternalSourceInfo()
Default constructor.
Definition: AkTypes.h:252
Connection by a user-defined send.
Definition: AkTypes.h:306
Trying to load a bank using an ID which is not defined.
Definition: AkTypes.h:182
void SetPosition(AkReal32 in_x, AkReal32 in_y, AkReal32 in_z)
Set position.
Definition: AkTypes.h:408
~AkEmitterListenerPair()
Destructor.
Definition: AkTypes.h:507
The operation succeeded partially.
Definition: AkTypes.h:131
The Init bank was not loaded yet, the sound engine isn't completely ready yet.
Definition: AkTypes.h:219
AkReal32 fListenerAngle
Angle between position vector and emitter orientation.
Definition: AkTypes.h:543
The ID is invalid.
Definition: AkTypes.h:142
Not in use.
Definition: AkTypes.h:158
AkUInt16 AkPortNumber
Port number
Definition: AkTypes.h:67
static const AkPriority AK_DEFAULT_BANK_IO_PRIORITY
Default bank load I/O priority
Definition: AkTypes.h:119
float AkReal32
32-bit floating point
Definition: AkTypes.h:97
AkSpeakerPanningType
Speaker panning type: type of panning logic when object is not 3D spatialized (i.e....
Definition: AkTypes.h:770
Type state
Definition: AkTypes.h:227
Flag is set to indicate the primary bus hierarchy.
Definition: AkTypes.h:804
Ak3DSpatializationMode
3D spatialization mode.
Definition: AkTypes.h:794
Debug mode only.
Definition: AkTypes.h:178
The system is busy and could not process the request.
Definition: AkTypes.h:204
AkReal32 fScalingFactor
Listener position (see AK::SoundEngine::SetPosition()).
Definition: AkTypes.h:564
AkUInt32 uiMemorySize
Size of the data pointed by pInMemory
Definition: AkTypes.h:248
char AkOSChar
Generic character string
Definition: AkTypes.h:95
Update this value to reflect last curve available for fades
Definition: AkTypes.h:584
void Zero()
Definition: AkTypes.h:323
Something was not within bounds and was relocated to the nearest OK value.
Definition: AkTypes.h:160
AkInt32 AkMemPoolId
Memory pool ID
Definition: AkTypes.h:72
AkGroupType
Game sync group type
Definition: AkTypes.h:223
The child already has a parent.
Definition: AkTypes.h:149
AkUInt32 uNumSamplesPerSecond
Number of samples per second.
Definition: AkTypes.h:234
Plugin DLL search path could not be found.
Definition: AkTypes.h:212
static const AkPluginID AK_INVALID_PLUGINID
Invalid FX ID
Definition: AkTypes.h:97
AkReal32 AkPitchValue
Pitch value
Definition: AkTypes.h:68
AkInt64 AkAtomic64
Signed 64-bit integer - Atomic Declaration
Definition: AkTypes.h:58
WwiseObjectID(AkUniqueID in_ID, AkNodeType in_eNodeType)
Definition: AkTypes.h:887
AkNodeType
Definition: AkTypes.h:843
Bank error.
Definition: AkTypes.h:176
AkInt32 AkTimeMs
Time in ms
Definition: AkTypes.h:66
AkEmitterListenerPair()
Constructor.
Definition: AkTypes.h:491
AkReal32 fUserDefAuxMixGain
Emitter-listener-pair-specific gain (due to distance and cone attenuation) for game-defined send conn...
Definition: AkTypes.h:546
No need to fetch new data.
Definition: AkTypes.h:177
AkTransform AkListenerPosition
Positioning information for a listener.
Definition: AkTypes.h:457
Plugin media is not available for effect.
Definition: AkTypes.h:206
AkReal32 Y
Y Position
Definition: AkTypes.h:329
AkGameObjectID listenerID
Game object ID of the listener associated with this send. Use AK_INVALID_GAME_OBJECT as a wildcard to...
Definition: AkTypes.h:596
static const AkReal32 AK_DEFAULT_BANK_THROUGHPUT
Default bank load throughput (1 Mb/ms)
Definition: AkTypes.h:120
Plug-in type mask is 4 bits.
Definition: AkTypes.h:837
OpenSL returned an error. Check error log for more details.
Definition: AkTypes.h:214
AkExternalSourceInfo(AkFileID in_idFile, AkUInt32 in_iExternalSrcCookie, AkCodecID in_idCodec)
Constructor: specify source by streaming file ID.
Definition: AkTypes.h:288
void SetPosition(const AkVector &in_position)
Set position.
Definition: AkTypes.h:400
The provider has available data.
Definition: AkTypes.h:173
Simulate one sound coming from multiple directions. Useful for repositionning sounds based on wall op...
Definition: AkTypes.h:763
AkCodecID idCodec
Codec ID for the file. One of the audio formats defined in AkTypes.h (AKCODECID_XXX)
Definition: AkTypes.h:245
No metering.
Definition: AkTypes.h:814
AkUInt32 AkSwitchGroupID
Switch group ID
Definition: AkTypes.h:81