Version
menu_open
link

include/AK/SoundFrame/SFObjects.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_OBJECT_SF_H
00012 #define _AK_SOUNDFRAME_OBJECT_SF_H
00013 
00014 #include <wtypes.h>
00015 
00016 #include <AK/SoundEngine/Common/AkTypes.h>
00017 
00018 namespace AK
00019 {
00020     class IReadBytes;
00021     class IWriteBytes;
00022 
00023     namespace SoundFrame
00024     {
00025         class IActionList;
00026         class IStateList;
00027         class ISwitchList;
00028         class IArgumentList;
00029         class IArgumentValueList;
00030 
00032         class ISFRefCount
00033         {
00034         public:
00037             virtual long AddRef() = 0;
00038 
00041             virtual long Release() = 0;
00042         };
00043 
00045         class ISFObject : public ISFRefCount
00046         {
00047         public:
00054             virtual const WCHAR * GetName() const = 0;
00055 
00058             virtual AkUniqueID GetID() const = 0;
00059 
00062             virtual GUID GetGUID() const = 0;
00063         };
00064 
00066         class IObjectList : public ISFRefCount
00067         {
00068         public:
00071             virtual long GetCount() const = 0;
00072 
00074             virtual void Reset() = 0;
00075         };
00076 
00078         class IEvent : public ISFObject
00079         {
00080         public:
00083             virtual IActionList * GetActionList() = 0;
00084 
00087             static IEvent * From( 
00088                 IReadBytes * in_pBytes      
00089                 );
00090 
00093             virtual bool To( 
00094                 IWriteBytes * io_pBytes     
00095                 ) = 0;
00096         };
00097 
00099         class IAction : public ISFRefCount
00100         {
00101         public:
00107             virtual const WCHAR * GetName() const = 0;
00108 
00111             virtual AkUniqueID GetSoundObjectID() const = 0;
00112         };
00113 
00115         class IDialogueEvent : public ISFObject
00116         {
00117         public:
00120             virtual IArgumentList * GetArgumentList() = 0;
00121 
00124             static IDialogueEvent * From( 
00125                 IReadBytes * in_pBytes      
00126                 );
00127 
00130             virtual bool To( 
00131                 IWriteBytes * io_pBytes     
00132                 ) = 0;
00133         };
00134 
00136         class IArgument : public ISFObject
00137         {
00138         public:
00141             virtual IArgumentValueList * GetArgumentValueList() = 0;
00142 
00145             static IArgument * From( 
00146                 IReadBytes * in_pBytes      
00147                 );
00148 
00151             virtual bool To( 
00152                 IWriteBytes * io_pBytes     
00153                 ) = 0;
00154         };
00155 
00157         class IArgumentValue : public ISFObject 
00158         {};
00159 
00161         class ISoundObject : public ISFObject
00162         {
00163         public:
00166             virtual bool HasAttenuation() const = 0;
00167 
00170             virtual double AttenuationMaxDistance() const = 0;
00171 
00174             static ISoundObject * From( 
00175                 IReadBytes * in_pBytes      
00176                 );  
00177 
00180             virtual bool To( 
00181                 IWriteBytes * io_pBytes     
00182                 ) = 0;
00183         };
00184 
00186         class IStateGroup : public ISFObject
00187         {
00188         public:
00191             virtual IStateList * GetStateList() = 0;
00192 
00195             static IStateGroup * From( 
00196                 IReadBytes * in_pBytes      
00197                 );
00198 
00201             virtual bool To( 
00202                 IWriteBytes * io_pBytes     
00203                 ) = 0;
00204         };
00205 
00207         class IState : public ISFObject 
00208         {};
00209 
00211         class ISwitchGroup : public ISFObject
00212         {
00213         public:
00216             virtual ISwitchList * GetSwitchList() = 0;
00217 
00220             static ISwitchGroup * From( 
00221                 IReadBytes * in_pBytes      
00222                 );
00223 
00226             virtual bool To( 
00227                 IWriteBytes * io_pBytes     
00228                 ) = 0;
00229         };
00230 
00232         class ISwitch : public ISFObject 
00233         {};
00234 
00240         class IGameParameter : public ISFObject
00241         {
00242         public:
00243 
00246             virtual double RangeMin() const = 0;
00247 
00250             virtual double RangeMax() const = 0;
00251 
00254             virtual double Default() const = 0;
00255 
00258             static IGameParameter * From( 
00259                 IReadBytes * in_pBytes      
00260                 );  
00261 
00264             virtual bool To( 
00265                 IWriteBytes * io_pBytes     
00266                 ) = 0;
00267         };
00268 
00270         class IConversionSettings : public ISFObject
00271         {
00272         public:
00275             static IConversionSettings * From( 
00276                 IReadBytes * in_pBytes      
00277                 );
00278 
00281             virtual bool To( 
00282                 IWriteBytes * io_pBytes     
00283                 ) = 0;
00284         };
00285 
00287         class ITrigger : public ISFObject 
00288         {
00289         public:
00292             static ITrigger * From( 
00293                 IReadBytes * in_pBytes      
00294                 );  
00295 
00298             virtual bool To( 
00299                 IWriteBytes * io_pBytes     
00300                 ) = 0;
00301         };
00302 
00304         class IAuxBus : public ISFObject 
00305         {
00306         public:
00309             static IAuxBus * From( 
00310                 IReadBytes * in_pBytes      
00311                 );  
00312 
00315             virtual bool To( 
00316                 IWriteBytes * io_pBytes     
00317                 ) = 0;
00318         };
00319 
00321         class ISoundBank : public ISFObject
00322         {
00323         public:
00326             static ISoundBank * From( 
00327                 IReadBytes * in_pBytes      
00328                 );
00329 
00332             virtual bool To( 
00333                 IWriteBytes * io_pBytes     
00334                 ) = 0;
00335         };
00336 
00338         class IGameObject : public ISFRefCount
00339         {
00340         public:
00343             static const AkGameObjectID s_InvalidGameObject = (unsigned int)(~0);
00344 
00346             static const AkGameObjectID s_WwiseGameObject = 0;
00347 
00354             virtual const WCHAR * GetName() const = 0;
00355 
00358             virtual AkGameObjectID GetID() const = 0;
00359 
00362             static IGameObject * From( 
00363                 IReadBytes * in_pBytes      
00364                 );
00365 
00368             virtual bool To( 
00369                 IWriteBytes * io_pBytes     
00370                 ) = 0;
00371         };
00372 
00374         class IOriginalFile : public ISFObject
00375         {
00376         public:
00379             static IOriginalFile * From( 
00380                 IReadBytes * in_pBytes      
00381                 );
00382 
00385             virtual bool To( 
00386                 IWriteBytes * io_pBytes     
00387                 ) = 0;
00388         };
00389 
00391         class IEventList : public IObjectList
00392         {
00393         public:
00396             virtual IEvent * Next() = 0;        
00397         };
00398 
00400         class IActionList : public IObjectList
00401         {
00402         public:
00405             virtual IAction * Next() = 0;
00406         };
00407 
00409         class IDialogueEventList : public IObjectList
00410         {
00411         public:
00414             virtual IDialogueEvent * Next() = 0;        
00415         };
00416 
00418         class ISoundObjectList : public IObjectList
00419         {
00420         public:
00423             virtual ISoundObject * Next() = 0;      
00424         };
00425 
00427         class IStateGroupList : public IObjectList
00428         {
00429         public:
00432             virtual IStateGroup * Next() = 0;
00433         };
00434 
00436         class IStateList : public IObjectList
00437         {
00438         public:
00441             virtual IState * Next() = 0;
00442         };
00443 
00445         class ISwitchGroupList : public IObjectList
00446         {
00447         public:
00450             virtual ISwitchGroup * Next() = 0;
00451         };
00452 
00454         class ISwitchList : public IObjectList
00455         {
00456         public:
00459             virtual ISwitch * Next() = 0;
00460         };
00461 
00467         class IGameParameterList : public IObjectList
00468         {
00469         public:
00472             virtual IGameParameter * Next() = 0;
00473         };
00474 
00476         class IConversionSettingsList : public IObjectList
00477         {
00478         public:
00481             virtual IConversionSettings * Next() = 0;
00482         };
00483 
00485         class ITriggerList : public IObjectList
00486         {
00487         public:
00490             virtual ITrigger * Next() = 0;      
00491         };
00492 
00494         class IArgumentList : public IObjectList
00495         {
00496         public:
00499             virtual IArgument * Next() = 0;     
00500         };
00501 
00503         class IArgumentValueList : public IObjectList
00504         {
00505         public:
00508             virtual IArgumentValue * Next() = 0;        
00509         };
00510 
00512         class IAuxBusList : public IObjectList
00513         {
00514         public:
00517             virtual IAuxBus * Next() = 0;       
00518         };
00519 
00521         class ISoundBankList : public IObjectList
00522         {
00523         public:
00526             virtual ISoundBank * Next() = 0;        
00527         };
00528 
00530         class IGameObjectList : public IObjectList
00531         {
00532         public:
00535             virtual IGameObject * Next() = 0;       
00536         };
00537 
00539         class IOriginalFileList : public IObjectList
00540         {
00541         public:
00544             virtual IOriginalFile * Next() = 0;     
00545         };
00546     }
00547 }
00548 
00549 #endif // _AK_SOUNDFRAME_OBJECTS_SF_H

Was this page helpful?

Need Support?

Questions? Problems? Need more info? Contact us, and we can help!

Visit our Support page

Tell us about your project. We're here to help.

Register your project and we'll help you get started with no strings attached!

Get started with Wwise