版本

menu_open

include/AK/SoundFrame/SF.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 
00031 
00032 #ifndef _AK_SOUNDFRAME_SF_H
00033 #define _AK_SOUNDFRAME_SF_H
00034 
00035 #include <wtypes.h>
00036 
00037 #include "SFObjects.h"
00038 #include <AK/SoundEngine/Common/AkTypes.h>
00039 #include <AK/SoundEngine/Common/AkSoundEngine.h>
00040 
00041 struct IDataObject; // OLE data object interface
00042 
00046 #define MAX_MONITORING_MSG_SIZE     256
00047 
00048 namespace AK
00049 {
00051     namespace SoundFrame
00052     {
00054         enum SoundBankContentTxtFileFormat
00055         {
00056             SoundBankContentTxtFileFormat_ANSI = 0,     
00057             SoundBankContentTxtFileFormat_UNICODE = 1   
00058         };
00059 
00061         struct SoundBankGenerationSettings
00062         {
00063             bool bUseReferenceLanguageAsStandIn;    
00064             bool bAllowExceedingSize;               
00065             bool bUseSoundbankNames;                
00066             bool bGenerateHeaderFile;               
00067 
00068             bool bGenerateContentTxtFile;           
00069             SoundBankContentTxtFileFormat eContentTxtFileFormat; 
00070 
00071             bool bGenerateXMLMetadata;              
00072             bool bGenerateJSONMetadata;             
00073             bool bGenerateMetadataFile;             
00074             bool bGeneratePerBankMetadataFile;      
00075 
00076             bool bMedatadaIncludeGUID;              
00077             bool bMedatadaIncludeMaxAttenuation;    
00078             bool bMedatadaIncludeEstimatedDuration; 
00079         };
00080 
00085         class ISoundFrame : public ISFRefCount
00086         {
00087         public:
00094             virtual bool Connect( 
00095                 DWORD in_dwProcessID = 0    
00096                 ) = 0;
00097 
00100             virtual bool IsConnected() const = 0;
00101 
00104 
00105 
00106 
00115             virtual const WCHAR * GetCurrentProjectName() const = 0;
00116 
00125             virtual GUID GetCurrentProjectID() const = 0;
00126 
00135             virtual const WCHAR * GetCurrentProjectOriginalRoot() const = 0;
00136 
00138 
00141 
00142 
00156             virtual bool PlayEvents( 
00157                 const AkUniqueID * in_pEvents,                                      
00158                 long in_cEvents,                                                    
00159                 AkGameObjectID in_gameObjectID = IGameObject::s_WwiseGameObject     
00160                 ) = 0;
00161 
00175             virtual bool PlayEvents( 
00176                 LPCWSTR * in_pszEvents,                                             
00177                 long in_cEvents,                                                    
00178                 AkGameObjectID in_gameObjectID = IGameObject::s_WwiseGameObject     
00179                 ) = 0;
00180 
00186             virtual bool ExecuteActionOnEvent(
00187                 AkUniqueID in_eventID,                                              
00188                 AK::SoundEngine::AkActionOnEventType in_ActionType,                 
00189                 AkGameObjectID in_gameObjectID = AK_INVALID_GAME_OBJECT,            
00190                 AkTimeMs in_uTransitionDuration = 0,                                
00191                 AkCurveInterpolation in_eFadeCurve = AkCurveInterpolation_Linear    
00192                 ) = 0;
00193 
00198             virtual bool SeekOnEvent(
00199                 AkUniqueID in_eventID,                                      
00200                 AkGameObjectID in_gameObjectID,                             
00201                 AkTimeMs in_iPosition,                                      
00202                 bool in_bSeekToNearestMarker = false,                       
00203                 AkPlayingID in_PlayingID = AK_INVALID_PLAYING_ID            
00204                 ) = 0;
00205 
00210             virtual bool SeekOnEvent(
00211                 AkUniqueID in_eventID,                                      
00212                 AkGameObjectID in_gameObjectID,                             
00213                 AkReal32 in_fPercent,                                       
00214                 bool in_bSeekToNearestMarker = false,                       
00215                 AkPlayingID in_PlayingID = AK_INVALID_PLAYING_ID            
00216                 ) = 0;
00217 
00228             virtual bool SetPlayBackMode( 
00229                 bool in_bPlayback           
00230                 ) const = 0;
00231 
00234             virtual bool GetCurrentState(
00235                 AkStateGroupID in_stateGroupID,     
00236                 IState** out_ppCurrentState         
00237                 ) const = 0;
00238 
00241             virtual bool GetCurrentState(
00242                 LPCWSTR  in_szStateGroupName,       
00243                 IState** out_ppCurrentState         
00244                 ) const = 0;
00245 
00251             virtual bool SetCurrentState(
00252                 AkStateGroupID in_stateGroupID, 
00253                 AkStateID in_currentStateID     
00254                 ) = 0;
00255 
00261             virtual bool SetCurrentState(
00262                 LPCWSTR in_szStateGroupName,    
00263                 LPCWSTR in_szCurrentStateName   
00264                 ) = 0;
00265 
00268             virtual bool GetCurrentSwitch(
00269                 AkSwitchGroupID in_switchGroupID,                                   
00270                 ISwitch** out_ppCurrentSwitch,                                      
00271                 AkGameObjectID in_gameObjectID = IGameObject::s_WwiseGameObject     
00272                 ) const = 0;    
00273 
00276             virtual bool GetCurrentSwitch(
00277                 LPCWSTR in_szSwitchGroupName,                                       
00278                 ISwitch** out_ppCurrentSwitch,                                      
00279                 AkGameObjectID in_gameObjectID = IGameObject::s_WwiseGameObject     
00280                 ) const = 0;
00281 
00287             virtual bool SetCurrentSwitch(
00288                 AkSwitchGroupID in_switchGroupID,                                   
00289                 AkSwitchStateID in_currentSwitchID,                                 
00290                 AkGameObjectID in_gameObjectID = IGameObject::s_WwiseGameObject     
00291                 ) = 0;
00292 
00298             virtual bool SetCurrentSwitch(
00299                 LPCWSTR in_szSwitchGroupName,                                       
00300                 LPCWSTR in_szCurrentSwitchName,                                     
00301                 AkGameObjectID in_gameObjectID = IGameObject::s_WwiseGameObject     
00302                 ) = 0;
00303 
00312             virtual bool RegisterGameObject(
00313                 AkGameObjectID in_gameObjectID,             
00314                 LPCWSTR in_szGameObjectName = L""       
00315                 ) = 0;
00316 
00325             virtual bool UnregisterGameObject(
00326                 AkGameObjectID in_gameObjectID              
00327                 ) = 0;
00328 
00334             virtual bool SetRTPCValue(
00335                 AkRtpcID in_gameParameterID,                                        
00336                 AkRtpcValue in_value,                                               
00337                 AkGameObjectID in_gameObjectID = IGameObject::s_WwiseGameObject     
00338                 ) = 0;
00339 
00346             virtual bool SetRTPCValue(
00347                 LPCWSTR in_szGameParameterName,                                     
00348                 AkRtpcValue in_value,                                               
00349                 AkGameObjectID in_gameObjectID = IGameObject::s_WwiseGameObject     
00350                 ) = 0;
00351 
00358             virtual bool ResetRTPCValue(
00359                 AkRtpcID in_gameParameterID,                                        
00360                 AkGameObjectID in_gameObjectID = IGameObject::s_WwiseGameObject     
00361                 ) = 0;
00362 
00369             virtual bool ResetRTPCValue(
00370                 LPCWSTR in_szGameParameterName,                                     
00371                 AkGameObjectID in_gameObjectID = IGameObject::s_WwiseGameObject     
00372                 ) = 0;
00373 
00379             virtual bool PostTrigger(
00380                 AkTriggerID in_triggerID,                                           
00381                 AkGameObjectID in_gameObjectID = IGameObject::s_WwiseGameObject     
00382                 ) = 0;
00383 
00389             virtual bool PostTrigger(
00390                 LPCWSTR in_szTriggerName,                                           
00391                 AkGameObjectID in_gameObjectID = IGameObject::s_WwiseGameObject     
00392                 ) = 0;
00393 
00399             virtual bool SetActiveListeners( 
00400                 AkGameObjectID in_gameObjectID, 
00401                 AkUInt32 in_uiListenerMask      
00402                 ) = 0;
00403 
00410             virtual bool SetAttenuationScalingFactor(
00411                 AkGameObjectID in_GameObjectID,             
00412                 AkReal32 in_fAttenuationScalingFactor       
00413                 ) = 0;
00414 
00420             virtual bool SetPosition( 
00421                 AkGameObjectID in_gameObjectID,             
00422                 const AkSoundPosition& in_rPosition         
00423                 ) = 0;
00424 
00430             virtual bool SetListenerPosition( 
00431                 const AkListenerPosition& in_rPosition, 
00432                 AkUInt32 in_uiIndex = 0                 
00433                 ) = 0;
00434             
00441             virtual bool SetMultiplePositions( 
00442                 AkGameObjectID in_GameObjectID,                     
00443                 const AkSoundPosition * in_pPositions,              
00444                 AkUInt16 in_NumPositions,                           
00445                 AK::SoundEngine::MultiPositionType in_eMultiPositionType = AK::SoundEngine::MultiPositionType_MultiDirections 
00446                 ) = 0;
00447 
00453             virtual bool SetListenerScalingFactor(
00454                 AkUInt32 in_uiIndex,                    
00455                 AkReal32 in_fAttenuationScalingFactor   
00456                 ) = 0;
00457             
00464             virtual bool SetListenerSpatialization( 
00465                 AkUInt32 in_uiIndex,                        
00466                 bool in_bSpatialized,                       
00467                 AkChannelConfig in_channelConfig,           
00468                 AkReal32 * in_pVolumeOffsets = NULL         
00469                 ) = 0;
00470 
00478             virtual bool SetGameObjectAuxSendValues( 
00479                 AkGameObjectID in_gameObjectID,             
00480                 AkAuxSendValue* in_aAuxSendValues,          
00481 
00482 
00483                 AkUInt32 in_uNumSendValues                  
00484 
00485                 ) = 0;
00486 
00494             virtual bool SetGameObjectOutputBusVolume( 
00495                 AkGameObjectID in_gameObjectID,         
00496                 AkReal32 in_fControlValue               
00497 
00498                 ) = 0;
00499 
00506             virtual bool SetObjectObstructionAndOcclusion( 
00507                 AkGameObjectID in_ObjectID,         
00508                 AkUInt32 in_uListener,              
00509                 AkReal32 in_fObstructionLevel,      
00510                 AkReal32 in_fOcclusionLevel         
00511                 ) = 0;
00512 
00519             virtual bool PostMsgMonitor( 
00520                 LPCWSTR in_pszMessage   
00521 
00522                 ) = 0;
00523 
00526             virtual bool StopAll( 
00527                 AkGameObjectID in_GameObjID = AK_INVALID_GAME_OBJECT 
00528                 ) = 0;
00529 
00533             virtual bool StopPlayingID( 
00534                 AkPlayingID in_playingID, 
00535                 AkTimeMs in_uTransitionDuration = 0,                                
00536                 AkCurveInterpolation in_eFadeCurve = AkCurveInterpolation_Linear    
00537                 ) = 0;
00538 
00540 
00543 
00544 
00547 
00548 
00551             virtual bool GetEventList( 
00552                 IEventList ** out_ppEventList   
00553                 ) const = 0;
00554 
00557             virtual bool GetEvent( 
00558                 AkUniqueID in_eventID,      
00559                 IEvent ** out_ppEvent       
00560                 ) const = 0;
00561 
00564             virtual bool GetEvent( 
00565                 LPCWSTR in_pszEvent,        
00566                 IEvent ** out_ppEvent       
00567                 ) const = 0;
00568 
00571             virtual bool GetEvents( 
00572                 const AkUniqueID * in_pEvents,  
00573                 long in_cEvents,                
00574                 IEventList ** out_ppEventList   
00575                 ) const = 0;
00576 
00579             virtual bool GetEvents( 
00580                 LPCWSTR * in_pszEvents,         
00581                 long in_cEvents,                
00582                 IEventList ** out_ppEventList   
00583                 ) const = 0;
00584 
00586 
00589 
00590 
00593             virtual bool GetDialogueEventList( 
00594                 IDialogueEventList ** out_ppDialogueEventList   
00595                 ) const = 0;
00596 
00599             virtual bool GetDialogueEvent( 
00600                 AkUniqueID in_dialogueEventID,          
00601                 IDialogueEvent ** out_ppDialogueEvent   
00602                 ) const = 0;
00603 
00606             virtual bool GetDialogueEvent( 
00607                 LPCWSTR in_pszDialogueEvent,            
00608                 IDialogueEvent ** out_ppDialogueEvent   
00609                 ) const = 0;
00610 
00613             virtual bool GetDialogueEvents( 
00614                 const AkUniqueID * in_pDialogueEvents,          
00615                 long in_cDialogueEvents,                        
00616                 IDialogueEventList ** out_ppDialogueEventList   
00617                 ) const = 0;
00618 
00621             virtual bool GetDialogueEvents( 
00622                 LPCWSTR * in_pszDialogueEvents,                 
00623                 long in_cDialogueEvents,                        
00624                 IDialogueEventList ** out_ppDialogueEventList   
00625                 ) const = 0;
00626 
00628 
00631 
00632 
00635             virtual bool GetSoundObject( 
00636                 AkUniqueID in_soundObjectID,        
00637                 ISoundObject ** out_ppSoundObject   
00638                 ) const = 0;
00639 
00642             virtual bool GetSoundObjects( 
00643                 const AkUniqueID * in_pSoundObjects,        
00644                 long in_cSoundObjects,                      
00645                 ISoundObjectList ** out_ppSoundObjectList   
00646                 ) const = 0;
00647 
00649 
00652 
00653 
00656             virtual bool GetStateGroupList( 
00657                 IStateGroupList ** out_ppStateGroupList 
00658                 ) const = 0;
00659 
00662             virtual bool GetStateGroup( 
00663                 AkUniqueID in_stateGroupID,     
00664                 IStateGroup ** out_ppStateGroup 
00665                 ) const = 0;
00666 
00669             virtual bool GetStateGroup( 
00670                 LPCWSTR in_pszStateGroup,               
00671                 IStateGroup ** out_ppStateGroup         
00672                 ) const = 0;
00673 
00676             virtual bool GetStateGroups( 
00677                 const AkUniqueID * in_pStateGroups,     
00678                 long in_cStateGroups,                   
00679                 IStateGroupList ** out_ppStateGroupList 
00680                 ) const = 0;
00681 
00684             virtual bool GetStateGroups( 
00685                 LPCWSTR * in_pszStateGroups,                
00686                 long in_cStateGroups,                       
00687                 IStateGroupList ** out_ppStateGroupList     
00688                 ) const = 0;
00689 
00691 
00694 
00695 
00698             virtual bool GetSwitchGroupList( 
00699                 ISwitchGroupList ** out_ppSwitchGroupList   
00700                 ) const = 0;
00701 
00704             virtual bool GetSwitchGroup( 
00705                 AkUniqueID in_switchGroupID,        
00706                 ISwitchGroup ** out_ppSwitchGroup   
00707                 ) const = 0;
00708 
00711             virtual bool GetSwitchGroup( 
00712                 LPCWSTR in_pszSwitchGroup,          
00713                 ISwitchGroup ** out_ppSwitchGroup   
00714                 ) const = 0;
00715 
00718             virtual bool GetSwitchGroups( 
00719                 const AkUniqueID * in_pSwitchGroups,        
00720                 long in_cSwitchGroups,                      
00721                 ISwitchGroupList ** out_ppSwitchGroupList   
00722                 ) const = 0;
00723 
00726             virtual bool GetSwitchGroups( 
00727                 LPCWSTR * in_pszSwitchGroups,               
00728                 long in_cSwitchGroups,                      
00729                 ISwitchGroupList ** out_ppSwitchGroupList   
00730                 ) const = 0;
00731 
00733 
00740 
00741 
00744             virtual bool GetGameParameterList( 
00745                 IGameParameterList ** out_ppGameParameterList   
00746                 ) const = 0;
00747 
00750             virtual bool GetGameParameter( 
00751                 AkUniqueID in_gameParameterID,          
00752                 IGameParameter ** out_ppGameParameter   
00753                 ) const = 0;
00754 
00757             virtual bool GetGameParameter( 
00758                 LPCWSTR in_pszGameParameter,            
00759                 IGameParameter ** out_ppGameParameter   
00760                 ) const = 0;
00761 
00764             virtual bool GetGameParameters( 
00765                 const AkUniqueID * in_pGameParameters,          
00766                 long in_cGameParameters,                        
00767                 IGameParameterList ** out_ppGameParameterList   
00768                 ) const = 0;
00769 
00772             virtual bool GetGameParameters( 
00773                 LPCWSTR * in_pszGameParameters,                 
00774                 long in_cGameParameters,                        
00775                 IGameParameterList ** out_ppGameParameterList   
00776                 ) const = 0;
00777 
00779 
00782             virtual bool GetConversionSettingsList( 
00783                 IConversionSettingsList ** out_ppConversionSettingsList 
00784                 ) const = 0;
00785 
00788 
00789 
00792             virtual bool GetTriggerList( 
00793                 ITriggerList ** out_ppTriggerList   
00794                 ) const = 0;
00795 
00798             virtual bool GetTrigger( 
00799                 AkUniqueID in_triggerID,    
00800                 ITrigger ** out_ppTrigger   
00801                 ) const = 0;
00802 
00805             virtual bool GetTrigger( 
00806                 LPCWSTR in_pszTrigger,      
00807                 ITrigger ** out_ppTrigger   
00808                 ) const = 0;
00809 
00812             virtual bool GetTriggers( 
00813                 const AkUniqueID * in_pTriggers,    
00814                 long in_cTriggers,                  
00815                 ITriggerList ** out_ppTriggerList   
00816                 ) const = 0;
00817 
00820             virtual bool GetTriggers( 
00821                 LPCWSTR * in_pszTriggers,           
00822                 long in_cTriggers,                  
00823                 ITriggerList ** out_ppTriggerList   
00824                 ) const = 0;
00825 
00827 
00836 
00837 
00840             virtual bool GetArgument( 
00841                 AkUniqueID in_ArgumentID,           
00842                 IArgument ** out_ppArgument         
00843                 ) const = 0;
00844 
00847             virtual bool GetArguments( 
00848                 const AkUniqueID * in_pArguments,       
00849                 long in_cArguments,                     
00850                 IArgumentList ** out_ppArgumentList     
00851                 ) const = 0;
00852 
00854 
00857 
00858 
00861             virtual bool GetAuxBusList( 
00862                 IAuxBusList ** out_ppAuxBusList 
00863                 ) const = 0;
00864 
00867             virtual bool GetAuxBus( 
00868                 AkUniqueID in_AuxBusID, 
00869                 IAuxBus ** out_ppAuxBus 
00870                 ) const = 0;
00871 
00874             virtual bool GetAuxBus( 
00875                 LPCWSTR in_pszAuxBus,   
00876                 IAuxBus ** out_ppAuxBus 
00877                 ) const = 0;
00878 
00881             virtual bool GetAuxBus( 
00882                 const AkUniqueID * in_pAuxBus,  
00883                 long in_cAuxBus,                
00884                 IAuxBusList ** out_ppAuxBusList 
00885                 ) const = 0;
00886 
00889             virtual bool GetAuxBus( 
00890                 LPCWSTR * in_pszAuxBus,         
00891                 long in_cAuxBus,                
00892                 IAuxBusList ** out_ppAuxBusList 
00893                 ) const = 0;
00894 
00896 
00899 
00900 
00903             virtual bool GetSoundBank( 
00904                 AkUniqueID in_SoundBankID,          
00905                 ISoundBank ** out_ppArgument            
00906                 ) const = 0;
00907 
00910             virtual bool GetSoundBankList( 
00911                 ISoundBankList ** out_ppSoundBankList   
00912                 ) const = 0;
00913 
00915 
00918 
00919 
00930             virtual bool GetGameObjectList( 
00931                 IGameObjectList ** out_ppGameObjectList 
00932                 ) const = 0;
00933 
00935 
00938 
00939 
00942             virtual bool GetEventOriginalFileList( 
00943                 LPCWSTR  in_pszEvent,                       
00944                 IOriginalFileList ** out_ppOriginalFileList 
00945                 ) const = 0;
00946 
00949             virtual bool GetDialogueEventOriginalFileList( 
00950                 LPCWSTR  in_pszDialogueEvent,               
00951                 IOriginalFileList ** out_ppOriginalFileList 
00952                 ) const = 0;
00953 
00955 
00958 
00959 
00963             virtual bool EventHasVoiceContent( 
00964                 LPCWSTR  in_pszEvent            
00965                 ) const = 0;
00966 
00970             virtual bool DialogueEventHasVoiceContent( 
00971                 LPCWSTR  in_pszDialogueEvent    
00972                 ) const = 0;
00973 
00975 
00977 
00980 
00981 
00985             virtual bool ListenAttenuation( 
00986                 const AkUniqueID * in_pSoundObjects,    
00987                 long in_cSoundObjects                   
00988                 ) = 0;
00989 
00991 
00994 
00995 
00997             enum DnDType
00998             {
00999                 TypeUnknown = 0,        
01000                 TypeEvent = 1,          
01001                 TypeStates = 2,         
01002                 TypeSwitches = 3,       
01003                 TypeGameParameters = 4, 
01004                 TypeTriggers = 5,       
01005                 TypeAuxBus = 6,         
01006                 TypeDialogueEvent = 7,  
01007                 TypeSoundBank = 8       
01008             };
01009 
01012             virtual DnDType GetDnDType(
01013                 IDataObject * in_pDataObject    
01014                 ) = 0;
01015 
01018             virtual bool ProcessEventDnD( 
01019                 IDataObject * in_pDataObject,   
01020                 IEventList ** out_ppEventList   
01021                 ) = 0;
01022 
01025             virtual bool ProcessStateGroupDnD( 
01026                 IDataObject * in_pDataObject,           
01027                 IStateGroupList ** out_ppStateGroupList 
01028                 ) = 0;
01029 
01032             virtual bool ProcessSwitchGroupDnD( 
01033                 IDataObject * in_pDataObject,               
01034                 ISwitchGroupList ** out_ppSwitchGroupList   
01035                 ) = 0;
01036 
01039             virtual bool ProcessGameParameterDnD( 
01040                 IDataObject * in_pDataObject,                   
01041                 IGameParameterList ** out_ppGameParameterList   
01042                 ) = 0;
01043 
01046             virtual bool ProcessTriggerDnD( 
01047                 IDataObject * in_pDataObject,       
01048                 ITriggerList ** out_ppTriggerList   
01049                 ) = 0;
01050 
01053             virtual bool ProcessAuxBusDnD( 
01054                 IDataObject * in_pDataObject,               
01055                 IAuxBusList ** out_ppAuxBusList 
01056                 ) = 0;
01057 
01060             virtual bool ProcessDialogueEventDnD( 
01061                 IDataObject * in_pDataObject,                   
01062                 IDialogueEventList ** out_ppDialogueEventList   
01063                 ) = 0;
01064 
01067             virtual bool ProcessSoundBankDnD( 
01068                 IDataObject * in_pDataObject,                   
01069                 ISoundBankList ** out_ppSoundBankList           
01070                 ) = 0;
01071 
01073 
01076 
01077 
01082             virtual bool ProcessDefinitionFiles( 
01083                 LPCWSTR * in_pszPaths,  
01084                 long in_cFiles          
01085                 ) = 0;
01086 
01091             virtual bool GetSoundBankGenerationSettings(
01092                 bool in_bUser,                              
01093                 SoundBankGenerationSettings & out_settings  
01094                 ) = 0;
01095 
01100             virtual bool GenerateSoundBanks( 
01101                 LPCWSTR * in_pszBanks,                              
01102                 long in_cBanks,                                     
01103                 LPCWSTR * in_pszPlatforms,                          
01104                 long in_cPlatforms,                                 
01105                 LPCWSTR * in_pszLanguages,                          
01106                 long in_cLanguages,                                 
01107                 SoundBankGenerationSettings * in_pSettings = NULL   
01108                 ) = 0;
01109 
01111 
01116             virtual bool ConvertExternalSources( 
01117                 LPCWSTR * in_pszPlatforms,          
01118                 long in_cPlatforms,                 
01119                 LPCWSTR * in_pszFileSourcesInput,   
01120                 long in_cFileSourcesInput,          
01121                 LPCWSTR * in_pszFileSourcesOutput,  
01122                 long in_cFileSourcesOutput          
01123                 ) = 0;
01124 
01126             enum ShowLocation
01127             {
01128                 ShowLocation_Editor = 1,                    
01129                 ShowLocation_MultiEditor,                   
01130                 ShowLocation_ListView,                      
01131                 ShowLocation_ReferenceView,                 
01132                 ShowLocation_SchematicView,                 
01133                 ShowLocation_ProjectExplorer0,              
01134                 ShowLocation_ProjectExplorer1,              
01135                 ShowLocation_ProjectExplorer2,              
01136                 ShowLocation_ProjectExplorer3,              
01137                 ShowLocation_ProjectExplorer4,              
01138                 ShowLocation_Transport                      
01139             };
01140 
01143             virtual bool ShowWwiseObject(
01144                 const GUID* in_pGuids,                      
01145                 long in_cGuids,                             
01146                 ShowLocation in_eLocation                   
01147                 ) = 0;
01148 
01150 
01153 
01154 
01160             virtual bool GetAkUniqueID(
01161                 const GUID& in_guid,                    
01162                 AkUniqueID& out_uniqueID                
01163                 ) const = 0;
01164 
01167             virtual bool GetWwiseObjectPath( 
01168                 const AK::SoundFrame::ISFObject* in_pObject,    
01169                 const AK::SoundFrame::ISFObject* in_pParent,    
01170                 LPWSTR out_szBuffer,                            
01171                 long in_lLength                                 
01172                 ) const = 0;                    
01173 
01175         };
01176 
01180         class IClient
01181         {
01182         public:
01184             enum Notif
01185             {
01186                 Notif_Added,    
01187                 Notif_Removed,  
01188                 Notif_Changed,  
01189                 Notif_Reset,    
01190                 Notif_Push      
01191             };
01192 
01194             virtual void OnConnect( 
01195                 bool in_bConnect        
01196                 ) = 0;
01197 
01199             virtual void OnEventNotif( 
01200                 Notif in_eNotif,            
01201                 AkUniqueID in_eventID       
01202                 ) = 0;
01203 
01208             virtual void OnDialogueEventNotif( 
01209                 Notif in_eNotif,                    
01210                 AkUniqueID in_dialogueEventID       
01211                 ) = 0;
01212 
01214             virtual void OnSoundObjectNotif( 
01215                 Notif in_eNotif,                    
01216                 AkUniqueID in_soundObjectID         
01217                 ) = 0;
01218 
01224             virtual void OnStatesNotif( 
01225                 Notif in_eNotif,            
01226                 AkUniqueID in_stateGroupID  
01227                 ) = 0;
01228 
01237             virtual void OnSwitchesNotif( 
01238                 Notif in_eNotif,            
01239                 AkUniqueID in_switchGroupID 
01240                 ) = 0;
01241 
01243             virtual void OnGameParametersNotif( 
01244                 Notif in_eNotif,                
01245                 AkUniqueID in_gameParameterID   
01246                 ) = 0;
01247 
01249             virtual void OnTriggersNotif( 
01250                 Notif in_eNotif,            
01251                 AkUniqueID in_triggerID     
01252                 ) = 0;
01253 
01259             virtual void OnArgumentsNotif( 
01260                 Notif in_eNotif,            
01261                 AkUniqueID in_argumentID    
01262                 ) = 0;
01263 
01265             virtual void OnAuxBusNotif( 
01266                 Notif in_eNotif,            
01267                 AkUniqueID in_AuxBusID      
01268                 ) = 0;
01269 
01271             virtual void OnSoundBankNotif( 
01272                 Notif in_eNotif,            
01273                 AkUniqueID in_AuxBusID      
01274                 ) = 0;
01275 
01284             virtual void OnGameObjectsNotif( 
01285                 Notif in_eNotif,                
01286                 AkGameObjectID in_gameObjectID      
01287                 ) = 0;          
01288         };
01289 
01292         bool Create( 
01293             IClient * in_pClient,               
01294             ISoundFrame ** out_ppSoundFrame     
01295             );
01296     }
01297 }
01298 
01299 #endif // _AK_SOUNDFRAME_SF_H

此页面对您是否有帮助?

需要技术支持?

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

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

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

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

开始 Wwise 之旅