Wwise 버전

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