Table des matières

include/AK/SoundEngine/Common/AkQueryParameters.h

Go to the documentation of this file.
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_