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 00028 // AkWinSoundEngine.h 00029 00032 00033 #ifndef _AK_WIN_SOUND_ENGINE_H_ 00034 #define _AK_WIN_SOUND_ENGINE_H_ 00035 00036 #include <AK/SoundEngine/Common/AkTypes.h> 00037 #include <AK/Tools/Common/AkPlatformFuncs.h> 00038 00041 enum AkSoundQuality 00042 { 00043 AkSoundQuality_High, 00044 AkSoundQuality_Low, 00045 }; 00046 00051 enum AkAudioAPI 00052 { 00053 AkAPI_Wasapi = 1 << 0, 00054 AkAPI_XAudio2 = 1 << 1, 00055 AkAPI_DirectSound = 1 << 2, 00056 AkAPI_Default = AkAPI_Wasapi | AkAPI_XAudio2 | AkAPI_DirectSound, 00057 }; 00058 00060 enum AkAudioOutputType 00061 { 00062 AkOutput_None = 0, 00063 AkOutput_Dummy, 00064 AkOutput_MergeToMain, 00065 AkOutput_Main, 00066 AkOutput_Secondary, 00067 AkOutput_NumBuiltInOutputs, 00068 AkOutput_Plugin 00069 }; 00070 00075 00076 struct IXAudio2; 00077 struct AkPlatformInitSettings 00078 { 00079 // Direct sound. 00080 HWND hWnd; 00081 00082 00083 00084 00085 00086 00087 // Threading model. 00088 AkThreadProperties threadLEngine; 00089 AkThreadProperties threadBankManager; 00090 AkThreadProperties threadMonitor; 00091 00092 // Memory. 00093 AkUInt32 uLEngineDefaultPoolSize; 00094 AkReal32 fLEngineDefaultPoolRatioThreshold; 00095 00096 // Voices. 00097 AkUInt16 uNumRefillsInVoice; 00098 AkSoundQuality eAudioQuality; 00099 00100 AkAudioAPI eAudioAPI; 00101 00102 00103 00104 bool bGlobalFocus; 00105 00106 00107 IXAudio2* pXAudio2; 00108 00109 AkUInt32 idAudioDevice; 00110 00111 }; 00112 00113 struct IDirectSound8; 00114 struct IXAudio2; 00115 struct IMMDevice; 00116 struct IUnknown; 00117 00118 namespace AK 00119 { 00123 AK_EXTERNAPIFUNC( IUnknown *, GetWwiseXAudio2Interface)(); 00124 00127 AK_EXTERNAPIFUNC( IDirectSound8 *, GetDirectSoundInstance )(); 00128 00132 AK_EXTERNAPIFUNC( AkUInt32, GetDeviceID ) (IMMDevice* in_pDevice); 00133 00139 AK_EXTERNAPIFUNC( AkUInt32, GetDeviceIDFromName )(wchar_t* in_szToken); 00140 00146 AK_EXTERNAPIFUNC(const wchar_t*, GetWindowsDeviceName) ( 00147 AkInt32 index, 00148 AkUInt32 &out_uDeviceID 00149 ); 00150 }; 00151 00152 #endif //_AK_WIN_SOUND_ENGINE_H_
Questions? Problems? Need more info? Contact us, and we can help!
Visit our Support pageRegister your project and we'll help you get started with no strings attached!
Get started with Wwise