00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00032
00033
00034 #ifndef _AK_QUERYPARAMS_H_
00035 #define _AK_QUERYPARAMS_H_
00036
00037 #include <AK/SoundEngine/Common/AkSoundEngineExport.h>
00038 #include <AK/SoundEngine/Common/AkTypes.h>
00039 #include <AK/SoundEngine/Common/AkCommonDefs.h>
00040 #include <AK/Tools/Common/AkArray.h>
00041
00043 struct AkPositioningInfo
00044 {
00045 AkReal32 fCenterPct;
00046 AkPannerType pannerType;
00047 AkPositionSourceType posSourceType;
00048 bool bUpdateEachFrame;
00049 bool bUseSpatialization;
00050 bool bUseAttenuation;
00051
00052 bool bUseConeAttenuation;
00053 AkReal32 fInnerAngle;
00054 AkReal32 fOuterAngle;
00055 AkReal32 fConeMaxAttenuation;
00056 AkLPFType LPFCone;
00057 AkLPFType HPFCone;
00058
00059 AkReal32 fMaxDistance;
00060 AkReal32 fVolDryAtMaxDist;
00061 AkReal32 fVolAuxGameDefAtMaxDist;
00062 AkReal32 fVolAuxUserDefAtMaxDist;
00063 AkLPFType LPFValueAtMaxDist;
00064 AkLPFType HPFValueAtMaxDist;
00065 };
00066
00068 struct AkObjectInfo
00069 {
00070 AkUniqueID objID;
00071 AkUniqueID parentID;
00072 AkInt32 iDepth;
00073 };
00074
00075
00076 namespace AK
00077 {
00078
00079 namespace SoundEngine
00080 {
00091
00092 namespace Query
00093 {
00096
00097
00102 AK_EXTERNAPIFUNC( AKRESULT, GetPosition )(
00103 AkGameObjectID in_GameObjectID,
00104 AkSoundPosition& out_rPosition
00105 );
00106
00108
00111
00112
00117 AK_EXTERNAPIFUNC( AKRESULT, GetActiveListeners )(
00118 AkGameObjectID in_GameObjectID,
00119 AkUInt32& out_ruListenerMask
00120 );
00121
00126 AK_EXTERNAPIFUNC( AKRESULT, GetListenerPosition )(
00127 AkUInt32 in_uIndex,
00128 AkListenerPosition& out_rPosition
00129 );
00130
00136 AK_EXTERNAPIFUNC( AKRESULT, GetListenerSpatialization )(
00137 AkUInt32 in_uIndex,
00138 bool& out_rbSpatialized,
00139 AK::SpeakerVolumes::VectorPtr & out_pVolumeOffsets,
00140 AkChannelConfig &out_channelConfig
00141 );
00142
00144
00145
00148
00149
00158 enum RTPCValue_type
00159 {
00160 RTPCValue_Default,
00161 RTPCValue_Global,
00162 RTPCValue_GameObject,
00163 RTPCValue_PlayingID,
00164 RTPCValue_Unavailable
00165 };
00166
00180 AK_EXTERNAPIFUNC(AKRESULT, GetRTPCValue)(
00181 AkRtpcID in_rtpcID,
00182 AkGameObjectID in_gameObjectID,
00183 AkPlayingID in_playingID,
00184 AkRtpcValue& out_rValue,
00185 RTPCValue_type& io_rValueType
00186 );
00187
00188 #ifdef AK_SUPPORT_WCHAR
00189
00203 AK_EXTERNAPIFUNC(AKRESULT, GetRTPCValue)(
00204 const wchar_t* in_pszRtpcName,
00205 AkGameObjectID in_gameObjectID,
00206 AkPlayingID in_playingID,
00207 AkRtpcValue& out_rValue,
00208 RTPCValue_type& io_rValueType
00209 );
00210
00211 #endif //AK_SUPPORT_WCHAR
00212
00226 AK_EXTERNAPIFUNC(AKRESULT, GetRTPCValue)(
00227 const char* in_pszRtpcName,
00228 AkGameObjectID in_gameObjectID,
00229 AkPlayingID in_playingID,
00230 AkRtpcValue& out_rValue,
00231 RTPCValue_type& io_rValueType
00232 );
00233
00238 AK_EXTERNAPIFUNC( AKRESULT, GetSwitch )(
00239 AkSwitchGroupID in_switchGroup,
00240 AkGameObjectID in_gameObjectID,
00241 AkSwitchStateID& out_rSwitchState
00242 );
00243
00244 #ifdef AK_SUPPORT_WCHAR
00245
00246
00247
00248
00249 AK_EXTERNAPIFUNC( AKRESULT, GetSwitch )(
00250 const wchar_t* in_pstrSwitchGroupName,
00251 AkGameObjectID in_GameObj,
00252 AkSwitchStateID& out_rSwitchState
00253 );
00254 #endif //AK_SUPPORT_WCHAR
00255
00260 AK_EXTERNAPIFUNC( AKRESULT, GetSwitch )(
00261 const char* in_pstrSwitchGroupName,
00262 AkGameObjectID in_GameObj,
00263 AkSwitchStateID& out_rSwitchState
00264 );
00265
00270 AK_EXTERNAPIFUNC( AKRESULT, GetState )(
00271 AkStateGroupID in_stateGroup,
00272 AkStateID& out_rState
00273 );
00274
00275 #ifdef AK_SUPPORT_WCHAR
00276
00277
00278
00279
00280 AK_EXTERNAPIFUNC( AKRESULT, GetState )(
00281 const wchar_t* in_pstrStateGroupName,
00282 AkStateID& out_rState
00283 );
00284 #endif //AK_SUPPORT_WCHAR
00285
00290 AK_EXTERNAPIFUNC( AKRESULT, GetState )(
00291 const char* in_pstrStateGroupName,
00292 AkStateID& out_rState
00293 );
00294
00296
00299
00300
00311 AK_EXTERNAPIFUNC( AKRESULT, GetGameObjectAuxSendValues )(
00312 AkGameObjectID in_gameObjectID,
00313 AkAuxSendValue* out_paAuxSendValues,
00314
00315
00316 AkUInt32& io_ruNumSendValues
00317
00318 );
00319
00329 AK_EXTERNAPIFUNC( AKRESULT, GetGameObjectDryLevelValue )(
00330 AkGameObjectID in_gameObjectID,
00331 AkReal32& out_rfControlValue
00332
00333 );
00334
00340 AK_EXTERNAPIFUNC( AKRESULT, GetObjectObstructionAndOcclusion )(
00341 AkGameObjectID in_ObjectID,
00342 AkUInt32 in_uListener,
00343 AkReal32& out_rfObstructionLevel,
00344 AkReal32& out_rfOcclusionLevel
00345 );
00346
00348
00355 AK_EXTERNAPIFUNC( AKRESULT, QueryAudioObjectIDs )(
00356 AkUniqueID in_eventID,
00357 AkUInt32& io_ruNumItems,
00358 AkObjectInfo* out_aObjectInfos
00359 );
00360
00361 #ifdef AK_SUPPORT_WCHAR
00362
00363
00364
00365
00366
00367
00368 AK_EXTERNAPIFUNC( AKRESULT, QueryAudioObjectIDs )(
00369 const wchar_t* in_pszEventName,
00370 AkUInt32& io_ruNumItems,
00371 AkObjectInfo* out_aObjectInfos
00372 );
00373 #endif //AK_SUPPORT_WCHAR
00374
00381 AK_EXTERNAPIFUNC( AKRESULT, QueryAudioObjectIDs )(
00382 const char* in_pszEventName,
00383 AkUInt32& io_ruNumItems,
00384 AkObjectInfo* out_aObjectInfos
00385 );
00386
00389 AK_EXTERNAPIFUNC( AKRESULT, GetPositioningInfo )(
00390 AkUniqueID in_ObjectID,
00391 AkPositioningInfo& out_rPositioningInfo
00392 );
00393
00400 typedef AkArray<AkGameObjectID, AkGameObjectID, ArrayPoolDefault, 32> AkGameObjectsList;
00401
00408 AK_EXTERNAPIFUNC( AKRESULT, GetActiveGameObjects )(
00409 AkGameObjectsList& io_GameObjectList
00410 );
00411
00414 AK_EXTERNAPIFUNC( bool, GetIsGameObjectActive )(
00415 AkGameObjectID in_GameObjId
00416 );
00417
00421 struct GameObjDst
00422 {
00424 GameObjDst()
00425 : m_gameObjID( AK_INVALID_GAME_OBJECT )
00426 , m_dst( -1.0f )
00427 {}
00428
00430 GameObjDst( AkGameObjectID in_gameObjID, AkReal32 in_dst )
00431 : m_gameObjID( in_gameObjID )
00432 , m_dst( in_dst )
00433 {}
00434
00435 AkGameObjectID m_gameObjID;
00436 AkReal32 m_dst;
00437 };
00438
00442 typedef AkArray<GameObjDst, const GameObjDst&, ArrayPoolDefault, 32> AkRadiusList;
00443
00480 AK_EXTERNAPIFUNC( AKRESULT, GetMaxRadius )(
00481 AkRadiusList & io_RadiusList
00482 );
00483
00504 AK_EXTERNAPIFUNC( AkReal32, GetMaxRadius )(
00505 AkGameObjectID in_GameObjId
00506 );
00507
00512 AK_EXTERNAPIFUNC( AkUniqueID, GetEventIDFromPlayingID )(
00513 AkPlayingID in_playingID
00514 );
00515
00520 AK_EXTERNAPIFUNC( AkGameObjectID, GetGameObjectFromPlayingID )(
00521 AkPlayingID in_playingID
00522 );
00523
00530 AK_EXTERNAPIFUNC( AKRESULT, GetPlayingIDsFromGameObject )(
00531 AkGameObjectID in_GameObjId,
00532 AkUInt32& io_ruNumIDs,
00533 AkPlayingID* out_aPlayingIDs
00534 );
00535
00537 AK_EXTERNAPIFUNC( AKRESULT, GetCustomPropertyValue )(
00538 AkUniqueID in_ObjectID,
00539 AkUInt32 in_uPropID,
00540 AkInt32& out_iValue
00541 );
00542
00544 AK_EXTERNAPIFUNC( AKRESULT, GetCustomPropertyValue )(
00545 AkUniqueID in_ObjectID,
00546 AkUInt32 in_uPropID,
00547 AkReal32& out_fValue
00548 );
00549
00550 }
00551 }
00552 }
00553
00554 #endif // _AK_QUERYPARAMS_H_