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_
Des questions ? Des problèmes ? Besoin de plus d'informations ? Contactez-nous, nous pouvons vous aider !
Visitez notre page d'AideEnregistrez votre projet et nous vous aiderons à démarrer sans aucune obligation !
Partir du bon pied avec Wwise