버전
menu_open
link

include/AK/Wwise/Utilities.h

Go to the documentation of this file.
00001 
00002 //
00003 // Copyright (c) 2006 Audiokinetic Inc. / All Rights Reserved
00004 //
00006 
00009 
00010 #ifndef _AK_WWISE_UTILITIES_H
00011 #define _AK_WWISE_UTILITIES_H
00012 
00013 #include <AK/SoundEngine/Common/AkTypes.h>
00014 
00016 // Populate Table macros
00018 
00029 #define AK_BEGIN_POPULATE_TABLE(theName) AK::Wwise::PopulateTableItem theName[] = {
00030 
00043 #define AK_POP_ITEM(theID, theProp) {theID, theProp },
00044 
00051 #define AK_END_POPULATE_TABLE() AK_POP_ITEM(0, NULL) };
00052 
00054 // Utilities
00056 
00057 // Audiokinetic namespace
00058 namespace AK
00059 {
00060     // Audiokinetic Wwise namespace
00061     namespace Wwise
00062     {
00064         enum AudioFileChannel
00065         {
00066             Channel_mono        = 0,
00067             Channel_stereo      = 1,
00068             Channel_mono_drop   = 2,
00069             Channel_stereo_drop = 3,
00070             Channel_as_input    = 4,
00071             Channel_mono_drop_right = 5,
00072             Channel_stereo_balance  = 6,
00073         };
00074 
00076         enum LicenseType
00077         {
00078             LicenseType_Trial = 1,
00079             LicenseType_Purchased,
00080             LicenseType_Academic
00081         };
00082 
00084         enum LicenseStatus
00085         {
00086             LicenseStatus_Unlicensed,
00087             LicenseStatus_Expired,
00088             LicenseStatus_Valid
00089         };
00090 
00092         enum Severity
00093         {
00094             Severity_Success = -1,  
00095             Severity_Message,       
00096             Severity_Warning,       
00097             Severity_Error,         
00098             Severity_FatalError,    
00099                     
00100         };
00101 
00104         class IWriteString
00105         {
00106         public:
00107             virtual void WriteString( LPCWSTR in_szString, 
00108                                         int in_iStringLength ) = 0;
00109         };
00110 
00112         class IReadOnlyProperties 
00113         {
00114         public:
00115             virtual bool GetValue( LPCWSTR in_szPropertyName, 
00116                                     VARIANT& out_rValue ) const = 0;
00117         };
00118 
00119         class IReadWriteProperties : public IReadOnlyProperties
00120         {
00121         public:
00122             virtual bool SetValue( LPCWSTR in_szPropertyName, 
00123                                         const VARIANT& in_rValue ) = 0;
00124         };
00125 
00126         class IProgress
00127         {
00128         public: 
00132             virtual void SetCurrentOperationName( LPCWSTR in_szOperationName ) = 0;
00133 
00135             virtual void SetRange( DWORD in_dwMinValue, DWORD in_dwMaxValue ) = 0;
00136 
00138             virtual void NotifyProgress( DWORD in_dwProgress ) = 0;
00139 
00141             virtual bool IsCancelled() = 0;
00142 
00145             virtual void ErrorMessage( const CString& in_rErrorText, Severity in_eSeverity = Severity_Warning ) = 0;
00146         };
00147 
00149         class IDoubleProgress : public IProgress
00150         {
00151         public:
00155             virtual void SetSecondOperationName( LPCWSTR in_szOperationName ) = 0;
00156 
00159             virtual void SetSecondRange( DWORD in_dwMinValue, DWORD in_dwMaxValue ) = 0;
00160 
00162             virtual void NotifySecondProgress( DWORD in_dwProgress ) = 0;
00163         };
00164 
00173         struct PopulateTableItem
00174         {
00175             UINT uiID;              
00176             LPCWSTR pszProp;        
00177         };
00178 
00183         class IPluginBase
00184         {
00185         public:
00191             virtual void Destroy() = 0;
00192         };
00193 
00195         enum ConversionResult
00196         {
00197             ConversionSuccess           = 0,
00198             ConversionWarning           = 1,
00199             ConversionFailed            = 2,
00200         };
00201 
00212         class IWriteData
00213         {
00214         public:
00219             virtual bool WriteData(
00220                 LPCVOID in_pData,           
00221                 UINT32 in_cBytes,           
00222                 UINT32 & out_cWritten       
00223             ) = 0;
00224 
00240             virtual bool WritePascalString(
00241                 LPCWSTR in_szString,        
00242                 UINT32 in_uiStringLength    
00243             ) = 0;
00244 
00255             virtual bool WriteUtf16String(
00256                 LPCWSTR in_szString         
00257             ) = 0;
00258 
00261             virtual bool WriteUtf8String(
00262                 const char * in_szString        
00263             ) = 0;
00264 
00267             virtual bool WriteBool(
00268                 bool in_bBool               
00269             ) = 0;
00270 
00273             virtual bool WriteByte(
00274                 BYTE in_bByte               
00275             ) = 0;
00276 
00279             virtual bool WriteInt16(
00280                 UINT16 in_uiInt16           
00281             ) = 0;
00282 
00285             virtual bool WriteInt32(
00286                 UINT32 in_uiInt32           
00287             ) = 0;
00288 
00291             virtual bool WriteInt64(
00292                 UINT64 in_uiInt64           
00293             ) = 0;
00294 
00297             virtual bool WriteReal32(
00298                 float in_fReal32            
00299             ) = 0;
00300 
00303             virtual bool WriteReal64(
00304                 double in_dblReal64         
00305             ) = 0;
00306         };
00307     }
00308 }
00309 
00310 #endif // _WWISE_UTILITIES_H

이 페이지가 도움이 되었나요?

지원이 필요하신가요?

질문이 있으신가요? 문제를 겪고 계신가요? 더 많은 정보가 필요하신가요? 저희에게 문의해주시면 도와드리겠습니다!

지원 페이지를 방문해 주세요

작업하는 프로젝트에 대해 알려주세요. 언제든지 도와드릴 준비가 되어 있습니다.

프로젝트를 등록하세요. 아무런 조건이나 의무 사항 없이 빠른 시작을 도와드리겠습니다.

Wwise를 시작해 보세요