Table des matières

include/AK/SoundFrame/SF.h

Go to the documentation of this file.
00001 
00002 //
00003 // Copyright (c) 2006 Audiokinetic Inc. / All Rights Reserved
00004 //
00006 
00010 
00011 #ifndef _AK_SOUNDFRAME_SF_H
00012 #define _AK_SOUNDFRAME_SF_H
00013 
00014 #include <wtypes.h>
00015 
00016 #include "SFObjects.h"
00017 #include <AK/SoundEngine/Common/AkTypes.h>
00018 #include <AK/SoundEngine/Common/AkSoundEngine.h>
00019 
00020 struct IDataObject; // OLE data object interface
00021 
00025 #define MAX_MONITORING_MSG_SIZE     256
00026 
00027 namespace AK
00028 {
00030     namespace SoundFrame
00031     {
00036         class ISoundFrame : public ISFRefCount
00037         {
00038         public:
00045             virtual bool Connect( 
00046                 DWORD in_dwProcessID = 0    
00047                 ) = 0;
00048 
00051             virtual bool IsConnected() const = 0;
00052 
00055 
00056 
00057 
00066             virtual const WCHAR * GetCurrentProjectName() const = 0;
00067 
00076             virtual GUID GetCurrentProjectID() const = 0;
00077 
00086             virtual const WCHAR * GetCurrentProjectOriginalRoot() const = 0;
00087 
00089 
00092 
00093 
00107             virtual bool PlayEvents( 
00108                 const AkUniqueID * in_pEvents,                                      
00109                 long in_cEvents,                                                    
00110                 AkGameObjectID in_gameObjectID = IGameObject::s_WwiseGameObject     
00111                 ) = 0;
00112 
00126             virtual bool PlayEvents( 
00127                 LPCWSTR * in_pszEvents,                                             
00128                 long in_cEvents,                                                    
00129                 AkGameObjectID in_gameObjectID = IGameObject::s_WwiseGameObject     
00130                 ) = 0;
00131 
00137             virtual bool ExecuteActionOnEvent(
00138                 AkUniqueID in_eventID,                                              
00139                 AK::SoundEngine::AkActionOnEventType in_ActionType,                 
00140                 AkGameObjectID in_gameObjectID = AK_INVALID_GAME_OBJECT,            
00141                 AkTimeMs in_uTransitionDuration = 0,                                
00142                 AkCurveInterpolation in_eFadeCurve = AkCurveInterpolation_Linear    
00143                 ) = 0;
00144 
00149             virtual bool SeekOnEvent(
00150                 AkUniqueID in_eventID,                                      
00151                 AkGameObjectID in_gameObjectID,                             
00152                 AkTimeMs in_iPosition,                                      
00153                 bool in_bSeekToNearestMarker = false,                       
00154                 AkPlayingID in_PlayingID = AK_INVALID_PLAYING_ID            
00155                 ) = 0;
00156 
00161             virtual bool SeekOnEvent(
00162                 AkUniqueID in_eventID,                                      
00163                 AkGameObjectID in_gameObjectID,                             
00164                 AkReal32 in_fPercent,                                       
00165                 bool in_bSeekToNearestMarker = false,                       
00166                 AkPlayingID in_PlayingID = AK_INVALID_PLAYING_ID            
00167                 ) = 0;
00168 
00179             virtual bool SetPlayBackMode( 
00180                 bool in_bPlayback           
00181                 ) const = 0;
00182 
00185             virtual bool GetCurrentState(
00186                 AkStateGroupID in_stateGroupID,     
00187                 IState** out_ppCurrentState         
00188                 ) const = 0;
00189 
00192             virtual bool GetCurrentState(
00193                 LPCWSTR  in_szStateGroupName,       
00194                 IState** out_ppCurrentState         
00195                 ) const = 0;
00196 
00202             virtual bool SetCurrentState(
00203                 AkStateGroupID in_stateGroupID, 
00204                 AkStateID in_currentStateID     
00205                 ) = 0;
00206 
00212             virtual bool SetCurrentState(
00213                 LPCWSTR in_szStateGroupName,    
00214                 LPCWSTR in_szCurrentStateName   
00215                 ) = 0;
00216 
00219             virtual bool GetCurrentSwitch(
00220                 AkSwitchGroupID in_switchGroupID,                                   
00221                 ISwitch** out_ppCurrentSwitch,                                      
00222                 AkGameObjectID in_gameObjectID = IGameObject::s_WwiseGameObject     
00223                 ) const = 0;    
00224 
00227             virtual bool GetCurrentSwitch(
00228                 LPCWSTR in_szSwitchGroupName,                                       
00229                 ISwitch** out_ppCurrentSwitch,                                      
00230                 AkGameObjectID in_gameObjectID = IGameObject::s_WwiseGameObject     
00231                 ) const = 0;
00232 
00238             virtual bool SetCurrentSwitch(
00239                 AkSwitchGroupID in_switchGroupID,                                   
00240                 AkSwitchStateID in_currentSwitchID,                                 
00241                 AkGameObjectID in_gameObjectID = IGameObject::s_WwiseGameObject     
00242                 ) = 0;
00243 
00249             virtual bool SetCurrentSwitch(
00250                 LPCWSTR in_szSwitchGroupName,                                       
00251                 LPCWSTR in_szCurrentSwitchName,                                     
00252                 AkGameObjectID in_gameObjectID = IGameObject::s_WwiseGameObject     
00253                 ) = 0;
00254 
00263             virtual bool RegisterGameObject(
00264                 AkGameObjectID in_gameObjectID,             
00265                 LPCWSTR in_szGameObjectName = L""       
00266                 ) = 0;
00267 
00276             virtual bool UnregisterGameObject(
00277                 AkGameObjectID in_gameObjectID              
00278                 ) = 0;
00279 
00285             virtual bool SetRTPCValue(
00286                 AkRtpcID in_gameParameterID,                                        
00287                 AkRtpcValue in_value,                                               
00288                 AkGameObjectID in_gameObjectID = IGameObject::s_WwiseGameObject     
00289                 ) = 0;
00290 
00297             virtual bool SetRTPCValue(
00298                 LPCWSTR in_szGameParameterName,                                     
00299                 AkRtpcValue in_value,                                               
00300                 AkGameObjectID in_gameObjectID = IGameObject::s_WwiseGameObject     
00301                 ) = 0;
00302 
00309             virtual bool ResetRTPCValue(
00310                 AkRtpcID in_gameParameterID,                                        
00311                 AkGameObjectID in_gameObjectID = IGameObject::s_WwiseGameObject     
00312                 ) = 0;
00313 
00320             virtual bool ResetRTPCValue(
00321                 LPCWSTR in_szGameParameterName,                                     
00322                 AkGameObjectID in_gameObjectID = IGameObject::s_WwiseGameObject     
00323                 ) = 0;
00324 
00330             virtual bool PostTrigger(
00331                 AkTriggerID in_triggerID,                                           
00332                 AkGameObjectID in_gameObjectID = IGameObject::s_WwiseGameObject     
00333                 ) = 0;
00334 
00340             virtual bool PostTrigger(
00341                 LPCWSTR in_szTriggerName,                                           
00342                 AkGameObjectID in_gameObjectID = IGameObject::s_WwiseGameObject     
00343                 ) = 0;
00344 
00350             virtual bool SetActiveListeners( 
00351                 AkGameObjectID in_gameObjectID, 
00352                 AkUInt32 in_uiListenerMask      
00353                 ) = 0;
00354 
00361             virtual bool SetAttenuationScalingFactor(
00362                 AkGameObjectID in_GameObjectID,             
00363                 AkReal32 in_fAttenuationScalingFactor       
00364                 ) = 0;
00365 
00371             virtual bool SetPosition( 
00372                 AkGameObjectID in_gameObjectID,             
00373                 const AkSoundPosition& in_rPosition         
00374                 ) = 0;
00375 
00381             virtual bool SetListenerPosition( 
00382                 const AkListenerPosition& in_rPosition, 
00383                 AkUInt32 in_uiIndex = 0                 
00384                 ) = 0;
00385             
00392             virtual bool SetMultiplePositions( 
00393                 AkGameObjectID in_GameObjectID,                     
00394                 const AkSoundPosition * in_pPositions,              
00395                 AkUInt16 in_NumPositions,                           
00396                 AK::SoundEngine::MultiPositionType in_eMultiPositionType = AK::SoundEngine::MultiPositionType_MultiDirections 
00397                 ) = 0;
00398 
00404             virtual bool SetListenerScalingFactor(
00405                 AkUInt32 in_uiIndex,                    
00406                 AkReal32 in_fAttenuationScalingFactor   
00407                 ) = 0;
00408             
00415             virtual bool SetListenerSpatialization( 
00416                 AkUInt32 in_uiIndex,                        
00417                 bool in_bSpatialized,                       
00418                 AkChannelConfig in_channelConfig,           
00419                 AkReal32 * in_pVolumeOffsets = NULL         
00420                 ) = 0;
00421 
00429             virtual bool SetGameObjectAuxSendValues( 
00430                 AkGameObjectID in_gameObjectID,             
00431                 AkAuxSendValue* in_aAuxSendValues,          
00432 
00433 
00434                 AkUInt32 in_uNumSendValues                  
00435 
00436                 ) = 0;
00437 
00445             virtual bool SetGameObjectOutputBusVolume( 
00446                 AkGameObjectID in_gameObjectID,         
00447                 AkReal32 in_fControlValue               
00448 
00449                 ) = 0;
00450 
00457             virtual bool SetObjectObstructionAndOcclusion( 
00458                 AkGameObjectID in_ObjectID,         
00459                 AkUInt32 in_uListener,              
00460                 AkReal32 in_fObstructionLevel,      
00461                 AkReal32 in_fOcclusionLevel         
00462                 ) = 0;
00463 
00470             virtual bool PostMsgMonitor( 
00471                 LPCWSTR in_pszMessage   
00472 
00473                 ) = 0;
00474 
00477             virtual bool StopAll( 
00478                 AkGameObjectID in_GameObjID = AK_INVALID_GAME_OBJECT 
00479                 ) = 0;
00480 
00484             virtual bool StopPlayingID( 
00485                 AkPlayingID in_playingID, 
00486                 AkTimeMs in_uTransitionDuration = 0,                                
00487                 AkCurveInterpolation in_eFadeCurve = AkCurveInterpolation_Linear    
00488                 ) = 0;
00489 
00491 
00494 
00495 
00498 
00499 
00502             virtual bool GetEventList( 
00503                 IEventList ** out_ppEventList   
00504                 ) const = 0;
00505 
00508             virtual bool GetEvent( 
00509                 AkUniqueID in_eventID,      
00510                 IEvent ** out_ppEvent       
00511                 ) const = 0;
00512 
00515             virtual bool GetEvent( 
00516                 LPCWSTR in_pszEvent,        
00517                 IEvent ** out_ppEvent       
00518                 ) const = 0;
00519 
00522             virtual bool GetEvents( 
00523                 const AkUniqueID * in_pEvents,  
00524                 long in_cEvents,                
00525                 IEventList ** out_ppEventList   
00526                 ) const = 0;
00527 
00530             virtual bool GetEvents( 
00531                 LPCWSTR * in_pszEvents,         
00532                 long in_cEvents,                
00533                 IEventList ** out_ppEventList   
00534                 ) const = 0;
00535 
00537 
00540 
00541 
00544             virtual bool GetDialogueEventList( 
00545                 IDialogueEventList ** out_ppDialogueEventList   
00546                 ) const = 0;
00547 
00550             virtual bool GetDialogueEvent( 
00551                 AkUniqueID in_dialogueEventID,          
00552                 IDialogueEvent ** out_ppDialogueEvent   
00553                 ) const = 0;
00554 
00557             virtual bool GetDialogueEvent( 
00558                 LPCWSTR in_pszDialogueEvent,            
00559                 IDialogueEvent ** out_ppDialogueEvent   
00560                 ) const = 0;
00561 
00564             virtual bool GetDialogueEvents( 
00565                 const AkUniqueID * in_pDialogueEvents,          
00566                 long in_cDialogueEvents,                        
00567                 IDialogueEventList ** out_ppDialogueEventList   
00568                 ) const = 0;
00569 
00572             virtual bool GetDialogueEvents( 
00573                 LPCWSTR * in_pszDialogueEvents,                 
00574                 long in_cDialogueEvents,                        
00575                 IDialogueEventList ** out_ppDialogueEventList   
00576                 ) const = 0;
00577 
00579 
00582 
00583 
00586             virtual bool GetSoundObject( 
00587                 AkUniqueID in_soundObjectID,        
00588                 ISoundObject ** out_ppSoundObject   
00589                 ) const = 0;
00590 
00593             virtual bool GetSoundObjects( 
00594                 const AkUniqueID * in_pSoundObjects,        
00595                 long in_cSoundObjects,                      
00596                 ISoundObjectList ** out_ppSoundObjectList   
00597                 ) const = 0;
00598 
00600 
00603 
00604 
00607             virtual bool GetStateGroupList( 
00608                 IStateGroupList ** out_ppStateGroupList 
00609                 ) const = 0;
00610 
00613             virtual bool GetStateGroup( 
00614                 AkUniqueID in_stateGroupID,     
00615                 IStateGroup ** out_ppStateGroup 
00616                 ) const = 0;
00617 
00620             virtual bool GetStateGroup( 
00621                 LPCWSTR in_pszStateGroup,               
00622                 IStateGroup ** out_ppStateGroup         
00623                 ) const = 0;
00624 
00627             virtual bool GetStateGroups( 
00628                 const AkUniqueID * in_pStateGroups,     
00629                 long in_cStateGroups,                   
00630                 IStateGroupList ** out_ppStateGroupList 
00631                 ) const = 0;
00632 
00635             virtual bool GetStateGroups( 
00636                 LPCWSTR * in_pszStateGroups,                
00637                 long in_cStateGroups,                       
00638                 IStateGroupList ** out_ppStateGroupList     
00639                 ) const = 0;
00640 
00642 
00645 
00646 
00649             virtual bool GetSwitchGroupList( 
00650                 ISwitchGroupList ** out_ppSwitchGroupList   
00651                 ) const = 0;
00652 
00655             virtual bool GetSwitchGroup( 
00656                 AkUniqueID in_switchGroupID,        
00657                 ISwitchGroup ** out_ppSwitchGroup   
00658                 ) const = 0;
00659 
00662             virtual bool GetSwitchGroup( 
00663                 LPCWSTR in_pszSwitchGroup,          
00664                 ISwitchGroup ** out_ppSwitchGroup   
00665                 ) const = 0;
00666 
00669             virtual bool GetSwitchGroups( 
00670                 const AkUniqueID * in_pSwitchGroups,        
00671                 long in_cSwitchGroups,                      
00672                 ISwitchGroupList ** out_ppSwitchGroupList   
00673                 ) const = 0;
00674 
00677             virtual bool GetSwitchGroups( 
00678                 LPCWSTR * in_pszSwitchGroups,               
00679                 long in_cSwitchGroups,                      
00680                 ISwitchGroupList ** out_ppSwitchGroupList   
00681                 ) const = 0;
00682 
00684 
00691 
00692 
00695             virtual bool GetGameParameterList( 
00696                 IGameParameterList ** out_ppGameParameterList   
00697                 ) const = 0;
00698 
00701             virtual bool GetGameParameter( 
00702                 AkUniqueID in_gameParameterID,          
00703                 IGameParameter ** out_ppGameParameter   
00704                 ) const = 0;
00705 
00708             virtual bool GetGameParameter( 
00709                 LPCWSTR in_pszGameParameter,            
00710                 IGameParameter ** out_ppGameParameter   
00711                 ) const = 0;
00712 
00715             virtual bool GetGameParameters( 
00716                 const AkUniqueID * in_pGameParameters,          
00717                 long in_cGameParameters,                        
00718                 IGameParameterList ** out_ppGameParameterList   
00719                 ) const = 0;
00720 
00723             virtual bool GetGameParameters( 
00724                 LPCWSTR * in_pszGameParameters,                 
00725                 long in_cGameParameters,                        
00726                 IGameParameterList ** out_ppGameParameterList   
00727                 ) const = 0;
00728 
00730 
00733             virtual bool GetConversionSettingsList( 
00734                 IConversionSettingsList ** out_ppConversionSettingsList 
00735                 ) const = 0;
00736 
00739 
00740 
00743             virtual bool GetTriggerList( 
00744                 ITriggerList ** out_ppTriggerList   
00745                 ) const = 0;
00746 
00749             virtual bool GetTrigger( 
00750                 AkUniqueID in_triggerID,    
00751                 ITrigger ** out_ppTrigger   
00752                 ) const = 0;
00753 
00756             virtual bool GetTrigger( 
00757                 LPCWSTR in_pszTrigger,      
00758                 ITrigger ** out_ppTrigger   
00759                 ) const = 0;
00760 
00763             virtual bool GetTriggers( 
00764                 const AkUniqueID * in_pTriggers,    
00765                 long in_cTriggers,                  
00766                 ITriggerList ** out_ppTriggerList   
00767                 ) const = 0;
00768 
00771             virtual bool GetTriggers( 
00772                 LPCWSTR * in_pszTriggers,           
00773                 long in_cTriggers,                  
00774                 ITriggerList ** out_ppTriggerList   
00775                 ) const = 0;
00776 
00778 
00787 
00788 
00791             virtual bool GetArgument( 
00792                 AkUniqueID in_ArgumentID,           
00793                 IArgument ** out_ppArgument         
00794                 ) const = 0;
00795 
00798             virtual bool GetArguments( 
00799                 const AkUniqueID * in_pArguments,       
00800                 long in_cArguments,                     
00801                 IArgumentList ** out_ppArgumentList     
00802                 ) const = 0;
00803 
00805 
00808 
00809 
00812             virtual bool GetAuxBusList( 
00813                 IAuxBusList ** out_ppAuxBusList 
00814                 ) const = 0;
00815 
00818             virtual bool GetAuxBus( 
00819                 AkUniqueID in_AuxBusID, 
00820                 IAuxBus ** out_ppAuxBus 
00821                 ) const = 0;
00822 
00825             virtual bool GetAuxBus( 
00826                 LPCWSTR in_pszAuxBus,   
00827                 IAuxBus ** out_ppAuxBus 
00828                 ) const = 0;
00829 
00832             virtual bool GetAuxBus( 
00833                 const AkUniqueID * in_pAuxBus,  
00834                 long in_cAuxBus,                
00835                 IAuxBusList ** out_ppAuxBusList 
00836                 ) const = 0;
00837 
00840             virtual bool GetAuxBus( 
00841                 LPCWSTR * in_pszAuxBus,         
00842                 long in_cAuxBus,                
00843                 IAuxBusList ** out_ppAuxBusList 
00844                 ) const = 0;
00845 
00847 
00850 
00851 
00854             virtual bool GetSoundBank( 
00855                 AkUniqueID in_SoundBankID,          
00856                 ISoundBank ** out_ppArgument            
00857                 ) const = 0;
00858 
00861             virtual bool GetSoundBankList( 
00862                 ISoundBankList ** out_ppSoundBankList   
00863                 ) const = 0;
00864 
00866 
00869 
00870 
00881             virtual bool GetGameObjectList( 
00882                 IGameObjectList ** out_ppGameObjectList 
00883                 ) const = 0;
00884 
00886 
00889 
00890 
00893             virtual bool GetEventOriginalFileList( 
00894                 LPCWSTR  in_pszEvent,                       
00895                 IOriginalFileList ** out_ppOriginalFileList 
00896                 ) const = 0;
00897 
00900             virtual bool GetDialogueEventOriginalFileList( 
00901                 LPCWSTR  in_pszDialogueEvent,               
00902                 IOriginalFileList ** out_ppOriginalFileList 
00903                 ) const = 0;
00904 
00906 
00909 
00910 
00914             virtual bool EventHasVoiceContent( 
00915                 LPCWSTR  in_pszEvent            
00916                 ) const = 0;
00917 
00921             virtual bool DialogueEventHasVoiceContent( 
00922                 LPCWSTR  in_pszDialogueEvent    
00923                 ) const = 0;
00924 
00926 
00928 
00931 
00932 
00936             virtual bool ListenAttenuation( 
00937                 const AkUniqueID * in_pSoundObjects,    
00938                 long in_cSoundObjects                   
00939                 ) = 0;
00940 
00942 
00945 
00946 
00948             enum DnDType
00949             {
00950                 TypeUnknown = 0,        
00951                 TypeEvent = 1,          
00952                 TypeStates = 2,         
00953                 TypeSwitches = 3,       
00954                 TypeGameParameters = 4, 
00955                 TypeTriggers = 5,       
00956                 TypeAuxBus = 6,         
00957                 TypeDialogueEvent = 7,  
00958                 TypeSoundBank = 8       
00959             };
00960 
00963             virtual DnDType GetDnDType(
00964                 IDataObject * in_pDataObject    
00965                 ) = 0;
00966 
00969             virtual bool ProcessEventDnD( 
00970                 IDataObject * in_pDataObject,   
00971                 IEventList ** out_ppEventList   
00972                 ) = 0;
00973 
00976             virtual bool ProcessStateGroupDnD( 
00977                 IDataObject * in_pDataObject,           
00978                 IStateGroupList ** out_ppStateGroupList 
00979                 ) = 0;
00980 
00983             virtual bool ProcessSwitchGroupDnD( 
00984                 IDataObject * in_pDataObject,               
00985                 ISwitchGroupList ** out_ppSwitchGroupList   
00986                 ) = 0;
00987 
00990             virtual bool ProcessGameParameterDnD( 
00991                 IDataObject * in_pDataObject,                   
00992                 IGameParameterList ** out_ppGameParameterList   
00993                 ) = 0;
00994 
00997             virtual bool ProcessTriggerDnD( 
00998                 IDataObject * in_pDataObject,       
00999                 ITriggerList ** out_ppTriggerList   
01000                 ) = 0;
01001 
01004             virtual bool ProcessAuxBusDnD( 
01005                 IDataObject * in_pDataObject,               
01006                 IAuxBusList ** out_ppAuxBusList 
01007                 ) = 0;
01008 
01011             virtual bool ProcessDialogueEventDnD( 
01012                 IDataObject * in_pDataObject,                   
01013                 IDialogueEventList ** out_ppDialogueEventList   
01014                 ) = 0;
01015 
01018             virtual bool ProcessSoundBankDnD( 
01019                 IDataObject * in_pDataObject,                   
01020                 ISoundBankList ** out_ppSoundBankList           
01021                 ) = 0;
01022 
01024 
01027 
01028 
01033             virtual bool ProcessDefinitionFiles( 
01034                 LPCWSTR * in_pszPaths,  
01035                 long in_cFiles          
01036                 ) = 0;
01037 
01042             virtual bool GenerateSoundBanks( 
01043                 LPCWSTR * in_pszBanks,      
01044                 long in_cBanks,             
01045                 LPCWSTR * in_pszPlatforms,  
01046                 long in_cPlatforms,         
01047                 LPCWSTR * in_pszLanguages,  
01048                 long in_cLanguages          
01049                 ) = 0;
01050 
01052 
01057             virtual bool ConvertExternalSources( 
01058                 LPCWSTR * in_pszPlatforms,  
01059                 long in_cPlatforms,         
01060                 LPCWSTR * in_pszFileSourcesInput,   
01061                 long in_cFileSourcesInput,      
01062                 LPCWSTR * in_pszFileSourcesOutput,  
01063                 long in_cFileSourcesOutput      
01064                 ) = 0;
01065 
01067             enum ShowLocation
01068             {
01069                 ShowLocation_Editor = 1,                    
01070                 ShowLocation_MultiEditor,                   
01071                 ShowLocation_ListView,                      
01072                 ShowLocation_ReferenceView,                 
01073                 ShowLocation_SchematicView,                 
01074                 ShowLocation_ProjectExplorer0,              
01075                 ShowLocation_ProjectExplorer1,              
01076                 ShowLocation_ProjectExplorer2,              
01077                 ShowLocation_ProjectExplorer3,              
01078                 ShowLocation_ProjectExplorer4,              
01079                 ShowLocation_Transport                      
01080             };
01081 
01084             virtual bool ShowWwiseObject(
01085                 const GUID* in_pGuids,                      
01086                 long in_cGuids,                             
01087                 ShowLocation in_eLocation                   
01088                 ) = 0;
01089 
01091 
01094 
01095 
01101             virtual bool GetAkUniqueID(
01102                 const GUID& in_guid,                    
01103                 AkUniqueID& out_uniqueID                
01104                 ) const = 0;
01105 
01108             virtual bool GetWwiseObjectPath( 
01109                 const AK::SoundFrame::ISFObject* in_pObject,    
01110                 const AK::SoundFrame::ISFObject* in_pParent,    
01111                 LPWSTR out_szBuffer,                            
01112                 long in_lLength                                 
01113                 ) const = 0;                    
01114 
01116         };
01117 
01121         class IClient
01122         {
01123         public:
01125             enum Notif
01126             {
01127                 Notif_Added,    
01128                 Notif_Removed,  
01129                 Notif_Changed,  
01130                 Notif_Reset,    
01131                 Notif_Push      
01132             };
01133 
01135             virtual void OnConnect( 
01136                 bool in_bConnect        
01137                 ) = 0;
01138 
01140             virtual void OnEventNotif( 
01141                 Notif in_eNotif,            
01142                 AkUniqueID in_eventID       
01143                 ) = 0;
01144 
01149             virtual void OnDialogueEventNotif( 
01150                 Notif in_eNotif,                    
01151                 AkUniqueID in_dialogueEventID       
01152                 ) = 0;
01153 
01155             virtual void OnSoundObjectNotif( 
01156                 Notif in_eNotif,                    
01157                 AkUniqueID in_soundObjectID         
01158                 ) = 0;
01159 
01165             virtual void OnStatesNotif( 
01166                 Notif in_eNotif,            
01167                 AkUniqueID in_stateGroupID  
01168                 ) = 0;
01169 
01178             virtual void OnSwitchesNotif( 
01179                 Notif in_eNotif,            
01180                 AkUniqueID in_switchGroupID 
01181                 ) = 0;
01182 
01184             virtual void OnGameParametersNotif( 
01185                 Notif in_eNotif,                
01186                 AkUniqueID in_gameParameterID   
01187                 ) = 0;
01188 
01190             virtual void OnTriggersNotif( 
01191                 Notif in_eNotif,            
01192                 AkUniqueID in_triggerID     
01193                 ) = 0;
01194 
01200             virtual void OnArgumentsNotif( 
01201                 Notif in_eNotif,            
01202                 AkUniqueID in_argumentID    
01203                 ) = 0;
01204 
01206             virtual void OnAuxBusNotif( 
01207                 Notif in_eNotif,            
01208                 AkUniqueID in_AuxBusID      
01209                 ) = 0;
01210 
01212             virtual void OnSoundBankNotif( 
01213                 Notif in_eNotif,            
01214                 AkUniqueID in_AuxBusID      
01215                 ) = 0;
01216 
01225             virtual void OnGameObjectsNotif( 
01226                 Notif in_eNotif,                
01227                 AkGameObjectID in_gameObjectID      
01228                 ) = 0;          
01229         };
01230 
01233         bool Create( 
01234             IClient * in_pClient,               
01235             ISoundFrame ** out_ppSoundFrame     
01236             );
01237     }
01238 }
01239 
01240 #endif // _AK_SOUNDFRAME_SF_H