版本

menu_open

include/AK/SoundEngine/Common/AkQueryParameters.h

Go to the documentation of this file.
00001 /*******************************************************************************
00002 The content of this file includes portions of the AUDIOKINETIC Wwise Technology
00003 released in source code form as part of the SDK installer package.
00004 
00005 Commercial License Usage
00006 
00007 Licensees holding valid commercial licenses to the AUDIOKINETIC Wwise Technology
00008 may use this file in accordance with the end user license agreement provided 
00009 with the software or, alternatively, in accordance with the terms contained in a
00010 written agreement between you and Audiokinetic Inc.
00011 
00012 Apache License Usage
00013 
00014 Alternatively, this file may be used under the Apache License, Version 2.0 (the 
00015 "Apache License"); you may not use this file except in compliance with the 
00016 Apache License. You may obtain a copy of the Apache License at 
00017 http://www.apache.org/licenses/LICENSE-2.0.
00018 
00019 Unless required by applicable law or agreed to in writing, software distributed
00020 under the Apache License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES
00021 OR CONDITIONS OF ANY KIND, either express or implied. See the Apache License for
00022 the specific language governing permissions and limitations under the License.
00023 
00024   Version: <VERSION>  Build: <BUILDNUMBER>
00025   Copyright (c) <COPYRIGHTYEAR> Audiokinetic Inc.
00026 *******************************************************************************/
00027 
00028 // AkQueryParameters.h
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 // Audiokinetic namespace
00076 namespace AK
00077 {
00078     // Audiokinetic sound engine namespace
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         } //namespace Query
00551     } //namespace SoundEngine
00552 } //namespace AK
00553 
00554 #endif // _AK_QUERYPARAMS_H_

此页面对您是否有帮助?

需要技术支持?

仍有疑问?或者问题?需要更多信息?欢迎联系我们,我们可以提供帮助!

查看我们的“技术支持”页面

介绍一下自己的项目。我们会竭力为您提供帮助。

来注册自己的项目,我们帮您快速入门,不带任何附加条件!

开始 Wwise 之旅