Version
menu_open
link

include/AK/SoundFrame/SFObjects.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_OBJECT_SF_H
00033 #define _AK_SOUNDFRAME_OBJECT_SF_H
00034 
00035 #include <wtypes.h>
00036 
00037 #include <AK/SoundEngine/Common/AkTypes.h>
00038 
00039 namespace AK
00040 {
00041     class IReadBytes;
00042     class IWriteBytes;
00043 
00044     namespace SoundFrame
00045     {
00046         class IActionList;
00047         class IStateList;
00048         class ISwitchList;
00049         class IArgumentList;
00050         class IArgumentValueList;
00051 
00053         class ISFRefCount
00054         {
00055         public:
00058             virtual long AddRef() = 0;
00059 
00062             virtual long Release() = 0;
00063         };
00064 
00066         class ISFObject : public ISFRefCount
00067         {
00068         public:
00075             virtual const WCHAR * GetName() const = 0;
00076 
00079             virtual AkUniqueID GetID() const = 0;
00080 
00083             virtual GUID GetGUID() const = 0;
00084         };
00085 
00087         class IObjectList : public ISFRefCount
00088         {
00089         public:
00092             virtual long GetCount() const = 0;
00093 
00095             virtual void Reset() = 0;
00096         };
00097 
00099         class IEvent : public ISFObject
00100         {
00101         public:
00104             virtual IActionList * GetActionList() = 0;
00105 
00108             static IEvent * From( 
00109                 IReadBytes * in_pBytes      
00110                 );
00111 
00114             virtual bool To( 
00115                 IWriteBytes * io_pBytes     
00116                 ) = 0;
00117         };
00118 
00120         class IAction : public ISFRefCount
00121         {
00122         public:
00128             virtual const WCHAR * GetName() const = 0;
00129 
00132             virtual AkUniqueID GetSoundObjectID() const = 0;
00133         };
00134 
00136         class IDialogueEvent : public ISFObject
00137         {
00138         public:
00141             virtual IArgumentList * GetArgumentList() = 0;
00142 
00145             static IDialogueEvent * From( 
00146                 IReadBytes * in_pBytes      
00147                 );
00148 
00151             virtual bool To( 
00152                 IWriteBytes * io_pBytes     
00153                 ) = 0;
00154         };
00155 
00157         class IArgument : public ISFObject
00158         {
00159         public:
00162             virtual IArgumentValueList * GetArgumentValueList() = 0;
00163 
00166             static IArgument * From( 
00167                 IReadBytes * in_pBytes      
00168                 );
00169 
00172             virtual bool To( 
00173                 IWriteBytes * io_pBytes     
00174                 ) = 0;
00175         };
00176 
00178         class IArgumentValue : public ISFObject 
00179         {};
00180 
00182         class ISoundObject : public ISFObject
00183         {
00184         public:
00187             virtual bool HasAttenuation() const = 0;
00188 
00191             virtual double AttenuationMaxDistance() const = 0;
00192 
00195             static ISoundObject * From( 
00196                 IReadBytes * in_pBytes      
00197                 );  
00198 
00201             virtual bool To( 
00202                 IWriteBytes * io_pBytes     
00203                 ) = 0;
00204         };
00205 
00207         class IStateGroup : public ISFObject
00208         {
00209         public:
00212             virtual IStateList * GetStateList() = 0;
00213 
00216             static IStateGroup * From( 
00217                 IReadBytes * in_pBytes      
00218                 );
00219 
00222             virtual bool To( 
00223                 IWriteBytes * io_pBytes     
00224                 ) = 0;
00225         };
00226 
00228         class IState : public ISFObject 
00229         {};
00230 
00232         class ISwitchGroup : public ISFObject
00233         {
00234         public:
00237             virtual ISwitchList * GetSwitchList() = 0;
00238 
00241             static ISwitchGroup * From( 
00242                 IReadBytes * in_pBytes      
00243                 );
00244 
00247             virtual bool To( 
00248                 IWriteBytes * io_pBytes     
00249                 ) = 0;
00250         };
00251 
00253         class ISwitch : public ISFObject 
00254         {};
00255 
00261         class IGameParameter : public ISFObject
00262         {
00263         public:
00264 
00267             virtual double RangeMin() const = 0;
00268 
00271             virtual double RangeMax() const = 0;
00272 
00275             virtual double Default() const = 0;
00276 
00279             static IGameParameter * From( 
00280                 IReadBytes * in_pBytes      
00281                 );  
00282 
00285             virtual bool To( 
00286                 IWriteBytes * io_pBytes     
00287                 ) = 0;
00288         };
00289 
00291         class IConversionSettings : public ISFObject
00292         {
00293         public:
00296             static IConversionSettings * From( 
00297                 IReadBytes * in_pBytes      
00298                 );
00299 
00302             virtual bool To( 
00303                 IWriteBytes * io_pBytes     
00304                 ) = 0;
00305         };
00306 
00308         class ITrigger : public ISFObject 
00309         {
00310         public:
00313             static ITrigger * From( 
00314                 IReadBytes * in_pBytes      
00315                 );  
00316 
00319             virtual bool To( 
00320                 IWriteBytes * io_pBytes     
00321                 ) = 0;
00322         };
00323 
00325         class IAuxBus : public ISFObject 
00326         {
00327         public:
00330             static IAuxBus * From( 
00331                 IReadBytes * in_pBytes      
00332                 );  
00333 
00336             virtual bool To( 
00337                 IWriteBytes * io_pBytes     
00338                 ) = 0;
00339         };
00340 
00342         class ISoundBank : public ISFObject
00343         {
00344         public:
00347             static ISoundBank * From( 
00348                 IReadBytes * in_pBytes      
00349                 );
00350 
00353             virtual bool To( 
00354                 IWriteBytes * io_pBytes     
00355                 ) = 0;
00356         };
00357 
00359         class IGameObject : public ISFRefCount
00360         {
00361         public:
00364             static const AkGameObjectID s_InvalidGameObject = (unsigned int)(~0);
00365 
00367             static const AkGameObjectID s_WwiseGameObject = 0;
00368 
00375             virtual const WCHAR * GetName() const = 0;
00376 
00379             virtual AkGameObjectID GetID() const = 0;
00380 
00383             static IGameObject * From( 
00384                 IReadBytes * in_pBytes      
00385                 );
00386 
00389             virtual bool To( 
00390                 IWriteBytes * io_pBytes     
00391                 ) = 0;
00392         };
00393 
00395         class IOriginalFile : public ISFObject
00396         {
00397         public:
00400             static IOriginalFile * From( 
00401                 IReadBytes * in_pBytes      
00402                 );
00403 
00406             virtual bool To( 
00407                 IWriteBytes * io_pBytes     
00408                 ) = 0;
00409         };
00410 
00412         class IEventList : public IObjectList
00413         {
00414         public:
00417             virtual IEvent * Next() = 0;        
00418         };
00419 
00421         class IActionList : public IObjectList
00422         {
00423         public:
00426             virtual IAction * Next() = 0;
00427         };
00428 
00430         class IDialogueEventList : public IObjectList
00431         {
00432         public:
00435             virtual IDialogueEvent * Next() = 0;        
00436         };
00437 
00439         class ISoundObjectList : public IObjectList
00440         {
00441         public:
00444             virtual ISoundObject * Next() = 0;      
00445         };
00446 
00448         class IStateGroupList : public IObjectList
00449         {
00450         public:
00453             virtual IStateGroup * Next() = 0;
00454         };
00455 
00457         class IStateList : public IObjectList
00458         {
00459         public:
00462             virtual IState * Next() = 0;
00463         };
00464 
00466         class ISwitchGroupList : public IObjectList
00467         {
00468         public:
00471             virtual ISwitchGroup * Next() = 0;
00472         };
00473 
00475         class ISwitchList : public IObjectList
00476         {
00477         public:
00480             virtual ISwitch * Next() = 0;
00481         };
00482 
00488         class IGameParameterList : public IObjectList
00489         {
00490         public:
00493             virtual IGameParameter * Next() = 0;
00494         };
00495 
00497         class IConversionSettingsList : public IObjectList
00498         {
00499         public:
00502             virtual IConversionSettings * Next() = 0;
00503         };
00504 
00506         class ITriggerList : public IObjectList
00507         {
00508         public:
00511             virtual ITrigger * Next() = 0;      
00512         };
00513 
00515         class IArgumentList : public IObjectList
00516         {
00517         public:
00520             virtual IArgument * Next() = 0;     
00521         };
00522 
00524         class IArgumentValueList : public IObjectList
00525         {
00526         public:
00529             virtual IArgumentValue * Next() = 0;        
00530         };
00531 
00533         class IAuxBusList : public IObjectList
00534         {
00535         public:
00538             virtual IAuxBus * Next() = 0;       
00539         };
00540 
00542         class ISoundBankList : public IObjectList
00543         {
00544         public:
00547             virtual ISoundBank * Next() = 0;        
00548         };
00549 
00551         class IGameObjectList : public IObjectList
00552         {
00553         public:
00556             virtual IGameObject * Next() = 0;       
00557         };
00558 
00560         class IOriginalFileList : public IObjectList
00561         {
00562         public:
00565             virtual IOriginalFile * Next() = 0;     
00566         };
00567     }
00568 }
00569 
00570 #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