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
Des questions ? Des problèmes ? Besoin de plus d'informations ? Contactez-nous, nous pouvons vous aider !
Visitez notre page d'AideEnregistrez votre projet et nous vous aiderons à démarrer sans aucune obligation !
Partir du bon pied avec Wwise