00001 // Copyright (c) 2006 Audiokinetic Inc. / All Rights Reserved 00002 // AkQueryParameters.h 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 // Audiokinetic namespace 00050 namespace AK 00051 { 00052 // Audiokinetic sound engine namespace 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 } //namespace Query 00495 } //namespace SoundEngine 00496 } //namespace AK 00497 00498 #endif // _AK_QUERYPARAMS_H_
Questions? Problems? Need more info? Contact us, and we can help!
Visit our Support pageRegister your project and we'll help you get started with no strings attached!
Get started with Wwise