浏览该文件的文档.
33 #ifndef _AK_COMMON_DEFS_H_
34 #define _AK_COMMON_DEFS_H_
164 #define AK_MAKE_CHANNELCONFIGOVERRIDE(_config,_order) ((AkInt64)_config.Serialize()|((AkInt64)_order<<32))
165 #define AK_GET_CHANNELCONFIGOVERRIDE_CONFIG(_over) (_over&UINT_MAX)
166 #define AK_GET_CHANNELCONFIGOVERRIDE_ORDERING(_over) ((AK::AkChannelOrdering)(_over>>32))
179 #define AKMAKECLASSID( in_pluginType, in_companyID, in_pluginID ) \
180 ( (in_pluginType) + ( (in_companyID) << 4 ) + ( (in_pluginID) << ( 4 + 12 ) ) )
182 #define AKGETPLUGINTYPEFROMCLASSID( in_classID ) ( (in_classID) & AkPluginTypeMask )
183 #define AKGETCOMPANYIDFROMCLASSID( in_classID ) ( ( (in_classID) & 0x0000FFF0 ) >> 4 )
184 #define AKGETPLUGINIDFROMCLASSID( in_classID ) ( ( (in_classID) & 0xFFFF0000 ) >> ( 4 + 12 ) )
186 #define CODECID_FROM_PLUGINID AKGETPLUGINIDFROMCLASSID
223 #define AK_DEFAULT_LISTENER_POSITION_X (0.0f) // at coordinate system's origin
224 #define AK_DEFAULT_LISTENER_POSITION_Y (0.0f)
225 #define AK_DEFAULT_LISTENER_POSITION_Z (0.0f)
226 #define AK_DEFAULT_LISTENER_FRONT_X (0.0f) // looking toward Z,
227 #define AK_DEFAULT_LISTENER_FRONT_Y (0.0f)
228 #define AK_DEFAULT_LISTENER_FRONT_Z (1.0f)
229 #define AK_DEFAULT_TOP_X (0.0f) // top towards Y
230 #define AK_DEFAULT_TOP_Y (1.0f)
231 #define AK_DEFAULT_TOP_Z (0.0f)
410 if ( in_channelConfig.
HasLFE() )
415 if ( in_uChannelIdx == uIdxLFE )
417 else if ( in_uChannelIdx > uIdxLFE )
418 return in_uChannelIdx - 1;
421 return in_uChannelIdx;
462 if ( uNumZeroFrames )
465 for (
AkUInt32 i = 0; i < uNumChannels; ++i )
484 void * pDataOld =
pData;
517 #endif // _AK_COMMON_DEFS_H_
AkForceInline bool HasLFE() const
Returns true if there is an LFE channel present.
bool enableHeightSpread
When true, audio objects 3D spatialized onto a planar channel configuration will be given a minimum s...
AkUInt32 uAvailableSystemAudioObjects
How many System Audio Objects can currently be sent to the sink. This value can change at runtime dep...
AkSampleType * GetChannel(AkUInt32 in_uIndex)
uint16_t AkUInt16
Unsigned 16-bit integer
Definition of data structures for AkAudioObject
AkForceInline bool HasData() const
Check if buffer has samples attached to it.
@ AK_DirectSpeakerAssignment
No panning: route to matching channels between input and output.
@ AK_ChannelConfigType_Standard
Channels must be identified with standard defines in AkSpeakerConfigs.
AkForceInline bool HasCenter() const
AkReal32 center
Center percentage [0,1]
AkForceInline AkChannelConfig GetChannelConfig() const
@ AK_DataNeeded
The consumer needs more.
AkReal32 panSpatMix
Panning vs 3D spatialization mix ([0,1], 1 being 100% spatialized).
bool bMultiChannelObjects
Can handle multi-channel objects
AkAudioBuffer()
Constructor.
AkUInt32 uMaxSystemAudioObjects
Maximum number of System Audio Objects that can be active concurrently. A value of zero indicates the...
AkUInt8 AkDataInterleaveID
Data interleaved state ID
AkUInt32 uNumChannels
Number of channels.
AkForceInline void * DetachContiguousDeinterleavedData()
Detach deinterleaved data where channels are contiguous in memory. The address of the buffer is retur...
AkForceInline AkUInt32 NumChannels() const
Get the number of channels.
AkForceInline void Clear()
Clear members.
#define AK_DEFAULT_LISTENER_FRONT_Y
AkUInt32 uChannelMask
Channel mask (configuration).
AkSpeakerPanningType
Speaker panning type: type of panning logic when object is not 3D spatialized (i.e....
static AkUInt32 StandardToPipelineIndex(AkChannelConfig in_channelConfig, AkUInt32 in_uChannelIdx)
#define AK_DEFAULT_LISTENER_POSITION_Z
void RelocateMedia(AkUInt8 *in_pNewMedia, AkUInt8 *in_pOldMedia)
uint8_t AkUInt8
Unsigned 8-bit integer
#define AK_DEFAULT_LISTENER_POSITION_Y
Positioning data inherited from sound structures and mix busses.
AK::SpeakerVolumes::VectorPtr rms
float AkReal32
32-bit floating point
AKRESULT eState
Execution status
Ak3DSpatializationMode
3D spatialization mode.
AK::SpeakerVolumes::VectorPtr truePeak
AkReal32 panDU
Pan down-up [-1,1]
AkUInt16 uValidFrames
Number of valid sample frames in the audio buffer
uintptr_t AkUIntPtr
Integer (unsigned) type for pointers
#define AKCODECID_BANK
Bank encoding
void * pData
Start of the audio buffer.
AkAudioObjectDestination
Enum of the possible object destinations when reaching a 3D audio-capable sink
AkChannelConfig channelConfig
Channel config.
#define AKCODECID_BANK_EVENT
Bank encoding for event banks. These banks are contained in the /event sub-folder.
#define AK_DEFAULT_LISTENER_POSITION_X
Default listener transform.
const AkDataTypeID AK_FLOAT
Float data type
#define AKASSERT(Condition)
AkSpeakerPanningType panType
Speaker panning type.
const AkUInt32 AK_LE_NATIVE_BITSPERSAMPLE
Native number of bits per sample.
bool bPassthrough
Separate pass-through mix is supported.
AkUInt16 uMaxFrames
Number of sample frames the buffer can hold. Access through AkAudioBuffer::MaxFrames().
AkBehavioralPositioningData behavioral
Positioning data inherited from sound structures and mix busses.
AkUInt16 AkDataTypeID
Data sample type ID
AkForceInline void Clear()
Clear the channel config. Becomes "invalid" (IsValid() returns false).
AkReal32 AkSampleType
Audio sample data type (32 bit floating point)
#define AKCODECID_BANK_BUS
Bank encoding for bus banks. These banks are contained in the /bus sub-folder.
const AkUInt32 AK_LE_NATIVE_SAMPLETYPE
Native data type.
#define AK_DEFAULT_LISTENER_FRONT_X
AkBehavioralPositioningData()
Ak3dData threeD
3D data used for 3D spatialization.
AkForceInline AkUInt32 GetNumNonZeroBits(AkUInt32 in_uWord)
Struct containing metering information about a buffer. Depending on when this struct is generated,...
Positioning data of 3D audio objects.
AkChannelConfig channelConfig
Channel configuration of the main mix.
#define AK_DEFAULT_LISTENER_FRONT_Z
void ZeroPadToMaxFrames()
AkChannelMask uEmitterChannelMask
Emitter channel mask. With 3D spatialization, zeroed channels should be dropped.
uint32_t AkUInt32
Unsigned 32-bit integer
AkUInt8(* AkChannelMappingFunc)(const AkChannelConfig &config, AkUInt8 idx)
AkUInt32 eConfigType
Channel config type (AkChannelConfigType).
AkReal32 panLR
Pan left-right [-1,1]
AkForceInline void AttachContiguousDeinterleavedData(void *in_pData, AkUInt16 in_uMaxFrames, AkUInt16 in_uValidFrames, AkChannelConfig in_channelConfig)
Attach deinterleaved data where channels are contiguous in memory. Allocation is performed outside.
AkReal32 spread
Spread [0,1]
AkForceInline bool HasLFE() const
AkForceInline void * GetInterleavedData()
AkUInt32 AkChannelMask
Channel mask (similar to extensibleWavFormat). Bit values are defined in AkSpeakerConfig....
#define AK_SPEAKER_LOW_FREQUENCY
Low-frequency speaker bit mask
static bool IsBankCodecID(AkUInt32 in_codecID)
const AkDataTypeID AK_INT
Integer data type (uchar, short, and so on)
AkForceInline bool IsValid() const
Returns true if valid, false otherwise (as when it is constructed, or invalidated using Clear()).
AkReal32 focus
Focus [0,1]
AkTransform xform
Object position / orientation.
AkSpeakerVolumesMatrixPtr VectorPtr
AkForceInline void ClearData()
Clear data pointer.
void AttachInterleavedData(void *in_pData, AkUInt16 in_uMaxFrames, AkUInt16 in_uValidFrames)
Attach interleaved data. Allocation is performed outside.
@ AK_SpatializationMode_None
No spatialization
AK::SpeakerVolumes::VectorPtr peak
const AkDataInterleaveID AK_NONINTERLEAVED
Non-interleaved data
Ak3DSpatializationMode spatMode
3D spatialization mode.
AkReal32 panBF
Pan back-front [-1,1]
const AkDataInterleaveID AK_INTERLEAVED
Interleaved data
void AttachInterleavedData(void *in_pData, AkUInt16 in_uMaxFrames, AkUInt16 in_uValidFrames, AkChannelConfig in_channelConfig)
Attach interleaved data with a new channel config. Allocation is performed outside.
const AkUInt32 AK_LE_NATIVE_INTERLEAVE
Native interleaved setting.
AkForceInline AkUInt16 MaxFrames() const
介绍一下自己的项目。我们会竭力为您提供帮助。
来注册自己的项目,我们帮您快速入门,不带任何附加条件!
开始 Wwise 之旅