00001
00002
00003
00006
00007
00008 #ifndef _AK_QUERYPARAMS_H_
00009 #define _AK_QUERYPARAMS_H_
00010
00011 #include <AK/SoundEngine/Common/AkSoundEngineExport.h>
00012 #include <AK/SoundEngine/Common/AkTypes.h>
00013 #include <AK/SoundEngine/Common/AkCommonDefs.h>
00014 #include <AK/Tools/Common/AkArray.h>
00015
00017 struct AkPositioningInfo
00018 {
00019 AkReal32 fCenterPct;
00020 AkPannerType pannerType;
00021 AkPositionSourceType posSourceType;
00022 bool bUpdateEachFrame;
00023 bool bUseSpatialization;
00024 bool bUseAttenuation;
00025
00026 bool bUseConeAttenuation;
00027 AkReal32 fInnerAngle;
00028 AkReal32 fOuterAngle;
00029 AkReal32 fConeMaxAttenuation;
00030 AkLPFType LPFCone;
00031 AkLPFType HPFCone;
00032
00033 AkReal32 fMaxDistance;
00034 AkReal32 fVolDryAtMaxDist;
00035 AkReal32 fVolAuxGameDefAtMaxDist;
00036 AkReal32 fVolAuxUserDefAtMaxDist;
00037 AkLPFType LPFValueAtMaxDist;
00038 AkLPFType HPFValueAtMaxDist;
00039 };
00040
00042 struct AkObjectInfo
00043 {
00044 AkUniqueID objID;
00045 AkUniqueID parentID;
00046 AkInt32 iDepth;
00047 };
00048
00049
00050 namespace AK
00051 {
00052
00053 namespace SoundEngine
00054 {
00065
00066 namespace Query
00067 {
00070
00071
00076 AK_EXTERNAPIFUNC( AKRESULT, GetPosition )(
00077 AkGameObjectID in_GameObjectID,
00078 AkSoundPosition& out_rPosition
00079 );
00080
00082
00085
00086
00091 AK_EXTERNAPIFUNC( AKRESULT, GetActiveListeners )(
00092 AkGameObjectID in_GameObjectID,
00093 AkUInt32& out_ruListenerMask
00094 );
00095
00100 AK_EXTERNAPIFUNC( AKRESULT, GetListenerPosition )(
00101 AkUInt32 in_uIndex,
00102 AkListenerPosition& out_rPosition
00103 );
00104
00110 AK_EXTERNAPIFUNC( AKRESULT, GetListenerSpatialization )(
00111 AkUInt32 in_uIndex,
00112 bool& out_rbSpatialized,
00113 AK::SpeakerVolumes::VectorPtr & out_pVolumeOffsets,
00114 AkChannelConfig &out_channelConfig
00115 );
00116
00118
00119
00122
00123
00132 enum RTPCValue_type
00133 {
00134 RTPCValue_Default,
00135 RTPCValue_Global,
00136 RTPCValue_GameObject,
00137 RTPCValue_Unavailable
00138 };
00139
00145 AK_EXTERNAPIFUNC( AKRESULT, GetRTPCValue )(
00146 AkRtpcID in_rtpcID,
00147 AkGameObjectID in_gameObjectID,
00148 AkRtpcValue& out_rValue,
00149 RTPCValue_type& io_rValueType
00150 );
00151
00152 #ifdef AK_SUPPORT_WCHAR
00153
00154
00155
00156
00157
00158 AK_EXTERNAPIFUNC( AKRESULT, GetRTPCValue )(
00159 const wchar_t* in_pszRtpcName,
00160 AkGameObjectID in_gameObjectID,
00161 AkRtpcValue& out_rValue,
00162 RTPCValue_type& io_rValueType
00163 );
00164 #endif //AK_SUPPORT_WCHAR
00165
00171 AK_EXTERNAPIFUNC( AKRESULT, GetRTPCValue )(
00172 const char* in_pszRtpcName,
00173 AkGameObjectID in_gameObjectID,
00174 AkRtpcValue& out_rValue,
00175 RTPCValue_type& io_rValueType
00176 );
00177
00182 AK_EXTERNAPIFUNC( AKRESULT, GetSwitch )(
00183 AkSwitchGroupID in_switchGroup,
00184 AkGameObjectID in_gameObjectID,
00185 AkSwitchStateID& out_rSwitchState
00186 );
00187
00188 #ifdef AK_SUPPORT_WCHAR
00189
00190
00191
00192
00193 AK_EXTERNAPIFUNC( AKRESULT, GetSwitch )(
00194 const wchar_t* in_pstrSwitchGroupName,
00195 AkGameObjectID in_GameObj,
00196 AkSwitchStateID& out_rSwitchState
00197 );
00198 #endif //AK_SUPPORT_WCHAR
00199
00204 AK_EXTERNAPIFUNC( AKRESULT, GetSwitch )(
00205 const char* in_pstrSwitchGroupName,
00206 AkGameObjectID in_GameObj,
00207 AkSwitchStateID& out_rSwitchState
00208 );
00209
00214 AK_EXTERNAPIFUNC( AKRESULT, GetState )(
00215 AkStateGroupID in_stateGroup,
00216 AkStateID& out_rState
00217 );
00218
00219 #ifdef AK_SUPPORT_WCHAR
00220
00221
00222
00223
00224 AK_EXTERNAPIFUNC( AKRESULT, GetState )(
00225 const wchar_t* in_pstrStateGroupName,
00226 AkStateID& out_rState
00227 );
00228 #endif //AK_SUPPORT_WCHAR
00229
00234 AK_EXTERNAPIFUNC( AKRESULT, GetState )(
00235 const char* in_pstrStateGroupName,
00236 AkStateID& out_rState
00237 );
00238
00240
00243
00244
00255 AK_EXTERNAPIFUNC( AKRESULT, GetGameObjectAuxSendValues )(
00256 AkGameObjectID in_gameObjectID,
00257 AkAuxSendValue* out_paAuxSendValues,
00258
00259
00260 AkUInt32& io_ruNumSendValues
00261
00262 );
00263
00273 AK_EXTERNAPIFUNC( AKRESULT, GetGameObjectDryLevelValue )(
00274 AkGameObjectID in_gameObjectID,
00275 AkReal32& out_rfControlValue
00276
00277 );
00278
00284 AK_EXTERNAPIFUNC( AKRESULT, GetObjectObstructionAndOcclusion )(
00285 AkGameObjectID in_ObjectID,
00286 AkUInt32 in_uListener,
00287 AkReal32& out_rfObstructionLevel,
00288 AkReal32& out_rfOcclusionLevel
00289 );
00290
00292
00299 AK_EXTERNAPIFUNC( AKRESULT, QueryAudioObjectIDs )(
00300 AkUniqueID in_eventID,
00301 AkUInt32& io_ruNumItems,
00302 AkObjectInfo* out_aObjectInfos
00303 );
00304
00305 #ifdef AK_SUPPORT_WCHAR
00306
00307
00308
00309
00310
00311
00312 AK_EXTERNAPIFUNC( AKRESULT, QueryAudioObjectIDs )(
00313 const wchar_t* in_pszEventName,
00314 AkUInt32& io_ruNumItems,
00315 AkObjectInfo* out_aObjectInfos
00316 );
00317 #endif //AK_SUPPORT_WCHAR
00318
00325 AK_EXTERNAPIFUNC( AKRESULT, QueryAudioObjectIDs )(
00326 const char* in_pszEventName,
00327 AkUInt32& io_ruNumItems,
00328 AkObjectInfo* out_aObjectInfos
00329 );
00330
00333 AK_EXTERNAPIFUNC( AKRESULT, GetPositioningInfo )(
00334 AkUniqueID in_ObjectID,
00335 AkPositioningInfo& out_rPositioningInfo
00336 );
00337
00344 typedef AkArray<AkGameObjectID, AkGameObjectID, ArrayPoolDefault, 32> AkGameObjectsList;
00345
00352 AK_EXTERNAPIFUNC( AKRESULT, GetActiveGameObjects )(
00353 AkGameObjectsList& io_GameObjectList
00354 );
00355
00358 AK_EXTERNAPIFUNC( bool, GetIsGameObjectActive )(
00359 AkGameObjectID in_GameObjId
00360 );
00361
00365 struct GameObjDst
00366 {
00368 GameObjDst()
00369 : m_gameObjID( AK_INVALID_GAME_OBJECT )
00370 , m_dst( -1.0f )
00371 {}
00372
00374 GameObjDst( AkGameObjectID in_gameObjID, AkReal32 in_dst )
00375 : m_gameObjID( in_gameObjID )
00376 , m_dst( in_dst )
00377 {}
00378
00379 AkGameObjectID m_gameObjID;
00380 AkReal32 m_dst;
00381 };
00382
00386 typedef AkArray<GameObjDst, const GameObjDst&, ArrayPoolDefault, 32> AkRadiusList;
00387
00424 AK_EXTERNAPIFUNC( AKRESULT, GetMaxRadius )(
00425 AkRadiusList & io_RadiusList
00426 );
00427
00448 AK_EXTERNAPIFUNC( AkReal32, GetMaxRadius )(
00449 AkGameObjectID in_GameObjId
00450 );
00451
00456 AK_EXTERNAPIFUNC( AkUniqueID, GetEventIDFromPlayingID )(
00457 AkPlayingID in_playingID
00458 );
00459
00464 AK_EXTERNAPIFUNC( AkGameObjectID, GetGameObjectFromPlayingID )(
00465 AkPlayingID in_playingID
00466 );
00467
00474 AK_EXTERNAPIFUNC( AKRESULT, GetPlayingIDsFromGameObject )(
00475 AkGameObjectID in_GameObjId,
00476 AkUInt32& io_ruNumIDs,
00477 AkPlayingID* out_aPlayingIDs
00478 );
00479
00481 AK_EXTERNAPIFUNC( AKRESULT, GetCustomPropertyValue )(
00482 AkUniqueID in_ObjectID,
00483 AkUInt32 in_uPropID,
00484 AkInt32& out_iValue
00485 );
00486
00488 AK_EXTERNAPIFUNC( AKRESULT, GetCustomPropertyValue )(
00489 AkUniqueID in_ObjectID,
00490 AkUInt32 in_uPropID,
00491 AkReal32& out_fValue
00492 );
00493
00494 }
00495 }
00496 }
00497
00498 #endif // _AK_QUERYPARAMS_H_