#if (UNITY_STANDALONE_WIN && !UNITY_EDITOR) || UNITY_EDITOR_WIN
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.11
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */


using System;
using System.Runtime.InteropServices;

public class AkSoundEngine {
  public static IntPtr VirtualAllocHook(IntPtr in_pMemAddress, uint in_size, uint in_dwAllocationType, uint in_dwProtect) { return AkSoundEnginePINVOKE.CSharp_VirtualAllocHook(in_pMemAddress, in_size, in_dwAllocationType, in_dwProtect); }

  public static void VirtualFreeHook(IntPtr in_pMemAddress, uint in_size, uint in_dwFreeType) {
    AkSoundEnginePINVOKE.CSharp_VirtualFreeHook(in_pMemAddress, in_size, in_dwFreeType);
  }

  public static uint AK_INVALID_AUX_ID {
    get {
      uint ret = AkSoundEnginePINVOKE.CSharp_AK_INVALID_AUX_ID_get();
      return ret;
    } 
  }

  public static uint AK_INVALID_CHANNELMASK {
    get {
      uint ret = AkSoundEnginePINVOKE.CSharp_AK_INVALID_CHANNELMASK_get();
      return ret;
    } 
  }

  public static uint AK_INVALID_OUTPUT_DEVICE_ID {
    get {
      uint ret = AkSoundEnginePINVOKE.CSharp_AK_INVALID_OUTPUT_DEVICE_ID_get();
      return ret;
    } 
  }

  public static uint AK_MIXER_FX_SLOT {
    get {
      uint ret = AkSoundEnginePINVOKE.CSharp_AK_MIXER_FX_SLOT_get();
      return ret;
    } 
  }

  public static uint AK_SOUNDBANK_VERSION {
    get {
      uint ret = AkSoundEnginePINVOKE.CSharp_AK_SOUNDBANK_VERSION_get();
      return ret;
    } 
  }



	public static AKRESULT SetObjectPosition(UnityEngine.GameObject in_gameObjectID, float PosX, float PosY, float PosZ, float FrontX, float FrontY, float FrontZ )
	{
		throw new NotImplementedException("SetObjectPosition now requires a top vector. Please change your scripts to use the SetObjectPosition overload that specifies the top vector.");
	}

    private static System.Collections.Generic.HashSet<int> RegisteredGameObjects = new System.Collections.Generic.HashSet<int>();

    public static bool IsAkGameObjectRegistered(UnityEngine.GameObject in_gameObject)
    {
        return RegisteredGameObjects.Contains(in_gameObject.GetInstanceID());
    }

	public static AKRESULT RegisterGameObj(UnityEngine.GameObject in_gameObjectID) {
	
		if (!AkSoundEngine.IsInitialized())
			return AKRESULT.AK_Fail;
			
		AKRESULT res = RegisterGameObjInternal((int)in_gameObjectID.GetInstanceID());
		if( res == AKRESULT.AK_Success )
		{
			RegisteredGameObjects.Add(in_gameObjectID.GetInstanceID());
		}

		return res;
	}


	public static AKRESULT RegisterGameObj(UnityEngine.GameObject in_gameObjectID, uint in_uListenerMask) {
	
		if (!AkSoundEngine.IsInitialized())
			return AKRESULT.AK_Fail;
			
		AKRESULT res = RegisterGameObjInternal_WithMask((int)in_gameObjectID.GetInstanceID(), (uint)in_uListenerMask);
		if( res == AKRESULT.AK_Success )
		{
			RegisteredGameObjects.Add(in_gameObjectID.GetInstanceID());
		}

		return res;
	}


	public static AKRESULT RegisterGameObj(UnityEngine.GameObject in_gameObjectID, string in_pszObjName) {
	
		if (!AkSoundEngine.IsInitialized())
			return AKRESULT.AK_Fail;
			
		AKRESULT res = RegisterGameObjInternal_WithName((int)in_gameObjectID.GetInstanceID(), in_pszObjName);
		if( res == AKRESULT.AK_Success )
		{
			RegisteredGameObjects.Add(in_gameObjectID.GetInstanceID());
		}

		return res;
	}


	public static AKRESULT RegisterGameObj(UnityEngine.GameObject in_gameObjectID, string in_pszObjName, uint in_uListenerMask) {
	
		if (!AkSoundEngine.IsInitialized())
			return AKRESULT.AK_Fail;
			
		AKRESULT res = RegisterGameObjInternal_WithName_WithMask((int)in_gameObjectID.GetInstanceID(), in_pszObjName, (uint)in_uListenerMask);
		if( res == AKRESULT.AK_Success )
		{
			RegisteredGameObjects.Add(in_gameObjectID.GetInstanceID());
		}

		return res;
	}

	public static AKRESULT UnregisterGameObj(UnityEngine.GameObject in_gameObjectID) {
	
		if (!AkSoundEngine.IsInitialized())
			return AKRESULT.AK_Fail;
			
		AKRESULT res = UnregisterGameObjInternal((int)in_gameObjectID.GetInstanceID());
		if( res == AKRESULT.AK_Success )
		{
			RegisteredGameObjects.Remove(in_gameObjectID.GetInstanceID());
		}

		return res;
	}

	private static int AutoRegisterAkGameObj(UnityEngine.GameObject in_gameObject, ref AkAutoObject autoObject)
	{
		int Id = -1;
		if ( in_gameObject != null )
		{
			Id = in_gameObject.GetInstanceID();			
			if( !IsAkGameObjectRegistered(in_gameObject) )
			{
				if (in_gameObject.activeInHierarchy)
				{
					in_gameObject.AddComponent<AkGameObj>();
				}
				else
				{
					// Object not active. AkGameObj will not work. Use a temporary game object.  
					// This will automatically unregister at the end of this scope.
					autoObject = new AkAutoObject(in_gameObject);
				}
			}
		}

		return Id;
	}


 
  public static ushort AK_INT {
    get {
      ushort ret = AkSoundEnginePINVOKE.CSharp_AK_INT_get();
      return ret;
    } 
  }

  public static ushort AK_FLOAT {
    get {
      ushort ret = AkSoundEnginePINVOKE.CSharp_AK_FLOAT_get();
      return ret;
    } 
  }

  public static byte AK_INTERLEAVED {
    get {
      byte ret = AkSoundEnginePINVOKE.CSharp_AK_INTERLEAVED_get();
      return ret;
    } 
  }

  public static byte AK_NONINTERLEAVED {
    get {
      byte ret = AkSoundEnginePINVOKE.CSharp_AK_NONINTERLEAVED_get();
      return ret;
    } 
  }

  public static uint AK_LE_NATIVE_BITSPERSAMPLE {
    get {
      uint ret = AkSoundEnginePINVOKE.CSharp_AK_LE_NATIVE_BITSPERSAMPLE_get();
      return ret;
    } 
  }

  public static uint AK_LE_NATIVE_SAMPLETYPE {
    get {
      uint ret = AkSoundEnginePINVOKE.CSharp_AK_LE_NATIVE_SAMPLETYPE_get();
      return ret;
    } 
  }

  public static uint AK_LE_NATIVE_INTERLEAVE {
    get {
      uint ret = AkSoundEnginePINVOKE.CSharp_AK_LE_NATIVE_INTERLEAVE_get();
      return ret;
    } 
  }

  public static uint DynamicSequenceOpen(UnityEngine.GameObject in_gameObjectID, uint in_uFlags, AkCallbackManager.EventCallback in_pfnCallback, object in_pCookie, DynamicSequenceType in_eDynamicSequenceType) {
    
		AkAutoObject tempObj = null;   
		uint tempin_gameObjectID = (uint)AutoRegisterAkGameObj(in_gameObjectID, ref tempObj);
		
	in_pCookie = AkCallbackManager.EventCallbackPackage.Create(in_pfnCallback, in_pCookie, ref in_uFlags);
    {
		uint ret = AkSoundEnginePINVOKE.CSharp_DynamicSequenceOpen__SWIG_0(tempin_gameObjectID, in_uFlags, in_uFlags != 0 ? (IntPtr)1 : (IntPtr)0, in_pCookie != null ? (IntPtr)in_pCookie.GetHashCode() : (IntPtr)0, (int)in_eDynamicSequenceType);
		AkCallbackManager.SetLastAddedPlayingID(ret);
		return ret;
	}
  }

  public static uint DynamicSequenceOpen(UnityEngine.GameObject in_gameObjectID, uint in_uFlags, AkCallbackManager.EventCallback in_pfnCallback, object in_pCookie) {
    
		AkAutoObject tempObj = null;   
		uint tempin_gameObjectID = (uint)AutoRegisterAkGameObj(in_gameObjectID, ref tempObj);
		
	in_pCookie = AkCallbackManager.EventCallbackPackage.Create(in_pfnCallback, in_pCookie, ref in_uFlags);
    {
		uint ret = AkSoundEnginePINVOKE.CSharp_DynamicSequenceOpen__SWIG_1(tempin_gameObjectID, in_uFlags, in_uFlags != 0 ? (IntPtr)1 : (IntPtr)0, in_pCookie != null ? (IntPtr)in_pCookie.GetHashCode() : (IntPtr)0);
		AkCallbackManager.SetLastAddedPlayingID(ret);
		return ret;
	}
  }

  public static uint DynamicSequenceOpen(UnityEngine.GameObject in_gameObjectID, uint in_uFlags) {
    
		AkAutoObject tempObj = null;   
		uint tempin_gameObjectID = (uint)AutoRegisterAkGameObj(in_gameObjectID, ref tempObj);
		
    {
		uint ret = AkSoundEnginePINVOKE.CSharp_DynamicSequenceOpen__SWIG_2(tempin_gameObjectID, in_uFlags);
		AkCallbackManager.SetLastAddedPlayingID(ret);
		return ret;
	}
  }

  public static uint DynamicSequenceOpen(UnityEngine.GameObject in_gameObjectID) {
    
		AkAutoObject tempObj = null;   
		uint tempin_gameObjectID = (uint)AutoRegisterAkGameObj(in_gameObjectID, ref tempObj);
		
    {
		uint ret = AkSoundEnginePINVOKE.CSharp_DynamicSequenceOpen__SWIG_3(tempin_gameObjectID);
		AkCallbackManager.SetLastAddedPlayingID(ret);
		return ret;
	}
  }

  public static AKRESULT DynamicSequenceClose(uint in_playingID) {
    AKRESULT ret = (AKRESULT)AkSoundEnginePINVOKE.CSharp_DynamicSequenceClose(in_playingID);

    return ret;
  }

  public static AKRESULT DynamicSequencePlay(uint in_playingID, int in_uTransitionDuration, AkCurveInterpolation in_eFadeCurve) {
    AKRESULT ret = (AKRESULT)AkSoundEnginePINVOKE.CSharp_DynamicSequencePlay__SWIG_0(in_playingID, in_uTransitionDuration, (int)in_eFadeCurve);

    return ret;
  }

  public static AKRESULT DynamicSequencePlay(uint in_playingID, int in_uTransitionDuration) {
    AKRESULT ret = (AKRESULT)AkSoundEnginePINVOKE.CSharp_DynamicSequencePlay__SWIG_1(in_playingID, in_uTransitionDuration);

    return ret;
  }

  public static AKRESULT DynamicSequencePlay(uint in_playingID) {
    AKRESULT ret = (AKRESULT)AkSoundEnginePINVOKE.CSharp_DynamicSequencePlay__SWIG_2(in_playingID);

    return ret;
  }

  public static AKRESULT DynamicSequencePause(uint in_playingID, int in_uTransitionDuration, AkCurveInterpolation in_eFadeCurve) {
    AKRESULT ret = (AKRESULT)AkSoundEnginePINVOKE.CSharp_DynamicSequencePause__SWIG_0(in_playingID, in_uTransitionDuration, (int)in_eFadeCurve);

    return ret;
  }

  public static AKRESULT DynamicSequencePause(uint in_playingID, int in_uTransitionDuration) {
    AKRESULT ret = (AKRESULT)AkSoundEnginePINVOKE.CSharp_DynamicSequencePause__SWIG_1(in_playingID, in_uTransitionDuration);

    return ret;
  }

  public static AKRESULT DynamicSequencePause(uint in_playingID) {
    AKRESULT ret = (AKRESULT)AkSoundEnginePINVOKE.CSharp_DynamicSequencePause__SWIG_2(in_playingID);

    return ret;
  }

  public static AKRESULT DynamicSequenceResume(uint in_playingID, int in_uTransitionDuration, AkCurveInterpolation in_eFadeCurve) {
    AKRESULT ret = (AKRESULT)AkSoundEnginePINVOKE.CSharp_DynamicSequenceResume__SWIG_0(in_playingID, in_uTransitionDuration, (int)in_eFadeCurve);

    return ret;
  }

  public static AKRESULT DynamicSequenceResume(uint in_playingID, int in_uTransitionDuration) {
    AKRESULT ret = (AKRESULT)AkSoundEnginePINVOKE.CSharp_DynamicSequenceResume__SWIG_1(in_playingID, in_uTransitionDuration);

    return ret;
  }

  public static AKRESULT DynamicSequenceResume(uint in_playingID) {
    AKRESULT ret = (AKRESULT)AkSoundEnginePINVOKE.CSharp_DynamicSequenceResume__SWIG_2(in_playingID);

    return ret;
  }

  public static AKRESULT DynamicSequenceStop(uint in_playingID, int in_uTransitionDuration, AkCurveInterpolation in_eFadeCurve) {
    AKRESULT ret = (AKRESULT)AkSoundEnginePINVOKE.CSharp_DynamicSequenceStop__SWIG_0(in_playingID, in_uTransitionDuration, (int)in_eFadeCurve);

    return ret;
  }

  public static AKRESULT DynamicSequenceStop(uint in_playingID, int in_uTransitionDuration) {
    AKRESULT ret = (AKRESULT)AkSoundEnginePINVOKE.CSharp_DynamicSequenceStop__SWIG_1(in_playingID, in_uTransitionDuration);

    return ret;
  }

  public static AKRESULT DynamicSequenceStop(uint in_playingID) {
    AKRESULT ret = (AKRESULT)AkSoundEnginePINVOKE.CSharp_DynamicSequenceStop__SWIG_2(in_playingID);

    return ret;
  }

  public static AKRESULT DynamicSequenceBreak(uint in_playingID) {
    AKRESULT ret = (AKRESULT)AkSoundEnginePINVOKE.CSharp_DynamicSequenceBreak(in_playingID);

    return ret;
  }

  public static AKRESULT DynamicSequenceGetPauseTimes(uint in_playingID, out uint out_uTime, out uint out_uDuration) {
    AKRESULT ret = (AKRESULT)AkSoundEnginePINVOKE.CSharp_DynamicSequenceGetPauseTimes(in_playingID, out out_uTime, out out_uDuration);

    return ret;
  }

  public static Playlist DynamicSequenceLockPlaylist(uint in_playingID) {
    IntPtr cPtr = AkSoundEnginePINVOKE.CSharp_DynamicSequenceLockPlaylist(in_playingID);
    Playlist ret = (cPtr == IntPtr.Zero) ? null : new Playlist(cPtr, false);

    return ret;
  }

  public static AKRESULT DynamicSequenceUnlockPlaylist(uint in_playingID) {
    AKRESULT ret = (AKRESULT)AkSoundEnginePINVOKE.CSharp_DynamicSequenceUnlockPlaylist(in_playingID);

    return ret;
  }

  public static AKRESULT GetAudioSettings(AkAudioSettings out_audioSettings) {
    AKRESULT ret = (AKRESULT)AkSoundEnginePINVOKE.CSharp_GetAudioSettings(AkAudioSettings.getCPtr(out_audioSettings));

    return ret;
  }

  public static AkChannelConfig GetSpeakerConfiguration(AkAudioOutputType in_eOutputType, uint in_iOutputID) {
    AkChannelConfig ret = new AkChannelConfig(AkSoundEnginePINVOKE.CSharp_GetSpeakerConfiguration__SWIG_0((int)in_eOutputType, in_iOutputID), true);

    return ret;
  }

  public static AkChannelConfig GetSpeakerConfiguration(AkAudioOutputType in_eOutputType) {
    AkChannelConfig ret = new AkChannelConfig(AkSoundEnginePINVOKE.CSharp_GetSpeakerConfiguration__SWIG_1((int)in_eOutputType), true);

    return ret;
  }

  public static AkChannelConfig GetSpeakerConfiguration() {
    AkChannelConfig ret = new AkChannelConfig(AkSoundEnginePINVOKE.CSharp_GetSpeakerConfiguration__SWIG_2(), true);

    return ret;
  }

  public static AKRESULT GetPanningRule(out int out_ePanningRule, AkAudioOutputType in_eOutputType, uint in_iOutputID) {
    AKRESULT ret = (AKRESULT)AkSoundEnginePINVOKE.CSharp_GetPanningRule__SWIG_0(out out_ePanningRule, (int)in_eOutputType, in_iOutputID);

    return ret;
  }

  public static AKRESULT GetPanningRule(out int out_ePanningRule, AkAudioOutputType in_eOutputType) {
    AKRESULT ret = (AKRESULT)AkSoundEnginePINVOKE.CSharp_GetPanningRule__SWIG_1(out out_ePanningRule, (int)in_eOutputType);

    return ret;
  }

  public static AKRESULT GetPanningRule(out int out_ePanningRule) {
    AKRESULT ret = (AKRESULT)AkSoundEnginePINVOKE.CSharp_GetPanningRule__SWIG_2(out out_ePanningRule);

    return ret;
  }

  public static AKRESULT SetPanningRule(AkPanningRule in_ePanningRule, AkAudioOutputType in_eOutputType, uint in_iOutputID) {
    AKRESULT ret = (AKRESULT)AkSoundEnginePINVOKE.CSharp_SetPanningRule__SWIG_0((int)in_ePanningRule, (int)in_eOutputType, in_iOutputID);

    return ret;
  }

  public static AKRESULT SetPanningRule(AkPanningRule in_ePanningRule, AkAudioOutputType in_eOutputType) {
    AKRESULT ret = (AKRESULT)AkSoundEnginePINVOKE.CSharp_SetPanningRule__SWIG_1((int)in_ePanningRule, (int)in_eOutputType);

    return ret;
  }

  public static AKRESULT SetPanningRule(AkPanningRule in_ePanningRule) {
    AKRESULT ret = (AKRESULT)AkSoundEnginePINVOKE.CSharp_SetPanningRule__SWIG_2((int)in_ePanningRule);

    return ret;
  }

  public static AKRESULT GetSpeakerAngles(float[] io_pfSpeakerAngles, ref uint io_uNumAngles, out float out_fHeightAngle, AkAudioOutputType in_eOutputType, uint in_iOutputID) {
    AKRESULT ret = (AKRESULT)AkSoundEnginePINVOKE.CSharp_GetSpeakerAngles__SWIG_0(io_pfSpeakerAngles, ref io_uNumAngles, out out_fHeightAngle, (int)in_eOutputType, in_iOutputID);

    return ret;
  }

  public static AKRESULT GetSpeakerAngles(float[] io_pfSpeakerAngles, ref uint io_uNumAngles, out float out_fHeightAngle, AkAudioOutputType in_eOutputType) {
    AKRESULT ret = (AKRESULT)AkSoundEnginePINVOKE.CSharp_GetSpeakerAngles__SWIG_1(io_pfSpeakerAngles, ref io_uNumAngles, out out_fHeightAngle, (int)in_eOutputType);

    return ret;
  }

  public static AKRESULT GetSpeakerAngles(float[] io_pfSpeakerAngles, ref uint io_uNumAngles, out float out_fHeightAngle) {
    AKRESULT ret = (AKRESULT)AkSoundEnginePINVOKE.CSharp_GetSpeakerAngles__SWIG_2(io_pfSpeakerAngles, ref io_uNumAngles, out out_fHeightAngle);

    return ret;
  }

  public static AKRESULT SetSpeakerAngles(float[] in_pfSpeakerAngles, uint in_uNumAngles, float in_fHeightAngle, AkAudioOutputType in_eOutputType, uint in_iOutputID) {
    AKRESULT ret = (AKRESULT)AkSoundEnginePINVOKE.CSharp_SetSpeakerAngles__SWIG_0(in_pfSpeakerAngles, in_uNumAngles, in_fHeightAngle, (int)in_eOutputType, in_iOutputID);

    return ret;
  }

  public static AKRESULT SetSpeakerAngles(float[] in_pfSpeakerAngles, uint in_uNumAngles, float in_fHeightAngle, AkAudioOutputType in_eOutputType) {
    AKRESULT ret = (AKRESULT)AkSoundEnginePINVOKE.CSharp_SetSpeakerAngles__SWIG_1(in_pfSpeakerAngles, in_uNumAngles, in_fHeightAngle, (int)in_eOutputType);

    return ret;
  }

  public static AKRESULT SetSpeakerAngles(float[] in_pfSpeakerAngles, uint in_uNumAngles, float in_fHeightAngle) {
    AKRESULT ret = (AKRESULT)AkSoundEnginePINVOKE.CSharp_SetSpeakerAngles__SWIG_2(in_pfSpeakerAngles, in_uNumAngles, in_fHeightAngle);

    return ret;
  }

  public static AKRESULT SetVolumeThreshold(float in_fVolumeThresholdDB) {
    AKRESULT ret = (AKRESULT)AkSoundEnginePINVOKE.CSharp_SetVolumeThreshold(in_fVolumeThresholdDB);

    return ret;
  }

  public static AKRESULT SetMaxNumVoicesLimit(ushort in_maxNumberVoices) {
    AKRESULT ret = (AKRESULT)AkSoundEnginePINVOKE.CSharp_SetMaxNumVoicesLimit(in_maxNumberVoices);

    return ret;
  }

  public static AKRESULT RenderAudio(bool in_bAllowSyncRender) {
    AKRESULT ret = (AKRESULT)AkSoundEnginePINVOKE.CSharp_RenderAudio__SWIG_0(in_bAllowSyncRender);

    return ret;
  }

  public static AKRESULT RenderAudio() {
    AKRESULT ret = (AKRESULT)AkSoundEnginePINVOKE.CSharp_RenderAudio__SWIG_1();

    return ret;
  }

  public static AKRESULT RegisterPluginDLL(string in_DllName) {
    AKRESULT ret = (AKRESULT)AkSoundEnginePINVOKE.CSharp_RegisterPluginDLL(in_DllName);

    return ret;
  }

  public static uint GetIDFromString(string in_pszString) {
    uint ret = AkSoundEnginePINVOKE.CSharp_GetIDFromString__SWIG_0(in_pszString);

    return ret;
  }

  public static uint PostEvent(uint in_eventID, UnityEngine.GameObject in_gameObjectID, uint in_uFlags, AkCallbackManager.EventCallback in_pfnCallback, object in_pCookie, uint in_cExternals, AkExternalSourceInfo in_pExternalSources, uint in_PlayingID) {
    
		AkAutoObject tempObj = null;   
		uint tempin_gameObjectID = (uint)AutoRegisterAkGameObj(in_gameObjectID, ref tempObj);
		
	in_pCookie = AkCallbackManager.EventCallbackPackage.Create(in_pfnCallback, in_pCookie, ref in_uFlags);
    {
		uint ret = AkSoundEnginePINVOKE.CSharp_PostEvent__SWIG_0(in_eventID, tempin_gameObjectID, in_uFlags, in_uFlags != 0 ? (IntPtr)1 : (IntPtr)0, in_pCookie != null ? (IntPtr)in_pCookie.GetHashCode() : (IntPtr)0, in_cExternals, AkExternalSourceInfo.getCPtr(in_pExternalSources), in_PlayingID);
		AkCallbackManager.SetLastAddedPlayingID(ret);
		return ret;
	}
  }

  public static uint PostEvent(uint in_eventID, UnityEngine.GameObject in_gameObjectID, uint in_uFlags, AkCallbackManager.EventCallback in_pfnCallback, object in_pCookie, uint in_cExternals, AkExternalSourceInfo in_pExternalSources) {
    
		AkAutoObject tempObj = null;   
		uint tempin_gameObjectID = (uint)AutoRegisterAkGameObj(in_gameObjectID, ref tempObj);
		
	in_pCookie = AkCallbackManager.EventCallbackPackage.Create(in_pfnCallback, in_pCookie, ref in_uFlags);
    {
		uint ret = AkSoundEnginePINVOKE.CSharp_PostEvent__SWIG_1(in_eventID, tempin_gameObjectID, in_uFlags, in_uFlags != 0 ? (IntPtr)1 : (IntPtr)0, in_pCookie != null ? (IntPtr)in_pCookie.GetHashCode() : (IntPtr)0, in_cExternals, AkExternalSourceInfo.getCPtr(in_pExternalSources));
		AkCallbackManager.SetLastAddedPlayingID(ret);
		return ret;
	}
  }

  public static uint PostEvent(uint in_eventID, UnityEngine.GameObject in_gameObjectID, uint in_uFlags, AkCallbackManager.EventCallback in_pfnCallback, object in_pCookie, uint in_cExternals) {
    
		AkAutoObject tempObj = null;   
		uint tempin_gameObjectID = (uint)AutoRegisterAkGameObj(in_gameObjectID, ref tempObj);
		
	in_pCookie = AkCallbackManager.EventCallbackPackage.Create(in_pfnCallback, in_pCookie, ref in_uFlags);
    {
		uint ret = AkSoundEnginePINVOKE.CSharp_PostEvent__SWIG_2(in_eventID, tempin_gameObjectID, in_uFlags, in_uFlags != 0 ? (IntPtr)1 : (IntPtr)0, in_pCookie != null ? (IntPtr)in_pCookie.GetHashCode() : (IntPtr)0, in_cExternals);
		AkCallbackManager.SetLastAddedPlayingID(ret);
		return ret;
	}
  }

  public static uint PostEvent(uint in_eventID, UnityEngine.GameObject in_gameObjectID, uint in_uFlags, AkCallbackManager.EventCallback in_pfnCallback, object in_pCookie) {
    
		AkAutoObject tempObj = null;   
		uint tempin_gameObjectID = (uint)AutoRegisterAkGameObj(in_gameObjectID, ref tempObj);
		
	in_pCookie = AkCallbackManager.EventCallbackPackage.Create(in_pfnCallback, in_pCookie, ref in_uFlags);
    {
		uint ret = AkSoundEnginePINVOKE.CSharp_PostEvent__SWIG_3(in_eventID, tempin_gameObjectID, in_uFlags, in_uFlags != 0 ? (IntPtr)1 : (IntPtr)0, in_pCookie != null ? (IntPtr)in_pCookie.GetHashCode() : (IntPtr)0);
		AkCallbackManager.SetLastAddedPlayingID(ret);
		return ret;
	}
  }

  public static uint PostEvent(uint in_eventID, UnityEngine.GameObject in_gameObjectID, uint in_uFlags) {
    
		AkAutoObject tempObj = null;   
		uint tempin_gameObjectID = (uint)AutoRegisterAkGameObj(in_gameObjectID, ref tempObj);
		
    {
		uint ret = AkSoundEnginePINVOKE.CSharp_PostEvent__SWIG_4(in_eventID, tempin_gameObjectID, in_uFlags);
		AkCallbackManager.SetLastAddedPlayingID(ret);
		return ret;
	}
  }

  public static uint PostEvent(uint in_eventID, UnityEngine.GameObject in_gameObjectID) {
    
		AkAutoObject tempObj = null;   
		uint tempin_gameObjectID = (uint)AutoRegisterAkGameObj(in_gameObjectID, ref tempObj);
		
    {
		uint ret = AkSoundEnginePINVOKE.CSharp_PostEvent__SWIG_5(in_eventID, tempin_gameObjectID);
		AkCallbackManager.SetLastAddedPlayingID(ret);
		return ret;
	}
  }

  public static uint PostEvent(string in_pszEventName, UnityEngine.GameObject in_gameObjectID, uint in_uFlags, AkCallbackManager.EventCallback in_pfnCallback, object in_pCookie, uint in_cExternals, AkExternalSourceInfo in_pExternalSources, uint in_PlayingID) {
    
		AkAutoObject tempObj = null;   
		uint tempin_gameObjectID = (uint)AutoRegisterAkGameObj(in_gameObjectID, ref tempObj);
		
	in_pCookie = AkCallbackManager.EventCallbackPackage.Create(in_pfnCallback, in_pCookie, ref in_uFlags);
    {
		uint ret = AkSoundEnginePINVOKE.CSharp_PostEvent__SWIG_6(in_pszEventName, tempin_gameObjectID, in_uFlags, in_uFlags != 0 ? (IntPtr)1 : (IntPtr)0, in_pCookie != null ? (IntPtr)in_pCookie.GetHashCode() : (IntPtr)0, in_cExternals, AkExternalSourceInfo.getCPtr(in_pExternalSources), in_PlayingID);
		AkCallbackManager.SetLastAddedPlayingID(ret);
		return ret;
	}
  }

  public static uint PostEvent(string in_pszEventName, UnityEngine.GameObject in_gameObjectID, uint in_uFlags, AkCallbackManager.EventCallback in_pfnCallback, object in_pCookie, uint in_cExternals, AkExternalSourceInfo in_pExternalSources) {
    
		AkAutoObject tempObj = null;   
		uint tempin_gameObjectID = (uint)AutoRegisterAkGameObj(in_gameObjectID, ref tempObj);
		
	in_pCookie = AkCallbackManager.EventCallbackPackage.Create(in_pfnCallback, in_pCookie, ref in_uFlags);
    {
		uint ret = AkSoundEnginePINVOKE.CSharp_PostEvent__SWIG_7(in_pszEventName, tempin_gameObjectID, in_uFlags, in_uFlags != 0 ? (IntPtr)1 : (IntPtr)0, in_pCookie != null ? (IntPtr)in_pCookie.GetHashCode() : (IntPtr)0, in_cExternals, AkExternalSourceInfo.getCPtr(in_pExternalSources));
		AkCallbackManager.SetLastAddedPlayingID(ret);
		return ret;
	}
  }

  public static uint PostEvent(string in_pszEventName, UnityEngine.GameObject in_gameObjectID, uint in_uFlags, AkCallbackManager.EventCallback in_pfnCallback, object in_pCookie, uint in_cExternals) {
    
		AkAutoObject tempObj = null;   
		uint tempin_gameObjectID = (uint)AutoRegisterAkGameObj(in_gameObjectID, ref tempObj);
		
	in_pCookie = AkCallbackManager.EventCallbackPackage.Create(in_pfnCallback, in_pCookie, ref in_uFlags);
    {
		uint ret = AkSoundEnginePINVOKE.CSharp_PostEvent__SWIG_8(in_pszEventName, tempin_gameObjectID, in_uFlags, in_uFlags != 0 ? (IntPtr)1 : (IntPtr)0, in_pCookie != null ? (IntPtr)in_pCookie.GetHashCode() : (IntPtr)0, in_cExternals);
		AkCallbackManager.SetLastAddedPlayingID(ret);
		return ret;
	}
  }

  public static uint PostEvent(string in_pszEventName, UnityEngine.GameObject in_gameObjectID, uint in_uFlags, AkCallbackManager.EventCallback in_pfnCallback, object in_pCookie) {
    
		AkAutoObject tempObj = null;   
		uint tempin_gameObjectID = (uint)AutoRegisterAkGameObj(in_gameObjectID, ref tempObj);
		
	in_pCookie = AkCallbackManager.EventCallbackPackage.Create(in_pfnCallback, in_pCookie, ref in_uFlags);
    {
		uint ret = AkSoundEnginePINVOKE.CSharp_PostEvent__SWIG_9(in_pszEventName, tempin_gameObjectID, in_uFlags, in_uFlags != 0 ? (IntPtr)1 : (IntPtr)0, in_pCookie != null ? (IntPtr)in_pCookie.GetHashCode() : (IntPtr)0);
		AkCallbackManager.SetLastAddedPlayingID(ret);
		return ret;
	}
  }

  public static uint PostEvent(string in_pszEventName, UnityEngine.GameObject in_gameObjectID, uint in_uFlags) {
    
		AkAutoObject tempObj = null;   
		uint tempin_gameObjectID = (uint)AutoRegisterAkGameObj(in_gameObjectID, ref tempObj);
		
    {
		uint ret = AkSoundEnginePINVOKE.CSharp_PostEvent__SWIG_10(in_pszEventName, tempin_gameObjectID, in_uFlags);
		AkCallbackManager.SetLastAddedPlayingID(ret);
		return ret;
	}
  }

  public static uint PostEvent(string in_pszEventName, UnityEngine.GameObject in_gameObjectID) {
    
		AkAutoObject tempObj = null;   
		uint tempin_gameObjectID = (uint)AutoRegisterAkGameObj(in_gameObjectID, ref tempObj);
		
    {
		uint ret = AkSoundEnginePINVOKE.CSharp_PostEvent__SWIG_11(in_pszEventName, tempin_gameObjectID);
		AkCallbackManager.SetLastAddedPlayingID(ret);
		return ret;
	}
  }

  public static AKRESULT ExecuteActionOnEvent(uint in_eventID, AkActionOnEventType in_ActionType, UnityEngine.GameObject in_gameObjectID, int in_uTransitionDuration, AkCurveInterpolation in_eFadeCurve, uint in_PlayingID) {
    
		AkAutoObject tempObj = null;   
		uint tempin_gameObjectID = (uint)AutoRegisterAkGameObj(in_gameObjectID, ref tempObj);
		
    {
      AKRESULT ret = (AKRESULT)AkSoundEnginePINVOKE.CSharp_ExecuteActionOnEvent__SWIG_0(in_eventID, (int)in_ActionType, tempin_gameObjectID, in_uTransitionDuration, (int)in_eFadeCurve, in_PlayingID);

      return ret;
    }
  }

  public static AKRESULT ExecuteActionOnEvent(uint in_eventID, AkActionOnEventType in_ActionType, UnityEngine.GameObject in_gameObjectID, int in_uTransitionDuration, AkCurveInterpolation in_eFadeCurve) {
    
		AkAutoObject tempObj = null;   
		uint tempin_gameObjectID = (uint)AutoRegisterAkGameObj(in_gameObjectID, ref tempObj);
		
    {
      AKRESULT ret = (AKRESULT)AkSoundEnginePINVOKE.CSharp_ExecuteActionOnEvent__SWIG_1(in_eventID, (int)in_ActionType, tempin_gameObjectID, in_uTransitionDuration, (int)in_eFadeCurve);

      return ret;
    }
  }

  public static AKRESULT ExecuteActionOnEvent(uint in_eventID, AkActionOnEventType in_ActionType, UnityEngine.GameObject in_gameObjectID, int in_uTransitionDuration) {
    
		AkAutoObject tempObj = null;   
		uint tempin_gameObjectID = (uint)AutoRegisterAkGameObj(in_gameObjectID, ref tempObj);
		
    {
      AKRESULT ret = (AKRESULT)AkSoundEnginePINVOKE.CSharp_ExecuteActionOnEvent__SWIG_2(in_eventID, (int)in_ActionType, tempin_gameObjectID, in_uTransitionDuration);

      return ret;
    }
  }

  public static AKRESULT ExecuteActionOnEvent(uint in_eventID, AkActionOnEventType in_ActionType, UnityEngine.GameObject in_gameObjectID) {
    
		AkAutoObject tempObj = null;   
		uint tempin_gameObjectID = (uint)AutoRegisterAkGameObj(in_gameObjectID, ref tempObj);
		
    {
      AKRESULT ret = (AKRESULT)AkSoundEnginePINVOKE.CSharp_ExecuteActionOnEvent__SWIG_3(in_eventID, (int)in_ActionType, tempin_gameObjectID);

      return ret;
    }
  }

  public static AKRESULT ExecuteActionOnEvent(uint in_eventID, AkActionOnEventType in_ActionType) {
    AKRESULT ret = (AKRESULT)AkSoundEnginePINVOKE.CSharp_ExecuteActionOnEvent__SWIG_4(in_eventID, (int)in_ActionType);

    return ret;
  }

  public static AKRESULT ExecuteActionOnEvent(string in_pszEventName, AkActionOnEventType in_ActionType, UnityEngine.GameObject in_gameObjectID, int in_uTransitionDuration, AkCurveInterpolation in_eFadeCurve, uint in_PlayingID) {
    
		AkAutoObject tempObj = null;   
		uint tempin_gameObjectID = (uint)AutoRegisterAkGameObj(in_gameObjectID, ref tempObj);
		
    {
      AKRESULT ret = (AKRESULT)AkSoundEnginePINVOKE.CSharp_ExecuteActionOnEvent__SWIG_5(in_pszEventName, (int)in_ActionType, tempin_gameObjectID, in_uTransitionDuration, (int)in_eFadeCurve, in_PlayingID);

      return ret;
    }
  }

  public static AKRESULT ExecuteActionOnEvent(string in_pszEventName, AkActionOnEventType in_ActionType, UnityEngine.GameObject in_gameObjectID, int in_uTransitionDuration, AkCurveInterpolation in_eFadeCurve) {
    
		AkAutoObject tempObj = null;   
		uint tempin_gameObjectID = (uint)AutoRegisterAkGameObj(in_gameObjectID, ref tempObj);
		
    {
      AKRESULT ret = (AKRESULT)AkSoundEnginePINVOKE.CSharp_ExecuteActionOnEvent__SWIG_6(in_pszEventName, (int)in_ActionType, tempin_gameObjectID, in_uTransitionDuration, (int)in_eFadeCurve);

      return ret;
    }
  }

  public static AKRESULT ExecuteActionOnEvent(string in_pszEventName, AkActionOnEventType in_ActionType, UnityEngine.GameObject in_gameObjectID, int in_uTransitionDuration) {
    
		AkAutoObject tempObj = null;   
		uint tempin_gameObjectID = (uint)AutoRegisterAkGameObj(in_gameObjectID, ref tempObj);
		
    {
      AKRESULT ret = (AKRESULT)AkSoundEnginePINVOKE.CSharp_ExecuteActionOnEvent__SWIG_7(in_pszEventName, (int)in_ActionType, tempin_gameObjectID, in_uTransitionDuration);

      return ret;
    }
  }

  public static AKRESULT ExecuteActionOnEvent(string in_pszEventName, AkActionOnEventType in_ActionType, UnityEngine.GameObject in_gameObjectID) {
    
		AkAutoObject tempObj = null;   
		uint tempin_gameObjectID = (uint)AutoRegisterAkGameObj(in_gameObjectID, ref tempObj);
		
    {
      AKRESULT ret = (AKRESULT)AkSoundEnginePINVOKE.CSharp_ExecuteActionOnEvent__SWIG_8(in_pszEventName, (int)in_ActionType, tempin_gameObjectID);

      return ret;
    }
  }

  public static AKRESULT ExecuteActionOnEvent(string in_pszEventName, AkActionOnEventType in_ActionType) {
    AKRESULT ret = (AKRESULT)AkSoundEnginePINVOKE.CSharp_ExecuteActionOnEvent__SWIG_9(in_pszEventName, (int)in_ActionType);

    return ret;
  }

  public static AKRESULT PostMIDIOnEvent(uint in_eventID, UnityEngine.GameObject in_gameObjectID, AkMIDIPost in_pPosts, ushort in_uNumPosts) {
    
		AkAutoObject tempObj = null;   
		uint tempin_gameObjectID = (uint)AutoRegisterAkGameObj(in_gameObjectID, ref tempObj);
		
    {
      AKRESULT ret = (AKRESULT)AkSoundEnginePINVOKE.CSharp_PostMIDIOnEvent(in_eventID, tempin_gameObjectID, AkMIDIPost.getCPtr(in_pPosts), in_uNumPosts);

      return ret;
    }
  }

  public static AKRESULT StopMIDIOnEvent(uint in_eventID, UnityEngine.GameObject in_gameObjectID) {
    
		AkAutoObject tempObj = null;   
		uint tempin_gameObjectID = (uint)AutoRegisterAkGameObj(in_gameObjectID, ref tempObj);
		
    {
      AKRESULT ret = (AKRESULT)AkSoundEnginePINVOKE.CSharp_StopMIDIOnEvent__SWIG_0(in_eventID, tempin_gameObjectID);

      return ret;
    }
  }

  public static AKRESULT StopMIDIOnEvent(uint in_eventID) {
    AKRESULT ret = (AKRESULT)AkSoundEnginePINVOKE.CSharp_StopMIDIOnEvent__SWIG_1(in_eventID);

    return ret;
  }

  public static AKRESULT StopMIDIOnEvent() {
    AKRESULT ret = (AKRESULT)AkSoundEnginePINVOKE.CSharp_StopMIDIOnEvent__SWIG_2();

    return ret;
  }

  public static AKRESULT PinEventInStreamCache(uint in_eventID, char in_uActivePriority, char in_uInactivePriority) {
    AKRESULT ret = (AKRESULT)AkSoundEnginePINVOKE.CSharp_PinEventInStreamCache__SWIG_0(in_eventID, in_uActivePriority, in_uInactivePriority);

    return ret;
  }

  public static AKRESULT PinEventInStreamCache(string in_pszEventName, char in_uActivePriority, char in_uInactivePriority) {
    AKRESULT ret = (AKRESULT)AkSoundEnginePINVOKE.CSharp_PinEventInStreamCache__SWIG_1(in_pszEventName, in_uActivePriority, in_uInactivePriority);

    return ret;
  }

  public static AKRESULT UnpinEventInStreamCache(uint in_eventID) {
    AKRESULT ret = (AKRESULT)AkSoundEnginePINVOKE.CSharp_UnpinEventInStreamCache__SWIG_0(in_eventID);

    return ret;
  }

  public static AKRESULT UnpinEventInStreamCache(string in_pszEventName) {
    AKRESULT ret = (AKRESULT)AkSoundEnginePINVOKE.CSharp_UnpinEventInStreamCache__SWIG_1(in_pszEventName);

    return ret;
  }

  public static AKRESULT GetBufferStatusForPinnedEvent(uint in_eventID, out float out_fPercentBuffered, out int out_bCachePinnedMemoryFull) {
    AKRESULT ret = (AKRESULT)AkSoundEnginePINVOKE.CSharp_GetBufferStatusForPinnedEvent__SWIG_0(in_eventID, out out_fPercentBuffered, out out_bCachePinnedMemoryFull);

    return ret;
  }

  public static AKRESULT GetBufferStatusForPinnedEvent(string in_pszEventName, out float out_fPercentBuffered, out int out_bCachePinnedMemoryFull) {
    AKRESULT ret = (AKRESULT)AkSoundEnginePINVOKE.CSharp_GetBufferStatusForPinnedEvent__SWIG_1(in_pszEventName, out out_fPercentBuffered, out out_bCachePinnedMemoryFull);

    return ret;
  }

  public static AKRESULT SeekOnEvent(uint in_eventID, UnityEngine.GameObject in_gameObjectID, int in_iPosition, bool in_bSeekToNearestMarker, uint in_PlayingID) {
    
		AkAutoObject tempObj = null;   
		uint tempin_gameObjectID = (uint)AutoRegisterAkGameObj(in_gameObjectID, ref tempObj);
		
    {
      AKRESULT ret = (AKRESULT)AkSoundEnginePINVOKE.CSharp_SeekOnEvent__SWIG_0(in_eventID, tempin_gameObjectID, in_iPosition, in_bSeekToNearestMarker, in_PlayingID);

      return ret;
    }
  }

  public static AKRESULT SeekOnEvent(uint in_eventID, UnityEngine.GameObject in_gameObjectID, int in_iPosition, bool in_bSeekToNearestMarker) {
    
		AkAutoObject tempObj = null;   
		uint tempin_gameObjectID = (uint)AutoRegisterAkGameObj(in_gameObjectID, ref tempObj);
		
    {
      AKRESULT ret = (AKRESULT)AkSoundEnginePINVOKE.CSharp_SeekOnEvent__SWIG_1(in_eventID, tempin_gameObjectID, in_iPosition, in_bSeekToNearestMarker);

      return ret;
    }
  }

  public static AKRESULT SeekOnEvent(uint in_eventID, UnityEngine.GameObject in_gameObjectID, int in_iPosition) {
    
		AkAutoObject tempObj = null;   
		uint tempin_gameObjectID = (uint)AutoRegisterAkGameObj(in_gameObjectID, ref tempObj);
		
    {
      AKRESULT ret = (AKRESULT)AkSoundEnginePINVOKE.CSharp_SeekOnEvent__SWIG_2(in_eventID, tempin_gameObjectID, in_iPosition);

      return ret;
    }
  }

  public static AKRESULT SeekOnEvent(string in_pszEventName, UnityEngine.GameObject in_gameObjectID, int in_iPosition, bool in_bSeekToNearestMarker, uint in_PlayingID) {
    
		AkAutoObject tempObj = null;   
		uint tempin_gameObjectID = (uint)AutoRegisterAkGameObj(in_gameObjectID, ref tempObj);
		
    {
      AKRESULT ret = (AKRESULT)AkSoundEnginePINVOKE.CSharp_SeekOnEvent__SWIG_3(in_pszEventName, tempin_gameObjectID, in_iPosition, in_bSeekToNearestMarker, in_PlayingID);

      return ret;
    }
  }

  public static AKRESULT SeekOnEvent(string in_pszEventName, UnityEngine.GameObject in_gameObjectID, int in_iPosition, bool in_bSeekToNearestMarker) {
    
		AkAutoObject tempObj = null;   
		uint tempin_gameObjectID = (uint)AutoRegisterAkGameObj(in_gameObjectID, ref tempObj);
		
    {
      AKRESULT ret = (AKRESULT)AkSoundEnginePINVOKE.CSharp_SeekOnEvent__SWIG_4(in_pszEventName, tempin_gameObjectID, in_iPosition, in_bSeekToNearestMarker);

      return ret;
    }
  }

  public static AKRESULT SeekOnEvent(string in_pszEventName, UnityEngine.GameObject in_gameObjectID, int in_iPosition) {
    
		AkAutoObject tempObj = null;   
		uint tempin_gameObjectID = (uint)AutoRegisterAkGameObj(in_gameObjectID, ref tempObj);
		
    {
      AKRESULT ret = (AKRESULT)AkSoundEnginePINVOKE.CSharp_SeekOnEvent__SWIG_5(in_pszEventName, tempin_gameObjectID, in_iPosition);

      return ret;
    }
  }

  public static AKRESULT SeekOnEvent(uint in_eventID, UnityEngine.GameObject in_gameObjectID, float in_fPercent, bool in_bSeekToNearestMarker, uint in_PlayingID) {
    
		AkAutoObject tempObj = null;   
		uint tempin_gameObjectID = (uint)AutoRegisterAkGameObj(in_gameObjectID, ref tempObj);
		
    {
      AKRESULT ret = (AKRESULT)AkSoundEnginePINVOKE.CSharp_SeekOnEvent__SWIG_9(in_eventID, tempin_gameObjectID, in_fPercent, in_bSeekToNearestMarker, in_PlayingID);

      return ret;
    }
  }

  public static AKRESULT SeekOnEvent(uint in_eventID, UnityEngine.GameObject in_gameObjectID, float in_fPercent, bool in_bSeekToNearestMarker) {
    
		AkAutoObject tempObj = null;   
		uint tempin_gameObjectID = (uint)AutoRegisterAkGameObj(in_gameObjectID, ref tempObj);
		
    {
      AKRESULT ret = (AKRESULT)AkSoundEnginePINVOKE.CSharp_SeekOnEvent__SWIG_10(in_eventID, tempin_gameObjectID, in_fPercent, in_bSeekToNearestMarker);

      return ret;
    }
  }

  public static AKRESULT SeekOnEvent(uint in_eventID, UnityEngine.GameObject in_gameObjectID, float in_fPercent) {
    
		AkAutoObject tempObj = null;   
		uint tempin_gameObjectID = (uint)AutoRegisterAkGameObj(in_gameObjectID, ref tempObj);
		
    {
      AKRESULT ret = (AKRESULT)AkSoundEnginePINVOKE.CSharp_SeekOnEvent__SWIG_11(in_eventID, tempin_gameObjectID, in_fPercent);

      return ret;
    }
  }

  public static AKRESULT SeekOnEvent(string in_pszEventName, UnityEngine.GameObject in_gameObjectID, float in_fPercent, bool in_bSeekToNearestMarker, uint in_PlayingID) {
    
		AkAutoObject tempObj = null;   
		uint tempin_gameObjectID = (uint)AutoRegisterAkGameObj(in_gameObjectID, ref tempObj);
		
    {
      AKRESULT ret = (AKRESULT)AkSoundEnginePINVOKE.CSharp_SeekOnEvent__SWIG_12(in_pszEventName, tempin_gameObjectID, in_fPercent, in_bSeekToNearestMarker, in_PlayingID);

      return ret;
    }
  }

  public static AKRESULT SeekOnEvent(string in_pszEventName, UnityEngine.GameObject in_gameObjectID, float in_fPercent, bool in_bSeekToNearestMarker) {
    
		AkAutoObject tempObj = null;   
		uint tempin_gameObjectID = (uint)AutoRegisterAkGameObj(in_gameObjectID, ref tempObj);
		
    {
      AKRESULT ret = (AKRESULT)AkSoundEnginePINVOKE.CSharp_SeekOnEvent__SWIG_13(in_pszEventName, tempin_gameObjectID, in_fPercent, in_bSeekToNearestMarker);

      return ret;
    }
  }

  public static AKRESULT SeekOnEvent(string in_pszEventName, UnityEngine.GameObject in_gameObjectID, float in_fPercent) {
    
		AkAutoObject tempObj = null;   
		uint tempin_gameObjectID = (uint)AutoRegisterAkGameObj(in_gameObjectID, ref tempObj);
		
    {
      AKRESULT ret = (AKRESULT)AkSoundEnginePINVOKE.CSharp_SeekOnEvent__SWIG_14(in_pszEventName, tempin_gameObjectID, in_fPercent);

      return ret;
    }
  }

  public static void CancelEventCallbackCookie(object in_pCookie) {
		System.Collections.Generic.List<int> wwiseCookies = AkCallbackManager.RemoveEventCallbackCookie(in_pCookie);
		foreach(int cookie in wwiseCookies)
		{
			AkSoundEnginePINVOKE.CSharp_CancelEventCallbackCookie((IntPtr)cookie);
		}
	}

  public static void CancelEventCallback(uint in_playingID) {
		AkCallbackManager.RemoveEventCallback(in_playingID);
		AkSoundEnginePINVOKE.CSharp_CancelEventCallback(in_playingID);
	}

  public static AKRESULT GetSourcePlayPosition(uint in_PlayingID, out int out_puPosition, bool in_bExtrapolate) {
    AKRESULT ret = (AKRESULT)AkSoundEnginePINVOKE.CSharp_GetSourcePlayPosition__SWIG_0(in_PlayingID, out out_puPosition, in_bExtrapolate);

    return ret;
  }

  public static AKRESULT GetSourcePlayPosition(uint in_PlayingID, out int out_puPosition) {
    AKRESULT ret = (AKRESULT)AkSoundEnginePINVOKE.CSharp_GetSourcePlayPosition__SWIG_1(in_PlayingID, out out_puPosition);

    return ret;
  }

  public static AKRESULT GetSourceStreamBuffering(uint in_PlayingID, out int out_buffering, out int out_bIsBuffering) {
    AKRESULT ret = (AKRESULT)AkSoundEnginePINVOKE.CSharp_GetSourceStreamBuffering(in_PlayingID, out out_buffering, out out_bIsBuffering);

    return ret;
  }

  public static void StopAll(UnityEngine.GameObject in_gameObjectID) {
    
		AkAutoObject tempObj = null;   
		uint tempin_gameObjectID = (uint)AutoRegisterAkGameObj(in_gameObjectID, ref tempObj);
		
    {
      AkSoundEnginePINVOKE.CSharp_StopAll__SWIG_0(tempin_gameObjectID);

    }
  }

  public static void StopAll() {
    AkSoundEnginePINVOKE.CSharp_StopAll__SWIG_1();

  }

  public static void StopPlayingID(uint in_playingID, int in_uTransitionDuration, AkCurveInterpolation in_eFadeCurve) {
    AkSoundEnginePINVOKE.CSharp_StopPlayingID__SWIG_0(in_playingID, in_uTransitionDuration, (int)in_eFadeCurve);

  }

  public static void StopPlayingID(uint in_playingID, int in_uTransitionDuration) {
    AkSoundEnginePINVOKE.CSharp_StopPlayingID__SWIG_1(in_playingID, in_uTransitionDuration);

  }

  public static void StopPlayingID(uint in_playingID) {
    AkSoundEnginePINVOKE.CSharp_StopPlayingID__SWIG_2(in_playingID);

  }

  public static void SetRandomSeed(uint in_uSeed) {
    AkSoundEnginePINVOKE.CSharp_SetRandomSeed(in_uSeed);

  }

  public static void MuteBackgroundMusic(bool in_bMute) {
    AkSoundEnginePINVOKE.CSharp_MuteBackgroundMusic(in_bMute);

  }

  public static bool GetBackgroundMusicMute() {
    bool ret = AkSoundEnginePINVOKE.CSharp_GetBackgroundMusicMute();

    return ret;
  }

  public static AKRESULT SendPluginCustomGameData(uint in_busID, uint in_uFXIndex, IntPtr in_pData, uint in_uSizeInBytes) {
    AKRESULT ret = (AKRESULT)AkSoundEnginePINVOKE.CSharp_SendPluginCustomGameData(in_busID, in_uFXIndex, in_pData, in_uSizeInBytes);

    return ret;
  }

  public static AKRESULT UnregisterAllGameObj() {
    AKRESULT ret = (AKRESULT)AkSoundEnginePINVOKE.CSharp_UnregisterAllGameObj();

    return ret;
  }

  public static AKRESULT SetMultiplePositions(UnityEngine.GameObject in_GameObjectID, AkPositionArray in_pPositions, ushort in_NumPositions, MultiPositionType in_eMultiPositionType) {
    
		AkAutoObject tempObj = null;   
		uint tempin_GameObjectID = (uint)AutoRegisterAkGameObj(in_GameObjectID, ref tempObj);
		
    {
      AKRESULT ret = (AKRESULT)AkSoundEnginePINVOKE.CSharp_SetMultiplePositions__SWIG_0(tempin_GameObjectID, in_pPositions.m_Buffer, in_NumPositions, (int)in_eMultiPositionType);

      return ret;
    }
  }

  public static AKRESULT SetMultiplePositions(UnityEngine.GameObject in_GameObjectID, AkPositionArray in_pPositions, ushort in_NumPositions) {
    
		AkAutoObject tempObj = null;   
		uint tempin_GameObjectID = (uint)AutoRegisterAkGameObj(in_GameObjectID, ref tempObj);
		
    {
      AKRESULT ret = (AKRESULT)AkSoundEnginePINVOKE.CSharp_SetMultiplePositions__SWIG_1(tempin_GameObjectID, in_pPositions.m_Buffer, in_NumPositions);

      return ret;
    }
  }

  public static AKRESULT SetMultiplePositions(UnityEngine.GameObject in_GameObjectID, AkChannelEmitterArray in_pPositions, ushort in_NumPositions, MultiPositionType in_eMultiPositionType) {
    
		AkAutoObject tempObj = null;   
		uint tempin_GameObjectID = (uint)AutoRegisterAkGameObj(in_GameObjectID, ref tempObj);
		
    {
      AKRESULT ret = (AKRESULT)AkSoundEnginePINVOKE.CSharp_SetMultiplePositions__SWIG_2(tempin_GameObjectID, in_pPositions.m_Buffer, in_NumPositions, (int)in_eMultiPositionType);

      return ret;
    }
  }

  public static AKRESULT SetMultiplePositions(UnityEngine.GameObject in_GameObjectID, AkChannelEmitterArray in_pPositions, ushort in_NumPositions) {
    
		AkAutoObject tempObj = null;   
		uint tempin_GameObjectID = (uint)AutoRegisterAkGameObj(in_GameObjectID, ref tempObj);
		
    {
      AKRESULT ret = (AKRESULT)AkSoundEnginePINVOKE.CSharp_SetMultiplePositions__SWIG_3(tempin_GameObjectID, in_pPositions.m_Buffer, in_NumPositions);

      return ret;
    }
  }

  public static AKRESULT SetAttenuationScalingFactor(UnityEngine.GameObject in_GameObjectID, float in_fAttenuationScalingFactor) {
    
		AkAutoObject tempObj = null;   
		uint tempin_GameObjectID = (uint)AutoRegisterAkGameObj(in_GameObjectID, ref tempObj);
		
    {
      AKRESULT ret = (AKRESULT)AkSoundEnginePINVOKE.CSharp_SetAttenuationScalingFactor(tempin_GameObjectID, in_fAttenuationScalingFactor);

      return ret;
    }
  }

  public static AKRESULT SetListenerScalingFactor(uint in_uListenerIndex, float in_fListenerScalingFactor) {
    AKRESULT ret = (AKRESULT)AkSoundEnginePINVOKE.CSharp_SetListenerScalingFactor(in_uListenerIndex, in_fListenerScalingFactor);

    return ret;
  }

  public static AKRESULT ClearBanks() {
    AKRESULT ret = (AKRESULT)AkSoundEnginePINVOKE.CSharp_ClearBanks();

    return ret;
  }

  public static AKRESULT SetBankLoadIOSettings(float in_fThroughput, char in_priority) {
    AKRESULT ret = (AKRESULT)AkSoundEnginePINVOKE.CSharp_SetBankLoadIOSettings(in_fThroughput, in_priority);

    return ret;
  }

  public static AKRESULT LoadBank(string in_pszString, int in_memPoolId, out uint out_bankID) {
    AKRESULT ret = (AKRESULT)AkSoundEnginePINVOKE.CSharp_LoadBank__SWIG_0(in_pszString, in_memPoolId, out out_bankID);

    return ret;
  }

  public static AKRESULT LoadBank(uint in_bankID, int in_memPoolId) {
    AKRESULT ret = (AKRESULT)AkSoundEnginePINVOKE.CSharp_LoadBank__SWIG_1(in_bankID, in_memPoolId);

    return ret;
  }

  public static AKRESULT LoadBank(IntPtr in_pInMemoryBankPtr, uint in_uInMemoryBankSize, out uint out_bankID) {
    AKRESULT ret = (AKRESULT)AkSoundEnginePINVOKE.CSharp_LoadBank__SWIG_2(in_pInMemoryBankPtr, in_uInMemoryBankSize, out out_bankID);

    return ret;
  }

  public static AKRESULT LoadBank(IntPtr in_pInMemoryBankPtr, uint in_uInMemoryBankSize, int in_uPoolForBankMedia, out uint out_bankID) {
    AKRESULT ret = (AKRESULT)AkSoundEnginePINVOKE.CSharp_LoadBank__SWIG_3(in_pInMemoryBankPtr, in_uInMemoryBankSize, in_uPoolForBankMedia, out out_bankID);

    return ret;
  }

  public static AKRESULT LoadBank(string in_pszString, AkCallbackManager.BankCallback in_pfnBankCallback, object in_pCookie, int in_memPoolId, out uint out_bankID) {
		in_pCookie = new AkCallbackManager.BankCallbackPackage(in_pfnBankCallback, in_pCookie);
    {
      AKRESULT ret = (AKRESULT)AkSoundEnginePINVOKE.CSharp_LoadBank__SWIG_4(in_pszString, (IntPtr)0, in_pCookie != null ? (IntPtr)in_pCookie.GetHashCode() : (IntPtr)0, in_memPoolId, out out_bankID);

      return ret;
    }
  }

  public static AKRESULT LoadBank(uint in_bankID, AkCallbackManager.BankCallback in_pfnBankCallback, object in_pCookie, int in_memPoolId) {
		in_pCookie = new AkCallbackManager.BankCallbackPackage(in_pfnBankCallback, in_pCookie);
    {
      AKRESULT ret = (AKRESULT)AkSoundEnginePINVOKE.CSharp_LoadBank__SWIG_5(in_bankID, (IntPtr)0, in_pCookie != null ? (IntPtr)in_pCookie.GetHashCode() : (IntPtr)0, in_memPoolId);

      return ret;
    }
  }

  public static AKRESULT LoadBank(IntPtr in_pInMemoryBankPtr, uint in_uInMemoryBankSize, AkCallbackManager.BankCallback in_pfnBankCallback, object in_pCookie, out uint out_bankID) {
		in_pCookie = new AkCallbackManager.BankCallbackPackage(in_pfnBankCallback, in_pCookie);
    {
      AKRESULT ret = (AKRESULT)AkSoundEnginePINVOKE.CSharp_LoadBank__SWIG_6(in_pInMemoryBankPtr, in_uInMemoryBankSize, (IntPtr)0, in_pCookie != null ? (IntPtr)in_pCookie.GetHashCode() : (IntPtr)0, out out_bankID);

      return ret;
    }
  }

  public static AKRESULT LoadBank(IntPtr in_pInMemoryBankPtr, uint in_uInMemoryBankSize, AkCallbackManager.BankCallback in_pfnBankCallback, object in_pCookie, int in_uPoolForBankMedia, out uint out_bankID) {
		in_pCookie = new AkCallbackManager.BankCallbackPackage(in_pfnBankCallback, in_pCookie);
    {
      AKRESULT ret = (AKRESULT)AkSoundEnginePINVOKE.CSharp_LoadBank__SWIG_7(in_pInMemoryBankPtr, in_uInMemoryBankSize, (IntPtr)0, in_pCookie != null ? (IntPtr)in_pCookie.GetHashCode() : (IntPtr)0, in_uPoolForBankMedia, out out_bankID);

      return ret;
    }
  }

  public static AKRESULT UnloadBank(string in_pszString, IntPtr in_pInMemoryBankPtr, out int out_pMemPoolId) {
    AKRESULT ret = (AKRESULT)AkSoundEnginePINVOKE.CSharp_UnloadBank__SWIG_0(in_pszString, in_pInMemoryBankPtr, out out_pMemPoolId);

    return ret;
  }

  public static AKRESULT UnloadBank(string in_pszString, IntPtr in_pInMemoryBankPtr) {
    AKRESULT ret = (AKRESULT)AkSoundEnginePINVOKE.CSharp_UnloadBank__SWIG_1(in_pszString, in_pInMemoryBankPtr);

    return ret;
  }

  public static AKRESULT UnloadBank(uint in_bankID, IntPtr in_pInMemoryBankPtr, out int out_pMemPoolId) {
    AKRESULT ret = (AKRESULT)AkSoundEnginePINVOKE.CSharp_UnloadBank__SWIG_4(in_bankID, in_pInMemoryBankPtr, out out_pMemPoolId);

    return ret;
  }

  public static AKRESULT UnloadBank(uint in_bankID, IntPtr in_pInMemoryBankPtr) {
    AKRESULT ret = (AKRESULT)AkSoundEnginePINVOKE.CSharp_UnloadBank__SWIG_5(in_bankID, in_pInMemoryBankPtr);

    return ret;
  }

  public static AKRESULT UnloadBank(string in_pszString, IntPtr in_pInMemoryBankPtr, AkCallbackManager.BankCallback in_pfnBankCallback, object in_pCookie) {
		in_pCookie = new AkCallbackManager.BankCallbackPackage(in_pfnBankCallback, in_pCookie);
    {
      AKRESULT ret = (AKRESULT)AkSoundEnginePINVOKE.CSharp_UnloadBank__SWIG_6(in_pszString, in_pInMemoryBankPtr, (IntPtr)0, in_pCookie != null ? (IntPtr)in_pCookie.GetHashCode() : (IntPtr)0);

      return ret;
    }
  }

  public static AKRESULT UnloadBank(uint in_bankID, IntPtr in_pInMemoryBankPtr, AkCallbackManager.BankCallback in_pfnBankCallback, object in_pCookie) {
		in_pCookie = new AkCallbackManager.BankCallbackPackage(in_pfnBankCallback, in_pCookie);
    {
      AKRESULT ret = (AKRESULT)AkSoundEnginePINVOKE.CSharp_UnloadBank__SWIG_8(in_bankID, in_pInMemoryBankPtr, (IntPtr)0, in_pCookie != null ? (IntPtr)in_pCookie.GetHashCode() : (IntPtr)0);

      return ret;
    }
  }

  public static void CancelBankCallbackCookie(object in_pCookie) {
		System.Collections.Generic.List<int> wwiseCookies = AkCallbackManager.RemoveBankCallback(in_pCookie);
		foreach(int cookie in wwiseCookies)
		{
			AkSoundEnginePINVOKE.CSharp_CancelBankCallbackCookie((IntPtr)cookie);
		}
	}

  public static AKRESULT PrepareBank(PreparationType in_PreparationType, string in_pszString, AkBankContent in_uFlags) {
    AKRESULT ret = (AKRESULT)AkSoundEnginePINVOKE.CSharp_PrepareBank__SWIG_0((int)in_PreparationType, in_pszString, (int)in_uFlags);

    return ret;
  }

  public static AKRESULT PrepareBank(PreparationType in_PreparationType, string in_pszString) {
    AKRESULT ret = (AKRESULT)AkSoundEnginePINVOKE.CSharp_PrepareBank__SWIG_1((int)in_PreparationType, in_pszString);

    return ret;
  }

  public static AKRESULT PrepareBank(PreparationType in_PreparationType, uint in_bankID, AkBankContent in_uFlags) {
    AKRESULT ret = (AKRESULT)AkSoundEnginePINVOKE.CSharp_PrepareBank__SWIG_4((int)in_PreparationType, in_bankID, (int)in_uFlags);

    return ret;
  }

  public static AKRESULT PrepareBank(PreparationType in_PreparationType, uint in_bankID) {
    AKRESULT ret = (AKRESULT)AkSoundEnginePINVOKE.CSharp_PrepareBank__SWIG_5((int)in_PreparationType, in_bankID);

    return ret;
  }

  public static AKRESULT PrepareBank(PreparationType in_PreparationType, string in_pszString, AkCallbackManager.BankCallback in_pfnBankCallback, object in_pCookie, AkBankContent in_uFlags) {
		in_pCookie = new AkCallbackManager.BankCallbackPackage(in_pfnBankCallback, in_pCookie);
    {
      AKRESULT ret = (AKRESULT)AkSoundEnginePINVOKE.CSharp_PrepareBank__SWIG_6((int)in_PreparationType, in_pszString, (IntPtr)0, in_pCookie != null ? (IntPtr)in_pCookie.GetHashCode() : (IntPtr)0, (int)in_uFlags);

      return ret;
    }
  }

  public static AKRESULT PrepareBank(PreparationType in_PreparationType, string in_pszString, AkCallbackManager.BankCallback in_pfnBankCallback, object in_pCookie) {
		in_pCookie = new AkCallbackManager.BankCallbackPackage(in_pfnBankCallback, in_pCookie);
    {
      AKRESULT ret = (AKRESULT)AkSoundEnginePINVOKE.CSharp_PrepareBank__SWIG_7((int)in_PreparationType, in_pszString, (IntPtr)0, in_pCookie != null ? (IntPtr)in_pCookie.GetHashCode() : (IntPtr)0);

      return ret;
    }
  }

  public static AKRESULT PrepareBank(PreparationType in_PreparationType, uint in_bankID, AkCallbackManager.BankCallback in_pfnBankCallback, object in_pCookie, AkBankContent in_uFlags) {
		in_pCookie = new AkCallbackManager.BankCallbackPackage(in_pfnBankCallback, in_pCookie);
    {
      AKRESULT ret = (AKRESULT)AkSoundEnginePINVOKE.CSharp_PrepareBank__SWIG_10((int)in_PreparationType, in_bankID, (IntPtr)0, in_pCookie != null ? (IntPtr)in_pCookie.GetHashCode() : (IntPtr)0, (int)in_uFlags);

      return ret;
    }
  }

  public static AKRESULT PrepareBank(PreparationType in_PreparationType, uint in_bankID, AkCallbackManager.BankCallback in_pfnBankCallback, object in_pCookie) {
		in_pCookie = new AkCallbackManager.BankCallbackPackage(in_pfnBankCallback, in_pCookie);
    {
      AKRESULT ret = (AKRESULT)AkSoundEnginePINVOKE.CSharp_PrepareBank__SWIG_11((int)in_PreparationType, in_bankID, (IntPtr)0, in_pCookie != null ? (IntPtr)in_pCookie.GetHashCode() : (IntPtr)0);

      return ret;
    }
  }

  public static AKRESULT ClearPreparedEvents() {
    AKRESULT ret = (AKRESULT)AkSoundEnginePINVOKE.CSharp_ClearPreparedEvents();

    return ret;
  }

  public static AKRESULT PrepareEvent(PreparationType in_PreparationType, string [] in_ppszString, uint in_uNumEvent) {
			
		//Find the required size
		int size = 0;
		foreach(string s in in_ppszString)
			size += s.Length + 1;
				
		int sizeofChar = 2;	//Unicode
		IntPtr pMem = Marshal.AllocHGlobal(size * sizeofChar);
		
		//Write the length of array
		Marshal.WriteInt16(pMem, (short)in_ppszString.Length);
		IntPtr pCurrent = (IntPtr)(pMem.ToInt64() + sizeofChar);
		
		//Copy the strings one after the other.
		foreach(string s in in_ppszString)
		{
			Marshal.Copy(s.ToCharArray(), 0, pCurrent, s.Length);
			pCurrent = (IntPtr)(pCurrent.ToInt64() + sizeofChar * s.Length);
			Marshal.WriteInt16(pCurrent, 0);	//Null-terminated string
			pCurrent = (IntPtr)(pCurrent.ToInt64() + sizeofChar);
		}		
		
    try {
      AKRESULT ret = (AKRESULT)AkSoundEnginePINVOKE.CSharp_PrepareEvent__SWIG_0((int)in_PreparationType, pMem, in_uNumEvent);

      return ret;
    } finally {
	Marshal.FreeHGlobal(pMem);
    }
  }

  public static AKRESULT PrepareEvent(PreparationType in_PreparationType, uint[] in_pEventID, uint in_uNumEvent) {
    AKRESULT ret = (AKRESULT)AkSoundEnginePINVOKE.CSharp_PrepareEvent__SWIG_1((int)in_PreparationType, in_pEventID, in_uNumEvent);

    return ret;
  }

  public static AKRESULT PrepareEvent(PreparationType in_PreparationType, string [] in_ppszString, uint in_uNumEvent, AkCallbackManager.BankCallback in_pfnBankCallback, object in_pCookie) {
			
		//Find the required size
		int size = 0;
		foreach(string s in in_ppszString)
			size += s.Length + 1;
				
		int sizeofChar = 2;	//Unicode
		IntPtr pMem = Marshal.AllocHGlobal(size * sizeofChar);
		
		//Write the length of array
		Marshal.WriteInt16(pMem, (short)in_ppszString.Length);
		IntPtr pCurrent = (IntPtr)(pMem.ToInt64() + sizeofChar);
		
		//Copy the strings one after the other.
		foreach(string s in in_ppszString)
		{
			Marshal.Copy(s.ToCharArray(), 0, pCurrent, s.Length);
			pCurrent = (IntPtr)(pCurrent.ToInt64() + sizeofChar * s.Length);
			Marshal.WriteInt16(pCurrent, 0);	//Null-terminated string
			pCurrent = (IntPtr)(pCurrent.ToInt64() + sizeofChar);
		}		
		
		in_pCookie = new AkCallbackManager.BankCallbackPackage(in_pfnBankCallback, in_pCookie);
    try {
      AKRESULT ret = (AKRESULT)AkSoundEnginePINVOKE.CSharp_PrepareEvent__SWIG_2((int)in_PreparationType, pMem, in_uNumEvent, (IntPtr)0, in_pCookie != null ? (IntPtr)in_pCookie.GetHashCode() : (IntPtr)0);

      return ret;
    } finally {
	Marshal.FreeHGlobal(pMem);
    }
  }

  public static AKRESULT PrepareEvent(PreparationType in_PreparationType, uint[] in_pEventID, uint in_uNumEvent, AkCallbackManager.BankCallback in_pfnBankCallback, object in_pCookie) {
		in_pCookie = new AkCallbackManager.BankCallbackPackage(in_pfnBankCallback, in_pCookie);
    {
      AKRESULT ret = (AKRESULT)AkSoundEnginePINVOKE.CSharp_PrepareEvent__SWIG_3((int)in_PreparationType, in_pEventID, in_uNumEvent, (IntPtr)0, in_pCookie != null ? (IntPtr)in_pCookie.GetHashCode() : (IntPtr)0);

      return ret;
    }
  }

  public static AKRESULT SetMedia(AkSourceSettings in_pSourceSettings, uint in_uNumSourceSettings) {
    AKRESULT ret = (AKRESULT)AkSoundEnginePINVOKE.CSharp_SetMedia(AkSourceSettings.getCPtr(in_pSourceSettings), in_uNumSourceSettings);

    return ret;
  }

  public static AKRESULT UnsetMedia(AkSourceSettings in_pSourceSettings, uint in_uNumSourceSettings) {
    AKRESULT ret = (AKRESULT)AkSoundEnginePINVOKE.CSharp_UnsetMedia(AkSourceSettings.getCPtr(in_pSourceSettings), in_uNumSourceSettings);

    return ret;
  }

  public static AKRESULT PrepareGameSyncs(PreparationType in_PreparationType, AkGroupType in_eGameSyncType, string in_pszGroupName, string [] in_ppszGameSyncName, uint in_uNumGameSyncs) {
			
		//Find the required size
		int size = 0;
		foreach(string s in in_ppszGameSyncName)
			size += s.Length + 1;
				
		int sizeofChar = 2;	//Unicode
		IntPtr pMem = Marshal.AllocHGlobal(size * sizeofChar);
		
		//Write the length of array
		Marshal.WriteInt16(pMem, (short)in_ppszGameSyncName.Length);
		IntPtr pCurrent = (IntPtr)(pMem.ToInt64() + sizeofChar);
		
		//Copy the strings one after the other.
		foreach(string s in in_ppszGameSyncName)
		{
			Marshal.Copy(s.ToCharArray(), 0, pCurrent, s.Length);
			pCurrent = (IntPtr)(pCurrent.ToInt64() + sizeofChar * s.Length);
			Marshal.WriteInt16(pCurrent, 0);	//Null-terminated string
			pCurrent = (IntPtr)(pCurrent.ToInt64() + sizeofChar);
		}		
		
    try {
      AKRESULT ret = (AKRESULT)AkSoundEnginePINVOKE.CSharp_PrepareGameSyncs__SWIG_0((int)in_PreparationType, (int)in_eGameSyncType, in_pszGroupName, pMem, in_uNumGameSyncs);

      return ret;
    } finally {
	Marshal.FreeHGlobal(pMem);
    }
  }

  public static AKRESULT PrepareGameSyncs(PreparationType in_PreparationType, AkGroupType in_eGameSyncType, uint in_GroupID, uint[] in_paGameSyncID, uint in_uNumGameSyncs) {
    AKRESULT ret = (AKRESULT)AkSoundEnginePINVOKE.CSharp_PrepareGameSyncs__SWIG_1((int)in_PreparationType, (int)in_eGameSyncType, in_GroupID, in_paGameSyncID, in_uNumGameSyncs);

    return ret;
  }

  public static AKRESULT PrepareGameSyncs(PreparationType in_PreparationType, AkGroupType in_eGameSyncType, string in_pszGroupName, string [] in_ppszGameSyncName, uint in_uNumGameSyncs, AkCallbackManager.BankCallback in_pfnBankCallback, object in_pCookie) {
			
		//Find the required size
		int size = 0;
		foreach(string s in in_ppszGameSyncName)
			size += s.Length + 1;
				
		int sizeofChar = 2;	//Unicode
		IntPtr pMem = Marshal.AllocHGlobal(size * sizeofChar);
		
		//Write the length of array
		Marshal.WriteInt16(pMem, (short)in_ppszGameSyncName.Length);
		IntPtr pCurrent = (IntPtr)(pMem.ToInt64() + sizeofChar);
		
		//Copy the strings one after the other.
		foreach(string s in in_ppszGameSyncName)
		{
			Marshal.Copy(s.ToCharArray(), 0, pCurrent, s.Length);
			pCurrent = (IntPtr)(pCurrent.ToInt64() + sizeofChar * s.Length);
			Marshal.WriteInt16(pCurrent, 0);	//Null-terminated string
			pCurrent = (IntPtr)(pCurrent.ToInt64() + sizeofChar);
		}		
		
		in_pCookie = new AkCallbackManager.BankCallbackPackage(in_pfnBankCallback, in_pCookie);
    try {
      AKRESULT ret = (AKRESULT)AkSoundEnginePINVOKE.CSharp_PrepareGameSyncs__SWIG_2((int)in_PreparationType, (int)in_eGameSyncType, in_pszGroupName, pMem, in_uNumGameSyncs, (IntPtr)0, in_pCookie != null ? (IntPtr)in_pCookie.GetHashCode() : (IntPtr)0);

      return ret;
    } finally {
	Marshal.FreeHGlobal(pMem);
    }
  }

  public static AKRESULT PrepareGameSyncs(PreparationType in_PreparationType, AkGroupType in_eGameSyncType, uint in_GroupID, uint[] in_paGameSyncID, uint in_uNumGameSyncs, AkCallbackManager.BankCallback in_pfnBankCallback, object in_pCookie) {
		in_pCookie = new AkCallbackManager.BankCallbackPackage(in_pfnBankCallback, in_pCookie);
    {
      AKRESULT ret = (AKRESULT)AkSoundEnginePINVOKE.CSharp_PrepareGameSyncs__SWIG_3((int)in_PreparationType, (int)in_eGameSyncType, in_GroupID, in_paGameSyncID, in_uNumGameSyncs, (IntPtr)0, in_pCookie != null ? (IntPtr)in_pCookie.GetHashCode() : (IntPtr)0);

      return ret;
    }
  }

  public static AKRESULT SetActiveListeners(UnityEngine.GameObject in_GameObjectID, uint in_uListenerMask) {
    
		AkAutoObject tempObj = null;   
		uint tempin_GameObjectID = (uint)AutoRegisterAkGameObj(in_GameObjectID, ref tempObj);
		
    {
      AKRESULT ret = (AKRESULT)AkSoundEnginePINVOKE.CSharp_SetActiveListeners(tempin_GameObjectID, in_uListenerMask);

      return ret;
    }
  }

  public static AKRESULT SetListenerSpatialization(uint in_uIndex, bool in_bSpatialized, AkChannelConfig in_channelConfig, float[] in_pVolumeOffsets) {
    AKRESULT ret = (AKRESULT)AkSoundEnginePINVOKE.CSharp_SetListenerSpatialization__SWIG_0(in_uIndex, in_bSpatialized, AkChannelConfig.getCPtr(in_channelConfig), in_pVolumeOffsets);

    return ret;
  }

  public static AKRESULT SetListenerSpatialization(uint in_uIndex, bool in_bSpatialized, AkChannelConfig in_channelConfig) {
    AKRESULT ret = (AKRESULT)AkSoundEnginePINVOKE.CSharp_SetListenerSpatialization__SWIG_1(in_uIndex, in_bSpatialized, AkChannelConfig.getCPtr(in_channelConfig));

    return ret;
  }

  public static AKRESULT SetListenerPipeline(uint in_uIndex, bool in_bAudio, bool in_bMotion) {
    AKRESULT ret = (AKRESULT)AkSoundEnginePINVOKE.CSharp_SetListenerPipeline(in_uIndex, in_bAudio, in_bMotion);

    return ret;
  }

  public static AKRESULT SetRTPCValue(uint in_rtpcID, float in_value, UnityEngine.GameObject in_gameObjectID, int in_uValueChangeDuration, AkCurveInterpolation in_eFadeCurve, bool in_bBypassInternalValueInterpolation) {
    
		AkAutoObject tempObj = null;   
		uint tempin_gameObjectID = (uint)AutoRegisterAkGameObj(in_gameObjectID, ref tempObj);
		
    {
      AKRESULT ret = (AKRESULT)AkSoundEnginePINVOKE.CSharp_SetRTPCValue__SWIG_0(in_rtpcID, in_value, tempin_gameObjectID, in_uValueChangeDuration, (int)in_eFadeCurve, in_bBypassInternalValueInterpolation);

      return ret;
    }
  }

  public static AKRESULT SetRTPCValue(uint in_rtpcID, float in_value, UnityEngine.GameObject in_gameObjectID, int in_uValueChangeDuration, AkCurveInterpolation in_eFadeCurve) {
    
		AkAutoObject tempObj = null;   
		uint tempin_gameObjectID = (uint)AutoRegisterAkGameObj(in_gameObjectID, ref tempObj);
		
    {
      AKRESULT ret = (AKRESULT)AkSoundEnginePINVOKE.CSharp_SetRTPCValue__SWIG_1(in_rtpcID, in_value, tempin_gameObjectID, in_uValueChangeDuration, (int)in_eFadeCurve);

      return ret;
    }
  }

  public static AKRESULT SetRTPCValue(uint in_rtpcID, float in_value, UnityEngine.GameObject in_gameObjectID, int in_uValueChangeDuration) {
    
		AkAutoObject tempObj = null;   
		uint tempin_gameObjectID = (uint)AutoRegisterAkGameObj(in_gameObjectID, ref tempObj);
		
    {
      AKRESULT ret = (AKRESULT)AkSoundEnginePINVOKE.CSharp_SetRTPCValue__SWIG_2(in_rtpcID, in_value, tempin_gameObjectID, in_uValueChangeDuration);

      return ret;
    }
  }

  public static AKRESULT SetRTPCValue(uint in_rtpcID, float in_value, UnityEngine.GameObject in_gameObjectID) {
    
		AkAutoObject tempObj = null;   
		uint tempin_gameObjectID = (uint)AutoRegisterAkGameObj(in_gameObjectID, ref tempObj);
		
    {
      AKRESULT ret = (AKRESULT)AkSoundEnginePINVOKE.CSharp_SetRTPCValue__SWIG_3(in_rtpcID, in_value, tempin_gameObjectID);

      return ret;
    }
  }

  public static AKRESULT SetRTPCValue(uint in_rtpcID, float in_value) {
    AKRESULT ret = (AKRESULT)AkSoundEnginePINVOKE.CSharp_SetRTPCValue__SWIG_4(in_rtpcID, in_value);

    return ret;
  }

  public static AKRESULT SetRTPCValue(string in_pszRtpcName, float in_value, UnityEngine.GameObject in_gameObjectID, int in_uValueChangeDuration, AkCurveInterpolation in_eFadeCurve, bool in_bBypassInternalValueInterpolation) {
    
		AkAutoObject tempObj = null;   
		uint tempin_gameObjectID = (uint)AutoRegisterAkGameObj(in_gameObjectID, ref tempObj);
		
    {
      AKRESULT ret = (AKRESULT)AkSoundEnginePINVOKE.CSharp_SetRTPCValue__SWIG_5(in_pszRtpcName, in_value, tempin_gameObjectID, in_uValueChangeDuration, (int)in_eFadeCurve, in_bBypassInternalValueInterpolation);

      return ret;
    }
  }

  public static AKRESULT SetRTPCValue(string in_pszRtpcName, float in_value, UnityEngine.GameObject in_gameObjectID, int in_uValueChangeDuration, AkCurveInterpolation in_eFadeCurve) {
    
		AkAutoObject tempObj = null;   
		uint tempin_gameObjectID = (uint)AutoRegisterAkGameObj(in_gameObjectID, ref tempObj);
		
    {
      AKRESULT ret = (AKRESULT)AkSoundEnginePINVOKE.CSharp_SetRTPCValue__SWIG_6(in_pszRtpcName, in_value, tempin_gameObjectID, in_uValueChangeDuration, (int)in_eFadeCurve);

      return ret;
    }
  }

  public static AKRESULT SetRTPCValue(string in_pszRtpcName, float in_value, UnityEngine.GameObject in_gameObjectID, int in_uValueChangeDuration) {
    
		AkAutoObject tempObj = null;   
		uint tempin_gameObjectID = (uint)AutoRegisterAkGameObj(in_gameObjectID, ref tempObj);
		
    {
      AKRESULT ret = (AKRESULT)AkSoundEnginePINVOKE.CSharp_SetRTPCValue__SWIG_7(in_pszRtpcName, in_value, tempin_gameObjectID, in_uValueChangeDuration);

      return ret;
    }
  }

  public static AKRESULT SetRTPCValue(string in_pszRtpcName, float in_value, UnityEngine.GameObject in_gameObjectID) {
    
		AkAutoObject tempObj = null;   
		uint tempin_gameObjectID = (uint)AutoRegisterAkGameObj(in_gameObjectID, ref tempObj);
		
    {
      AKRESULT ret = (AKRESULT)AkSoundEnginePINVOKE.CSharp_SetRTPCValue__SWIG_8(in_pszRtpcName, in_value, tempin_gameObjectID);

      return ret;
    }
  }

  public static AKRESULT SetRTPCValue(string in_pszRtpcName, float in_value) {
    AKRESULT ret = (AKRESULT)AkSoundEnginePINVOKE.CSharp_SetRTPCValue__SWIG_9(in_pszRtpcName, in_value);

    return ret;
  }

  public static AKRESULT SetRTPCValueByPlayingID(uint in_rtpcID, float in_value, uint in_playingID, int in_uValueChangeDuration, AkCurveInterpolation in_eFadeCurve, bool in_bBypassInternalValueInterpolation) {
    AKRESULT ret = (AKRESULT)AkSoundEnginePINVOKE.CSharp_SetRTPCValueByPlayingID__SWIG_0(in_rtpcID, in_value, in_playingID, in_uValueChangeDuration, (int)in_eFadeCurve, in_bBypassInternalValueInterpolation);

    return ret;
  }

  public static AKRESULT SetRTPCValueByPlayingID(uint in_rtpcID, float in_value, uint in_playingID, int in_uValueChangeDuration, AkCurveInterpolation in_eFadeCurve) {
    AKRESULT ret = (AKRESULT)AkSoundEnginePINVOKE.CSharp_SetRTPCValueByPlayingID__SWIG_1(in_rtpcID, in_value, in_playingID, in_uValueChangeDuration, (int)in_eFadeCurve);

    return ret;
  }

  public static AKRESULT SetRTPCValueByPlayingID(uint in_rtpcID, float in_value, uint in_playingID, int in_uValueChangeDuration) {
    AKRESULT ret = (AKRESULT)AkSoundEnginePINVOKE.CSharp_SetRTPCValueByPlayingID__SWIG_2(in_rtpcID, in_value, in_playingID, in_uValueChangeDuration);

    return ret;
  }

  public static AKRESULT SetRTPCValueByPlayingID(uint in_rtpcID, float in_value, uint in_playingID) {
    AKRESULT ret = (AKRESULT)AkSoundEnginePINVOKE.CSharp_SetRTPCValueByPlayingID__SWIG_3(in_rtpcID, in_value, in_playingID);

    return ret;
  }

  public static AKRESULT SetRTPCValueByPlayingID(string in_pszRtpcName, float in_value, uint in_playingID, int in_uValueChangeDuration, AkCurveInterpolation in_eFadeCurve, bool in_bBypassInternalValueInterpolation) {
    AKRESULT ret = (AKRESULT)AkSoundEnginePINVOKE.CSharp_SetRTPCValueByPlayingID__SWIG_4(in_pszRtpcName, in_value, in_playingID, in_uValueChangeDuration, (int)in_eFadeCurve, in_bBypassInternalValueInterpolation);

    return ret;
  }

  public static AKRESULT SetRTPCValueByPlayingID(string in_pszRtpcName, float in_value, uint in_playingID, int in_uValueChangeDuration, AkCurveInterpolation in_eFadeCurve) {
    AKRESULT ret = (AKRESULT)AkSoundEnginePINVOKE.CSharp_SetRTPCValueByPlayingID__SWIG_5(in_pszRtpcName, in_value, in_playingID, in_uValueChangeDuration, (int)in_eFadeCurve);

    return ret;
  }

  public static AKRESULT SetRTPCValueByPlayingID(string in_pszRtpcName, float in_value, uint in_playingID, int in_uValueChangeDuration) {
    AKRESULT ret = (AKRESULT)AkSoundEnginePINVOKE.CSharp_SetRTPCValueByPlayingID__SWIG_6(in_pszRtpcName, in_value, in_playingID, in_uValueChangeDuration);

    return ret;
  }

  public static AKRESULT SetRTPCValueByPlayingID(string in_pszRtpcName, float in_value, uint in_playingID) {
    AKRESULT ret = (AKRESULT)AkSoundEnginePINVOKE.CSharp_SetRTPCValueByPlayingID__SWIG_7(in_pszRtpcName, in_value, in_playingID);

    return ret;
  }

  public static AKRESULT ResetRTPCValue(uint in_rtpcID, UnityEngine.GameObject in_gameObjectID, int in_uValueChangeDuration, AkCurveInterpolation in_eFadeCurve, bool in_bBypassInternalValueInterpolation) {
    
		AkAutoObject tempObj = null;   
		uint tempin_gameObjectID = (uint)AutoRegisterAkGameObj(in_gameObjectID, ref tempObj);
		
    {
      AKRESULT ret = (AKRESULT)AkSoundEnginePINVOKE.CSharp_ResetRTPCValue__SWIG_0(in_rtpcID, tempin_gameObjectID, in_uValueChangeDuration, (int)in_eFadeCurve, in_bBypassInternalValueInterpolation);

      return ret;
    }
  }

  public static AKRESULT ResetRTPCValue(uint in_rtpcID, UnityEngine.GameObject in_gameObjectID, int in_uValueChangeDuration, AkCurveInterpolation in_eFadeCurve) {
    
		AkAutoObject tempObj = null;   
		uint tempin_gameObjectID = (uint)AutoRegisterAkGameObj(in_gameObjectID, ref tempObj);
		
    {
      AKRESULT ret = (AKRESULT)AkSoundEnginePINVOKE.CSharp_ResetRTPCValue__SWIG_1(in_rtpcID, tempin_gameObjectID, in_uValueChangeDuration, (int)in_eFadeCurve);

      return ret;
    }
  }

  public static AKRESULT ResetRTPCValue(uint in_rtpcID, UnityEngine.GameObject in_gameObjectID, int in_uValueChangeDuration) {
    
		AkAutoObject tempObj = null;   
		uint tempin_gameObjectID = (uint)AutoRegisterAkGameObj(in_gameObjectID, ref tempObj);
		
    {
      AKRESULT ret = (AKRESULT)AkSoundEnginePINVOKE.CSharp_ResetRTPCValue__SWIG_2(in_rtpcID, tempin_gameObjectID, in_uValueChangeDuration);

      return ret;
    }
  }

  public static AKRESULT ResetRTPCValue(uint in_rtpcID, UnityEngine.GameObject in_gameObjectID) {
    
		AkAutoObject tempObj = null;   
		uint tempin_gameObjectID = (uint)AutoRegisterAkGameObj(in_gameObjectID, ref tempObj);
		
    {
      AKRESULT ret = (AKRESULT)AkSoundEnginePINVOKE.CSharp_ResetRTPCValue__SWIG_3(in_rtpcID, tempin_gameObjectID);

      return ret;
    }
  }

  public static AKRESULT ResetRTPCValue(uint in_rtpcID) {
    AKRESULT ret = (AKRESULT)AkSoundEnginePINVOKE.CSharp_ResetRTPCValue__SWIG_4(in_rtpcID);

    return ret;
  }

  public static AKRESULT ResetRTPCValue(string in_pszRtpcName, UnityEngine.GameObject in_gameObjectID, int in_uValueChangeDuration, AkCurveInterpolation in_eFadeCurve, bool in_bBypassInternalValueInterpolation) {
    
		AkAutoObject tempObj = null;   
		uint tempin_gameObjectID = (uint)AutoRegisterAkGameObj(in_gameObjectID, ref tempObj);
		
    {
      AKRESULT ret = (AKRESULT)AkSoundEnginePINVOKE.CSharp_ResetRTPCValue__SWIG_5(in_pszRtpcName, tempin_gameObjectID, in_uValueChangeDuration, (int)in_eFadeCurve, in_bBypassInternalValueInterpolation);

      return ret;
    }
  }

  public static AKRESULT ResetRTPCValue(string in_pszRtpcName, UnityEngine.GameObject in_gameObjectID, int in_uValueChangeDuration, AkCurveInterpolation in_eFadeCurve) {
    
		AkAutoObject tempObj = null;   
		uint tempin_gameObjectID = (uint)AutoRegisterAkGameObj(in_gameObjectID, ref tempObj);
		
    {
      AKRESULT ret = (AKRESULT)AkSoundEnginePINVOKE.CSharp_ResetRTPCValue__SWIG_6(in_pszRtpcName, tempin_gameObjectID, in_uValueChangeDuration, (int)in_eFadeCurve);

      return ret;
    }
  }

  public static AKRESULT ResetRTPCValue(string in_pszRtpcName, UnityEngine.GameObject in_gameObjectID, int in_uValueChangeDuration) {
    
		AkAutoObject tempObj = null;   
		uint tempin_gameObjectID = (uint)AutoRegisterAkGameObj(in_gameObjectID, ref tempObj);
		
    {
      AKRESULT ret = (AKRESULT)AkSoundEnginePINVOKE.CSharp_ResetRTPCValue__SWIG_7(in_pszRtpcName, tempin_gameObjectID, in_uValueChangeDuration);

      return ret;
    }
  }

  public static AKRESULT ResetRTPCValue(string in_pszRtpcName, UnityEngine.GameObject in_gameObjectID) {
    
		AkAutoObject tempObj = null;   
		uint tempin_gameObjectID = (uint)AutoRegisterAkGameObj(in_gameObjectID, ref tempObj);
		
    {
      AKRESULT ret = (AKRESULT)AkSoundEnginePINVOKE.CSharp_ResetRTPCValue__SWIG_8(in_pszRtpcName, tempin_gameObjectID);

      return ret;
    }
  }

  public static AKRESULT ResetRTPCValue(string in_pszRtpcName) {
    AKRESULT ret = (AKRESULT)AkSoundEnginePINVOKE.CSharp_ResetRTPCValue__SWIG_9(in_pszRtpcName);

    return ret;
  }

  public static AKRESULT SetSwitch(uint in_switchGroup, uint in_switchState, UnityEngine.GameObject in_gameObjectID) {
    
		AkAutoObject tempObj = null;   
		uint tempin_gameObjectID = (uint)AutoRegisterAkGameObj(in_gameObjectID, ref tempObj);
		
    {
      AKRESULT ret = (AKRESULT)AkSoundEnginePINVOKE.CSharp_SetSwitch__SWIG_0(in_switchGroup, in_switchState, tempin_gameObjectID);

      return ret;
    }
  }

  public static AKRESULT SetSwitch(string in_pszSwitchGroup, string in_pszSwitchState, UnityEngine.GameObject in_gameObjectID) {
    
		AkAutoObject tempObj = null;   
		uint tempin_gameObjectID = (uint)AutoRegisterAkGameObj(in_gameObjectID, ref tempObj);
		
    {
      AKRESULT ret = (AKRESULT)AkSoundEnginePINVOKE.CSharp_SetSwitch__SWIG_1(in_pszSwitchGroup, in_pszSwitchState, tempin_gameObjectID);

      return ret;
    }
  }

  public static AKRESULT PostTrigger(uint in_triggerID, UnityEngine.GameObject in_gameObjectID) {
    
		AkAutoObject tempObj = null;   
		uint tempin_gameObjectID = (uint)AutoRegisterAkGameObj(in_gameObjectID, ref tempObj);
		
    {
      AKRESULT ret = (AKRESULT)AkSoundEnginePINVOKE.CSharp_PostTrigger__SWIG_0(in_triggerID, tempin_gameObjectID);

      return ret;
    }
  }

  public static AKRESULT PostTrigger(string in_pszTrigger, UnityEngine.GameObject in_gameObjectID) {
    
		AkAutoObject tempObj = null;   
		uint tempin_gameObjectID = (uint)AutoRegisterAkGameObj(in_gameObjectID, ref tempObj);
		
    {
      AKRESULT ret = (AKRESULT)AkSoundEnginePINVOKE.CSharp_PostTrigger__SWIG_1(in_pszTrigger, tempin_gameObjectID);

      return ret;
    }
  }

  public static AKRESULT SetState(uint in_stateGroup, uint in_state) {
    AKRESULT ret = (AKRESULT)AkSoundEnginePINVOKE.CSharp_SetState__SWIG_0(in_stateGroup, in_state);

    return ret;
  }

  public static AKRESULT SetState(string in_pszStateGroup, string in_pszState) {
    AKRESULT ret = (AKRESULT)AkSoundEnginePINVOKE.CSharp_SetState__SWIG_1(in_pszStateGroup, in_pszState);

    return ret;
  }

  public static AKRESULT SetGameObjectAuxSendValues(UnityEngine.GameObject in_gameObjectID, AkAuxSendArray in_aAuxSendValues, uint in_uNumSendValues) {
    
		AkAutoObject tempObj = null;   
		uint tempin_gameObjectID = (uint)AutoRegisterAkGameObj(in_gameObjectID, ref tempObj);
		
    {
      AKRESULT ret = (AKRESULT)AkSoundEnginePINVOKE.CSharp_SetGameObjectAuxSendValues(tempin_gameObjectID, in_aAuxSendValues.m_Buffer, in_uNumSendValues);

      return ret;
    }
  }

  public static AKRESULT SetGameObjectOutputBusVolume(UnityEngine.GameObject in_gameObjectID, float in_fControlValue) {
    
		AkAutoObject tempObj = null;   
		uint tempin_gameObjectID = (uint)AutoRegisterAkGameObj(in_gameObjectID, ref tempObj);
		
    {
      AKRESULT ret = (AKRESULT)AkSoundEnginePINVOKE.CSharp_SetGameObjectOutputBusVolume(tempin_gameObjectID, in_fControlValue);

      return ret;
    }
  }

  public static AKRESULT SetActorMixerEffect(uint in_audioNodeID, uint in_uFXIndex, uint in_shareSetID) {
    AKRESULT ret = (AKRESULT)AkSoundEnginePINVOKE.CSharp_SetActorMixerEffect(in_audioNodeID, in_uFXIndex, in_shareSetID);

    return ret;
  }

  public static AKRESULT SetBusEffect(uint in_audioNodeID, uint in_uFXIndex, uint in_shareSetID) {
    AKRESULT ret = (AKRESULT)AkSoundEnginePINVOKE.CSharp_SetBusEffect__SWIG_0(in_audioNodeID, in_uFXIndex, in_shareSetID);

    return ret;
  }

  public static AKRESULT SetBusEffect(string in_pszBusName, uint in_uFXIndex, uint in_shareSetID) {
    AKRESULT ret = (AKRESULT)AkSoundEnginePINVOKE.CSharp_SetBusEffect__SWIG_1(in_pszBusName, in_uFXIndex, in_shareSetID);

    return ret;
  }

  public static AKRESULT SetMixer(uint in_audioNodeID, uint in_shareSetID) {
    AKRESULT ret = (AKRESULT)AkSoundEnginePINVOKE.CSharp_SetMixer__SWIG_0(in_audioNodeID, in_shareSetID);

    return ret;
  }

  public static AKRESULT SetMixer(string in_pszBusName, uint in_shareSetID) {
    AKRESULT ret = (AKRESULT)AkSoundEnginePINVOKE.CSharp_SetMixer__SWIG_1(in_pszBusName, in_shareSetID);

    return ret;
  }

  public static AKRESULT SetBusConfig(uint in_audioNodeID, AkChannelConfig in_channelConfig) {
    AKRESULT ret = (AKRESULT)AkSoundEnginePINVOKE.CSharp_SetBusConfig__SWIG_0(in_audioNodeID, AkChannelConfig.getCPtr(in_channelConfig));

    return ret;
  }

  public static AKRESULT SetBusConfig(string in_pszBusName, AkChannelConfig in_channelConfig) {
    AKRESULT ret = (AKRESULT)AkSoundEnginePINVOKE.CSharp_SetBusConfig__SWIG_1(in_pszBusName, AkChannelConfig.getCPtr(in_channelConfig));

    return ret;
  }

  public static AKRESULT SetObjectObstructionAndOcclusion(UnityEngine.GameObject in_ObjectID, uint in_uListener, float in_fObstructionLevel, float in_fOcclusionLevel) {
    
		AkAutoObject tempObj = null;   
		uint tempin_ObjectID = (uint)AutoRegisterAkGameObj(in_ObjectID, ref tempObj);
		
    {
      AKRESULT ret = (AKRESULT)AkSoundEnginePINVOKE.CSharp_SetObjectObstructionAndOcclusion(tempin_ObjectID, in_uListener, in_fObstructionLevel, in_fOcclusionLevel);

      return ret;
    }
  }

  public static AKRESULT StartOutputCapture(string in_CaptureFileName) {
    AKRESULT ret = (AKRESULT)AkSoundEnginePINVOKE.CSharp_StartOutputCapture(in_CaptureFileName);

    return ret;
  }

  public static AKRESULT StopOutputCapture() {
    AKRESULT ret = (AKRESULT)AkSoundEnginePINVOKE.CSharp_StopOutputCapture();

    return ret;
  }

  public static AKRESULT AddOutputCaptureMarker(string in_MarkerText) {
    AKRESULT ret = (AKRESULT)AkSoundEnginePINVOKE.CSharp_AddOutputCaptureMarker(in_MarkerText);

    return ret;
  }

  public static AKRESULT StartProfilerCapture(string in_CaptureFileName) {
    AKRESULT ret = (AKRESULT)AkSoundEnginePINVOKE.CSharp_StartProfilerCapture(in_CaptureFileName);

    return ret;
  }

  public static AKRESULT StopProfilerCapture() {
    AKRESULT ret = (AKRESULT)AkSoundEnginePINVOKE.CSharp_StopProfilerCapture();

    return ret;
  }

  public static AKRESULT AddSecondaryOutput(uint in_iOutputID, AkAudioOutputType in_iDeviceType, uint in_uListenerMask, uint in_uOutputFlags, uint in_audioDeviceShareset) {
    AKRESULT ret = (AKRESULT)AkSoundEnginePINVOKE.CSharp_AddSecondaryOutput__SWIG_0(in_iOutputID, (int)in_iDeviceType, in_uListenerMask, in_uOutputFlags, in_audioDeviceShareset);

    return ret;
  }

  public static AKRESULT AddSecondaryOutput(uint in_iOutputID, AkAudioOutputType in_iDeviceType, uint in_uListenerMask, uint in_uOutputFlags) {
    AKRESULT ret = (AKRESULT)AkSoundEnginePINVOKE.CSharp_AddSecondaryOutput__SWIG_1(in_iOutputID, (int)in_iDeviceType, in_uListenerMask, in_uOutputFlags);

    return ret;
  }

  public static AKRESULT AddSecondaryOutput(uint in_iOutputID, AkAudioOutputType in_iDeviceType, uint in_uListenerMask) {
    AKRESULT ret = (AKRESULT)AkSoundEnginePINVOKE.CSharp_AddSecondaryOutput__SWIG_2(in_iOutputID, (int)in_iDeviceType, in_uListenerMask);

    return ret;
  }

  public static AKRESULT RemoveSecondaryOutput(uint in_iOutputID, AkAudioOutputType in_iDeviceType) {
    AKRESULT ret = (AKRESULT)AkSoundEnginePINVOKE.CSharp_RemoveSecondaryOutput(in_iOutputID, (int)in_iDeviceType);

    return ret;
  }

  public static AKRESULT SetSecondaryOutputVolume(uint in_iOutputID, AkAudioOutputType in_iDeviceType, float in_fVolume) {
    AKRESULT ret = (AKRESULT)AkSoundEnginePINVOKE.CSharp_SetSecondaryOutputVolume(in_iOutputID, (int)in_iDeviceType, in_fVolume);

    return ret;
  }

  public static AKRESULT Suspend(bool in_bRenderAnyway) {
    AKRESULT ret = (AKRESULT)AkSoundEnginePINVOKE.CSharp_Suspend__SWIG_0(in_bRenderAnyway);

    return ret;
  }

  public static AKRESULT Suspend() {
    AKRESULT ret = (AKRESULT)AkSoundEnginePINVOKE.CSharp_Suspend__SWIG_1();

    return ret;
  }

  public static AKRESULT WakeupFromSuspend() {
    AKRESULT ret = (AKRESULT)AkSoundEnginePINVOKE.CSharp_WakeupFromSuspend();

    return ret;
  }

  public static uint GetBufferTick() {
    uint ret = AkSoundEnginePINVOKE.CSharp_GetBufferTick();

    return ret;
  }

  public static byte AK_INVALID_MIDI_CHANNEL {
    get {
      byte ret = AkSoundEnginePINVOKE.CSharp_AK_INVALID_MIDI_CHANNEL_get();

      return ret;
    } 
  }

  public static byte AK_INVALID_MIDI_NOTE {
    get {
      byte ret = AkSoundEnginePINVOKE.CSharp_AK_INVALID_MIDI_NOTE_get();

      return ret;
    } 
  }

  public static AKRESULT GetPlayingSegmentInfo(uint in_PlayingID, AkSegmentInfo out_segmentInfo, bool in_bExtrapolate) {
    AKRESULT ret = (AKRESULT)AkSoundEnginePINVOKE.CSharp_GetPlayingSegmentInfo__SWIG_0(in_PlayingID, AkSegmentInfo.getCPtr(out_segmentInfo), in_bExtrapolate);

    return ret;
  }

  public static AKRESULT GetPlayingSegmentInfo(uint in_PlayingID, AkSegmentInfo out_segmentInfo) {
    AKRESULT ret = (AKRESULT)AkSoundEnginePINVOKE.CSharp_GetPlayingSegmentInfo__SWIG_1(in_PlayingID, AkSegmentInfo.getCPtr(out_segmentInfo));

    return ret;
  }

  public static AKRESULT PostCode(ErrorCode in_eError, ErrorLevel in_eErrorLevel, uint in_playingID, UnityEngine.GameObject in_gameObjID, uint in_audioNodeID, bool in_bIsBus) {
    
		AkAutoObject tempObj = null;   
		uint tempin_gameObjID = (uint)AutoRegisterAkGameObj(in_gameObjID, ref tempObj);
		
    {
      AKRESULT ret = (AKRESULT)AkSoundEnginePINVOKE.CSharp_PostCode__SWIG_0((int)in_eError, (int)in_eErrorLevel, in_playingID, tempin_gameObjID, in_audioNodeID, in_bIsBus);

      return ret;
    }
  }

  public static AKRESULT PostCode(ErrorCode in_eError, ErrorLevel in_eErrorLevel, uint in_playingID, UnityEngine.GameObject in_gameObjID, uint in_audioNodeID) {
    
		AkAutoObject tempObj = null;   
		uint tempin_gameObjID = (uint)AutoRegisterAkGameObj(in_gameObjID, ref tempObj);
		
    {
      AKRESULT ret = (AKRESULT)AkSoundEnginePINVOKE.CSharp_PostCode__SWIG_1((int)in_eError, (int)in_eErrorLevel, in_playingID, tempin_gameObjID, in_audioNodeID);

      return ret;
    }
  }

  public static AKRESULT PostCode(ErrorCode in_eError, ErrorLevel in_eErrorLevel, uint in_playingID, UnityEngine.GameObject in_gameObjID) {
    
		AkAutoObject tempObj = null;   
		uint tempin_gameObjID = (uint)AutoRegisterAkGameObj(in_gameObjID, ref tempObj);
		
    {
      AKRESULT ret = (AKRESULT)AkSoundEnginePINVOKE.CSharp_PostCode__SWIG_2((int)in_eError, (int)in_eErrorLevel, in_playingID, tempin_gameObjID);

      return ret;
    }
  }

  public static AKRESULT PostCode(ErrorCode in_eError, ErrorLevel in_eErrorLevel, uint in_playingID) {
    AKRESULT ret = (AKRESULT)AkSoundEnginePINVOKE.CSharp_PostCode__SWIG_3((int)in_eError, (int)in_eErrorLevel, in_playingID);

    return ret;
  }

  public static AKRESULT PostCode(ErrorCode in_eError, ErrorLevel in_eErrorLevel) {
    AKRESULT ret = (AKRESULT)AkSoundEnginePINVOKE.CSharp_PostCode__SWIG_4((int)in_eError, (int)in_eErrorLevel);

    return ret;
  }

  public static AKRESULT PostString(string in_pszError, ErrorLevel in_eErrorLevel, uint in_playingID, UnityEngine.GameObject in_gameObjID, uint in_audioNodeID, bool in_bIsBus) {
    
		AkAutoObject tempObj = null;   
		uint tempin_gameObjID = (uint)AutoRegisterAkGameObj(in_gameObjID, ref tempObj);
		
    {
      AKRESULT ret = (AKRESULT)AkSoundEnginePINVOKE.CSharp_PostString__SWIG_0(in_pszError, (int)in_eErrorLevel, in_playingID, tempin_gameObjID, in_audioNodeID, in_bIsBus);

      return ret;
    }
  }

  public static AKRESULT PostString(string in_pszError, ErrorLevel in_eErrorLevel, uint in_playingID, UnityEngine.GameObject in_gameObjID, uint in_audioNodeID) {
    
		AkAutoObject tempObj = null;   
		uint tempin_gameObjID = (uint)AutoRegisterAkGameObj(in_gameObjID, ref tempObj);
		
    {
      AKRESULT ret = (AKRESULT)AkSoundEnginePINVOKE.CSharp_PostString__SWIG_1(in_pszError, (int)in_eErrorLevel, in_playingID, tempin_gameObjID, in_audioNodeID);

      return ret;
    }
  }

  public static AKRESULT PostString(string in_pszError, ErrorLevel in_eErrorLevel, uint in_playingID, UnityEngine.GameObject in_gameObjID) {
    
		AkAutoObject tempObj = null;   
		uint tempin_gameObjID = (uint)AutoRegisterAkGameObj(in_gameObjID, ref tempObj);
		
    {
      AKRESULT ret = (AKRESULT)AkSoundEnginePINVOKE.CSharp_PostString__SWIG_2(in_pszError, (int)in_eErrorLevel, in_playingID, tempin_gameObjID);

      return ret;
    }
  }

  public static AKRESULT PostString(string in_pszError, ErrorLevel in_eErrorLevel, uint in_playingID) {
    AKRESULT ret = (AKRESULT)AkSoundEnginePINVOKE.CSharp_PostString__SWIG_3(in_pszError, (int)in_eErrorLevel, in_playingID);

    return ret;
  }

  public static AKRESULT PostString(string in_pszError, ErrorLevel in_eErrorLevel) {
    AKRESULT ret = (AKRESULT)AkSoundEnginePINVOKE.CSharp_PostString__SWIG_4(in_pszError, (int)in_eErrorLevel);

    return ret;
  }

  public static int GetTimeStamp() {
    int ret = AkSoundEnginePINVOKE.CSharp_GetTimeStamp();

    return ret;
  }

  public static uint GetNumNonZeroBits(uint in_uWord) {
    uint ret = AkSoundEnginePINVOKE.CSharp_GetNumNonZeroBits(in_uWord);

    return ret;
  }

  public static uint ResolveDialogueEvent(uint in_eventID, uint[] in_aArgumentValues, uint in_uNumArguments, uint in_idSequence) {
    uint ret = AkSoundEnginePINVOKE.CSharp_ResolveDialogueEvent__SWIG_0(in_eventID, in_aArgumentValues, in_uNumArguments, in_idSequence);

    return ret;
  }

  public static uint ResolveDialogueEvent(uint in_eventID, uint[] in_aArgumentValues, uint in_uNumArguments) {
    uint ret = AkSoundEnginePINVOKE.CSharp_ResolveDialogueEvent__SWIG_1(in_eventID, in_aArgumentValues, in_uNumArguments);

    return ret;
  }

  public static AKRESULT GetDialogueEventCustomPropertyValue(uint in_eventID, uint in_uPropID, out int out_iValue) {
    AKRESULT ret = (AKRESULT)AkSoundEnginePINVOKE.CSharp_GetDialogueEventCustomPropertyValue__SWIG_0(in_eventID, in_uPropID, out out_iValue);

    return ret;
  }

  public static AKRESULT GetDialogueEventCustomPropertyValue(uint in_eventID, uint in_uPropID, out float out_fValue) {
    AKRESULT ret = (AKRESULT)AkSoundEnginePINVOKE.CSharp_GetDialogueEventCustomPropertyValue__SWIG_1(in_eventID, in_uPropID, out out_fValue);

    return ret;
  }

  public static AKRESULT GetPosition(UnityEngine.GameObject in_GameObjectID, AkTransform out_rPosition) {
    
		AkAutoObject tempObj = null;   
		uint tempin_GameObjectID = (uint)AutoRegisterAkGameObj(in_GameObjectID, ref tempObj);
		
    {
      AKRESULT ret = (AKRESULT)AkSoundEnginePINVOKE.CSharp_GetPosition(tempin_GameObjectID, AkTransform.getCPtr(out_rPosition));

      return ret;
    }
  }

  public static AKRESULT GetActiveListeners(UnityEngine.GameObject in_GameObjectID, out uint out_ruListenerMask) {
    
		AkAutoObject tempObj = null;   
		uint tempin_GameObjectID = (uint)AutoRegisterAkGameObj(in_GameObjectID, ref tempObj);
		
    {
      AKRESULT ret = (AKRESULT)AkSoundEnginePINVOKE.CSharp_GetActiveListeners(tempin_GameObjectID, out out_ruListenerMask);

      return ret;
    }
  }

  public static AKRESULT GetListenerPosition(uint in_uIndex, AkTransform out_rPosition) {
    AKRESULT ret = (AKRESULT)AkSoundEnginePINVOKE.CSharp_GetListenerPosition(in_uIndex, AkTransform.getCPtr(out_rPosition));

    return ret;
  }

  public static AKRESULT GetRTPCValue(uint in_rtpcID, UnityEngine.GameObject in_gameObjectID, uint in_playingID, out float out_rValue, ref int io_rValueType) {
    
		AkAutoObject tempObj = null;   
		uint tempin_gameObjectID = (uint)AutoRegisterAkGameObj(in_gameObjectID, ref tempObj);
		
    {
      AKRESULT ret = (AKRESULT)AkSoundEnginePINVOKE.CSharp_GetRTPCValue__SWIG_0(in_rtpcID, tempin_gameObjectID, in_playingID, out out_rValue, ref io_rValueType);

      return ret;
    }
  }

  public static AKRESULT GetRTPCValue(string in_pszRtpcName, UnityEngine.GameObject in_gameObjectID, uint in_playingID, out float out_rValue, ref int io_rValueType) {
    
		AkAutoObject tempObj = null;   
		uint tempin_gameObjectID = (uint)AutoRegisterAkGameObj(in_gameObjectID, ref tempObj);
		
    {
      AKRESULT ret = (AKRESULT)AkSoundEnginePINVOKE.CSharp_GetRTPCValue__SWIG_1(in_pszRtpcName, tempin_gameObjectID, in_playingID, out out_rValue, ref io_rValueType);

      return ret;
    }
  }

  public static AKRESULT GetSwitch(uint in_switchGroup, UnityEngine.GameObject in_gameObjectID, out uint out_rSwitchState) {
    
		AkAutoObject tempObj = null;   
		uint tempin_gameObjectID = (uint)AutoRegisterAkGameObj(in_gameObjectID, ref tempObj);
		
    {
      AKRESULT ret = (AKRESULT)AkSoundEnginePINVOKE.CSharp_GetSwitch__SWIG_0(in_switchGroup, tempin_gameObjectID, out out_rSwitchState);

      return ret;
    }
  }

  public static AKRESULT GetSwitch(string in_pstrSwitchGroupName, UnityEngine.GameObject in_GameObj, out uint out_rSwitchState) {
    
		AkAutoObject tempObj = null;   
		uint tempin_GameObj = (uint)AutoRegisterAkGameObj(in_GameObj, ref tempObj);
		
    {
      AKRESULT ret = (AKRESULT)AkSoundEnginePINVOKE.CSharp_GetSwitch__SWIG_1(in_pstrSwitchGroupName, tempin_GameObj, out out_rSwitchState);

      return ret;
    }
  }

  public static AKRESULT GetState(uint in_stateGroup, out uint out_rState) {
    AKRESULT ret = (AKRESULT)AkSoundEnginePINVOKE.CSharp_GetState__SWIG_0(in_stateGroup, out out_rState);

    return ret;
  }

  public static AKRESULT GetState(string in_pstrStateGroupName, out uint out_rState) {
    AKRESULT ret = (AKRESULT)AkSoundEnginePINVOKE.CSharp_GetState__SWIG_1(in_pstrStateGroupName, out out_rState);

    return ret;
  }

  public static AKRESULT GetGameObjectAuxSendValues(UnityEngine.GameObject in_gameObjectID, AkAuxSendArray out_paAuxSendValues, ref uint io_ruNumSendValues) {
    
		AkAutoObject tempObj = null;   
		uint tempin_gameObjectID = (uint)AutoRegisterAkGameObj(in_gameObjectID, ref tempObj);
		
    {
      AKRESULT ret = (AKRESULT)AkSoundEnginePINVOKE.CSharp_GetGameObjectAuxSendValues(tempin_gameObjectID, out_paAuxSendValues.m_Buffer, ref io_ruNumSendValues);

      return ret;
    }
  }

  public static AKRESULT GetGameObjectDryLevelValue(UnityEngine.GameObject in_gameObjectID, out float out_rfControlValue) {
    
		AkAutoObject tempObj = null;   
		uint tempin_gameObjectID = (uint)AutoRegisterAkGameObj(in_gameObjectID, ref tempObj);
		
    {
      AKRESULT ret = (AKRESULT)AkSoundEnginePINVOKE.CSharp_GetGameObjectDryLevelValue(tempin_gameObjectID, out out_rfControlValue);

      return ret;
    }
  }

  public static AKRESULT GetObjectObstructionAndOcclusion(UnityEngine.GameObject in_ObjectID, uint in_uListener, out float out_rfObstructionLevel, out float out_rfOcclusionLevel) {
    
		AkAutoObject tempObj = null;   
		uint tempin_ObjectID = (uint)AutoRegisterAkGameObj(in_ObjectID, ref tempObj);
		
    {
      AKRESULT ret = (AKRESULT)AkSoundEnginePINVOKE.CSharp_GetObjectObstructionAndOcclusion(tempin_ObjectID, in_uListener, out out_rfObstructionLevel, out out_rfOcclusionLevel);

      return ret;
    }
  }

  public static AKRESULT QueryAudioObjectIDs(uint in_eventID, ref uint io_ruNumItems, AkObjectInfo out_aObjectInfos) {
    AKRESULT ret = (AKRESULT)AkSoundEnginePINVOKE.CSharp_QueryAudioObjectIDs__SWIG_0(in_eventID, ref io_ruNumItems, AkObjectInfo.getCPtr(out_aObjectInfos));

    return ret;
  }

  public static AKRESULT QueryAudioObjectIDs(string in_pszEventName, ref uint io_ruNumItems, AkObjectInfo out_aObjectInfos) {
    AKRESULT ret = (AKRESULT)AkSoundEnginePINVOKE.CSharp_QueryAudioObjectIDs__SWIG_1(in_pszEventName, ref io_ruNumItems, AkObjectInfo.getCPtr(out_aObjectInfos));

    return ret;
  }

  public static AKRESULT GetPositioningInfo(uint in_ObjectID, AkPositioningInfo out_rPositioningInfo) {
    AKRESULT ret = (AKRESULT)AkSoundEnginePINVOKE.CSharp_GetPositioningInfo(in_ObjectID, AkPositioningInfo.getCPtr(out_rPositioningInfo));

    return ret;
  }

  public static bool GetIsGameObjectActive(UnityEngine.GameObject in_GameObjId) {
    
		AkAutoObject tempObj = null;   
		uint tempin_GameObjId = (uint)AutoRegisterAkGameObj(in_GameObjId, ref tempObj);
		
    {
      bool ret = AkSoundEnginePINVOKE.CSharp_GetIsGameObjectActive(tempin_GameObjId);

      return ret;
    }
  }

  public static float GetMaxRadius(UnityEngine.GameObject in_GameObjId) {
    
		AkAutoObject tempObj = null;   
		uint tempin_GameObjId = (uint)AutoRegisterAkGameObj(in_GameObjId, ref tempObj);
		
    {
      float ret = AkSoundEnginePINVOKE.CSharp_GetMaxRadius(tempin_GameObjId);

      return ret;
    }
  }

  public static uint GetEventIDFromPlayingID(uint in_playingID) {
    uint ret = AkSoundEnginePINVOKE.CSharp_GetEventIDFromPlayingID(in_playingID);

    return ret;
  }

  public static uint GetGameObjectFromPlayingID(uint in_playingID) { return (uint)AkSoundEnginePINVOKE.CSharp_GetGameObjectFromPlayingID(in_playingID); }

  public static AKRESULT GetPlayingIDsFromGameObject(UnityEngine.GameObject in_GameObjId, ref uint io_ruNumIDs, uint[] out_aPlayingIDs) {
    
		AkAutoObject tempObj = null;   
		uint tempin_GameObjId = (uint)AutoRegisterAkGameObj(in_GameObjId, ref tempObj);
		
    {
      AKRESULT ret = (AKRESULT)AkSoundEnginePINVOKE.CSharp_GetPlayingIDsFromGameObject(tempin_GameObjId, ref io_ruNumIDs, out_aPlayingIDs);

      return ret;
    }
  }

  public static AKRESULT GetCustomPropertyValue(uint in_ObjectID, uint in_uPropID, out int out_iValue) {
    AKRESULT ret = (AKRESULT)AkSoundEnginePINVOKE.CSharp_GetCustomPropertyValue__SWIG_0(in_ObjectID, in_uPropID, out out_iValue);

    return ret;
  }

  public static AKRESULT GetCustomPropertyValue(uint in_ObjectID, uint in_uPropID, out float out_fValue) {
    AKRESULT ret = (AKRESULT)AkSoundEnginePINVOKE.CSharp_GetCustomPropertyValue__SWIG_1(in_ObjectID, in_uPropID, out out_fValue);

    return ret;
  }

  public static void AK_SPEAKER_SETUP_FIX_LEFT_TO_CENTER(ref uint io_uChannelMask) {
    AkSoundEnginePINVOKE.CSharp_AK_SPEAKER_SETUP_FIX_LEFT_TO_CENTER(ref io_uChannelMask);

  }

  public static void AK_SPEAKER_SETUP_FIX_REAR_TO_SIDE(ref uint io_uChannelMask) {
    AkSoundEnginePINVOKE.CSharp_AK_SPEAKER_SETUP_FIX_REAR_TO_SIDE(ref io_uChannelMask);

  }

  public static void AK_SPEAKER_SETUP_CONVERT_TO_SUPPORTED(ref uint io_uChannelMask) {
    AkSoundEnginePINVOKE.CSharp_AK_SPEAKER_SETUP_CONVERT_TO_SUPPORTED(ref io_uChannelMask);

  }

  public static byte ChannelMaskToNumChannels(uint in_uChannelMask) {
    byte ret = AkSoundEnginePINVOKE.CSharp_ChannelMaskToNumChannels(in_uChannelMask);

    return ret;
  }

  public static uint ChannelMaskFromNumChannels(uint in_uNumChannels) {
    uint ret = AkSoundEnginePINVOKE.CSharp_ChannelMaskFromNumChannels(in_uNumChannels);

    return ret;
  }

  public static byte ChannelBitToIndex(uint in_uChannelBit, uint in_uChannelMask) {
    byte ret = AkSoundEnginePINVOKE.CSharp_ChannelBitToIndex(in_uChannelBit, in_uChannelMask);

    return ret;
  }

  public static bool HasSurroundChannels(uint in_uChannelMask) {
    bool ret = AkSoundEnginePINVOKE.CSharp_HasSurroundChannels(in_uChannelMask);

    return ret;
  }

  public static bool HasStrictlyOnePairOfSurroundChannels(uint in_uChannelMask) {
    bool ret = AkSoundEnginePINVOKE.CSharp_HasStrictlyOnePairOfSurroundChannels(in_uChannelMask);

    return ret;
  }

  public static bool HasSideAndRearChannels(uint in_uChannelMask) {
    bool ret = AkSoundEnginePINVOKE.CSharp_HasSideAndRearChannels(in_uChannelMask);

    return ret;
  }

  public static bool HasHeightChannels(uint in_uChannelMask) {
    bool ret = AkSoundEnginePINVOKE.CSharp_HasHeightChannels(in_uChannelMask);

    return ret;
  }

  public static uint BackToSideChannels(uint in_uChannelMask) {
    uint ret = AkSoundEnginePINVOKE.CSharp_BackToSideChannels(in_uChannelMask);

    return ret;
  }

  public static uint StdChannelIndexToDisplayIndex(AkChannelOrdering in_eOrdering, uint in_uChannelMask, uint in_uChannelIdx) {
    uint ret = AkSoundEnginePINVOKE.CSharp_StdChannelIndexToDisplayIndex((int)in_eOrdering, in_uChannelMask, in_uChannelIdx);

    return ret;
  }

  public static AKRESULT AddPlayerMotionDevice(byte in_iPlayerID, uint in_iCompanyID, uint in_iDeviceID, IntPtr in_pDevice, uint in_uSize) {
    AKRESULT ret = (AKRESULT)AkSoundEnginePINVOKE.CSharp_AddPlayerMotionDevice__SWIG_0(in_iPlayerID, in_iCompanyID, in_iDeviceID, in_pDevice, in_uSize);

    return ret;
  }

  public static AKRESULT AddPlayerMotionDevice(byte in_iPlayerID, uint in_iCompanyID, uint in_iDeviceID, IntPtr in_pDevice) {
    AKRESULT ret = (AKRESULT)AkSoundEnginePINVOKE.CSharp_AddPlayerMotionDevice__SWIG_1(in_iPlayerID, in_iCompanyID, in_iDeviceID, in_pDevice);

    return ret;
  }

  public static AKRESULT AddPlayerMotionDevice(byte in_iPlayerID, uint in_iCompanyID, uint in_iDeviceID) {
    AKRESULT ret = (AKRESULT)AkSoundEnginePINVOKE.CSharp_AddPlayerMotionDevice__SWIG_2(in_iPlayerID, in_iCompanyID, in_iDeviceID);

    return ret;
  }

  public static void RemovePlayerMotionDevice(byte in_iPlayerID, uint in_iCompanyID, uint in_iDeviceID) {
    AkSoundEnginePINVOKE.CSharp_RemovePlayerMotionDevice(in_iPlayerID, in_iCompanyID, in_iDeviceID);

  }

  public static void SetPlayerListener(byte in_iPlayerID, byte in_iListener) {
    AkSoundEnginePINVOKE.CSharp_SetPlayerListener(in_iPlayerID, in_iListener);

  }

  public static void SetPlayerVolume(byte in_iPlayerID, float in_fVolume) {
    AkSoundEnginePINVOKE.CSharp_SetPlayerVolume(in_iPlayerID, in_fVolume);

  }

  public static void Term() {
    AkSoundEnginePINVOKE.CSharp_Term();

  }

  public static AKRESULT Init(AkMemSettings in_pMemSettings, AkStreamMgrSettings in_pStmSettings, AkDeviceSettings in_pDefaultDeviceSettings, AkInitSettings in_pSettings, AkPlatformInitSettings in_pPlatformSettings, AkMusicSettings in_pMusicSettings, uint in_preparePoolSizeByte) {
    AKRESULT ret = (AKRESULT)AkSoundEnginePINVOKE.CSharp_Init(AkMemSettings.getCPtr(in_pMemSettings), AkStreamMgrSettings.getCPtr(in_pStmSettings), AkDeviceSettings.getCPtr(in_pDefaultDeviceSettings), AkInitSettings.getCPtr(in_pSettings), AkPlatformInitSettings.getCPtr(in_pPlatformSettings), AkMusicSettings.getCPtr(in_pMusicSettings), in_preparePoolSizeByte);

    return ret;
  }

  public static void GetDefaultStreamSettings(AkStreamMgrSettings out_settings) {
    AkSoundEnginePINVOKE.CSharp_GetDefaultStreamSettings(AkStreamMgrSettings.getCPtr(out_settings));

  }

  public static void GetDefaultDeviceSettings(AkDeviceSettings out_settings) {
    AkSoundEnginePINVOKE.CSharp_GetDefaultDeviceSettings(AkDeviceSettings.getCPtr(out_settings));

  }

  public static void GetDefaultMusicSettings(AkMusicSettings out_settings) {
    AkSoundEnginePINVOKE.CSharp_GetDefaultMusicSettings(AkMusicSettings.getCPtr(out_settings));

  }

  public static void GetDefaultInitSettings(AkInitSettings out_settings) {
    AkSoundEnginePINVOKE.CSharp_GetDefaultInitSettings(AkInitSettings.getCPtr(out_settings));

  }

  public static void GetDefaultPlatformInitSettings(AkPlatformInitSettings out_settings) {
    AkSoundEnginePINVOKE.CSharp_GetDefaultPlatformInitSettings(AkPlatformInitSettings.getCPtr(out_settings));

  }

  public static uint GetMajorMinorVersion() {
    uint ret = AkSoundEnginePINVOKE.CSharp_GetMajorMinorVersion();

    return ret;
  }

  public static uint GetSubminorBuildVersion() {
    uint ret = AkSoundEnginePINVOKE.CSharp_GetSubminorBuildVersion();

    return ret;
  }

  public static AKRESULT RegisterGameObjInternal(int in_GameObj) {
    AKRESULT ret = (AKRESULT)AkSoundEnginePINVOKE.CSharp_RegisterGameObjInternal(in_GameObj);

    return ret;
  }

  public static AKRESULT RegisterGameObjInternal_WithMask(int in_GameObj, uint in_ulListenerMask) {
    AKRESULT ret = (AKRESULT)AkSoundEnginePINVOKE.CSharp_RegisterGameObjInternal_WithMask(in_GameObj, in_ulListenerMask);

    return ret;
  }

  public static AKRESULT RegisterGameObjInternal_WithName(int in_GameObj, string in_pszObjName) {
    AKRESULT ret = (AKRESULT)AkSoundEnginePINVOKE.CSharp_RegisterGameObjInternal_WithName(in_GameObj, in_pszObjName);

    return ret;
  }

  public static AKRESULT RegisterGameObjInternal_WithName_WithMask(int in_GameObj, string in_pszObjName, uint in_ulListenerMask) {
    AKRESULT ret = (AKRESULT)AkSoundEnginePINVOKE.CSharp_RegisterGameObjInternal_WithName_WithMask(in_GameObj, in_pszObjName, in_ulListenerMask);

    return ret;
  }

  public static AKRESULT SetBasePath(string in_pszBasePath) {
    AKRESULT ret = (AKRESULT)AkSoundEnginePINVOKE.CSharp_SetBasePath(in_pszBasePath);

    return ret;
  }

  public static AKRESULT SetCurrentLanguage(string in_pszAudioSrcPath) {
    AKRESULT ret = (AKRESULT)AkSoundEnginePINVOKE.CSharp_SetCurrentLanguage(in_pszAudioSrcPath);

    return ret;
  }

  public static AKRESULT LoadFilePackage(string in_pszFilePackageName, out uint out_uPackageID, int in_memPoolID) {
    AKRESULT ret = (AKRESULT)AkSoundEnginePINVOKE.CSharp_LoadFilePackage(in_pszFilePackageName, out out_uPackageID, in_memPoolID);

    return ret;
  }

  public static AKRESULT AddBasePath(string in_pszBasePath) {
    AKRESULT ret = (AKRESULT)AkSoundEnginePINVOKE.CSharp_AddBasePath(in_pszBasePath);

    return ret;
  }

  public static uint SetGameName(string in_GameName) {
    uint ret = AkSoundEnginePINVOKE.CSharp_SetGameName(in_GameName);

    return ret;
  }

  public static uint SetDecodedBankPath(string in_DecodedPath) {
    uint ret = AkSoundEnginePINVOKE.CSharp_SetDecodedBankPath(in_DecodedPath);

    return ret;
  }

  public static AKRESULT LoadAndDecodeBank(string in_pszString, bool in_bSaveDecodedBank, out uint out_bankID) {
    AKRESULT ret = (AKRESULT)AkSoundEnginePINVOKE.CSharp_LoadAndDecodeBank(in_pszString, in_bSaveDecodedBank, out out_bankID);

    return ret;
  }

  public static AKRESULT LoadAndDecodeBankFromMemory(IntPtr in_BankData, uint in_BankDataSize, bool in_bSaveDecodedBank, string in_DecodedBankName, bool in_bIsLanguageSpecific, out uint out_bankID) {
    AKRESULT ret = (AKRESULT)AkSoundEnginePINVOKE.CSharp_LoadAndDecodeBankFromMemory(in_BankData, in_BankDataSize, in_bSaveDecodedBank, in_DecodedBankName, in_bIsLanguageSpecific, out out_bankID);

    return ret;
  }

  public static AKRESULT UnloadFilePackage(uint in_uPackageID) {
    AKRESULT ret = (AKRESULT)AkSoundEnginePINVOKE.CSharp_UnloadFilePackage(in_uPackageID);

    return ret;
  }

  public static AKRESULT UnloadAllFilePackages() {
    AKRESULT ret = (AKRESULT)AkSoundEnginePINVOKE.CSharp_UnloadAllFilePackages();

    return ret;
  }

  public static AKRESULT UnregisterGameObjInternal(int in_GameObj) {
    AKRESULT ret = (AKRESULT)AkSoundEnginePINVOKE.CSharp_UnregisterGameObjInternal(in_GameObj);

    return ret;
  }

  public static AKRESULT SetObjectPosition(UnityEngine.GameObject in_GameObjectID, float PosX, float PosY, float PosZ, float FrontX, float FrontY, float FrontZ, float TopX, float TopY, float TopZ) {
 
		int Id = (in_GameObjectID != null ? (int)in_GameObjectID.GetInstanceID() : (int)AkSoundEngine.AK_INVALID_GAME_OBJECT);;
		
    {
      AKRESULT ret = (AKRESULT)AkSoundEnginePINVOKE.CSharp_SetObjectPosition(Id, PosX, PosY, PosZ, FrontX, FrontY, FrontZ, TopX, TopY, TopZ);

      return ret;
    }
  }

  public static AKRESULT GetSourceMultiplePlayPositions(uint in_PlayingID, uint[] out_audioNodeID, uint[] out_mediaID, int[] out_msTime, ref uint io_pcPositions, bool in_bExtrapolate) {
    AKRESULT ret = (AKRESULT)AkSoundEnginePINVOKE.CSharp_GetSourceMultiplePlayPositions(in_PlayingID, out_audioNodeID, out_mediaID, out_msTime, ref io_pcPositions, in_bExtrapolate);

    return ret;
  }

  public static AKRESULT SetListenerPosition(float FrontX, float FrontY, float FrontZ, float TopX, float TopY, float TopZ, float PosX, float PosY, float PosZ, uint in_ulListenerIndex) {
    AKRESULT ret = (AKRESULT)AkSoundEnginePINVOKE.CSharp_SetListenerPosition(FrontX, FrontY, FrontZ, TopX, TopY, TopZ, PosX, PosY, PosZ, in_ulListenerIndex);

    return ret;
  }

  public static bool IsInitialized() {
    bool ret = AkSoundEnginePINVOKE.CSharp_IsInitialized();

    return ret;
  }

  public static uint GetDeviceIDFromName(string in_szToken) {
    uint ret = AkSoundEnginePINVOKE.CSharp_GetDeviceIDFromName(in_szToken);

    return ret;
  }

  public static string GetWindowsDeviceName(int index, out uint out_uDeviceID) {
    string ret = System.Runtime.InteropServices.Marshal.PtrToStringUni(AkSoundEnginePINVOKE.CSharp_GetWindowsDeviceName(index, out out_uDeviceID));

    return ret;
  }

  public const int _WIN32_WINNT = 0x0602;
  public const int AK_SIMD_ALIGNMENT = 16;
  public const int AK_BUFFER_ALIGNMENT = 16;
  public const int AK_XAUDIO2_FLAGS = 0;
  public const int AK_MAX_PATH = 260;
  public const int AK_BANK_PLATFORM_DATA_ALIGNMENT = (16);
  public const int AK_INVALID_GAME_OBJECT = -1;
  public const uint AK_INVALID_PLUGINID = 0xFFFFFFFF;
  public const uint AK_INVALID_UNIQUE_ID = 0;
  public const uint AK_INVALID_RTPC_ID = AK_INVALID_UNIQUE_ID;
  public const uint AK_INVALID_LISTENER_INDEX = 0xFFFFFFFF;
  public const uint AK_INVALID_PLAYING_ID = AK_INVALID_UNIQUE_ID;
  public const uint AK_DEFAULT_SWITCH_STATE = 0;
  public const uint AK_INVALID_POOL_ID = 0xFFFFFFFF;
  public const int AK_DEFAULT_POOL_ID = -1;
  public const uint AK_INVALID_ENV_ID = AK_INVALID_UNIQUE_ID;
  public const uint AK_INVALID_FILE_ID = 0xFFFFFFFF;
  public const uint AK_INVALID_DEVICE_ID = 0xFFFFFFFF;
  public const uint AK_INVALID_BANK_ID = AK_INVALID_UNIQUE_ID;
  public const uint AK_FALLBACK_ARGUMENTVALUE_ID = 0;
  public const uint AK_DEFAULT_PRIORITY = 50;
  public const uint AK_MIN_PRIORITY = 0;
  public const uint AK_MAX_PRIORITY = 100;
  public const uint AK_DEFAULT_BANK_IO_PRIORITY = AK_DEFAULT_PRIORITY;
  public const double AK_DEFAULT_BANK_THROUGHPUT = 1*1024*1024/1000.0;
  public const uint AKCOMPANYID_AUDIOKINETIC = 0;
  public const uint AKMOTIONDEVICEID_RUMBLE = 406;
  public const uint AK_LISTENERS_MASK_ALL = 0xFFFFFFFF;
  public const int NULL = 0;
  public const int AKCURVEINTERPOLATION_NUM_STORAGE_BIT = 5;
  public const int AK_MAX_AUX_PER_OBJ = (4);
  public const int AK_MAX_AUX_SUPPORTED = ((4) +4);
  public const int AK_NUM_LISTENERS = (8);
  public const int AK_MAX_LANGUAGE_NAME_SIZE = (32);
  public const int AKCOMPANYID_AUDIOKINETIC_EXTERNAL = (1);
  public const int AKCOMPANYID_MCDSP = (256);
  public const int AKCOMPANYID_WAVEARTS = (257);
  public const int AKCOMPANYID_PHONETICARTS = (258);
  public const int AKCOMPANYID_IZOTOPE = (259);
  public const int AKCOMPANYID_GENAUDIO = (260);
  public const int AKCOMPANYID_CRANKCASEAUDIO = (261);
  public const int AKCOMPANYID_IOSONO = (262);
  public const int AKCOMPANYID_AUROTECHNOLOGIES = (263);
  public const int AKCOMPANYID_DOLBY = (264);
  public const int AKCOMPANYID_TWOBIGEARS = (265);
  public const int AKCOMPANYID_OCULUS = (266);
  public const int AKCOMPANYID_BLUERIPPLESOUND = (267);
  public const int AKCOMPANYID_ENZIEN = (268);
  public const int AKCOMPANYID_KROTOS = (269);
  public const int AKCOMPANYID_NURULIZE = (270);
  public const int AKCOMPANYID_SUPERPOWERED = (271);
  public const int AKCOMPANYID_GOOGLE = (272);
  public const int AKCODECID_BANK = (0);
  public const int AKCODECID_PCM = (1);
  public const int AKCODECID_ADPCM = (2);
  public const int AKCODECID_XMA = (3);
  public const int AKCODECID_VORBIS = (4);
  public const int AKCODECID_WIIADPCM = (5);
  public const int AKCODECID_PCMEX = (7);
  public const int AKCODECID_EXTERNAL_SOURCE = (8);
  public const int AKCODECID_XWMA = (9);
  public const int AKCODECID_AAC = (10);
  public const int AKCODECID_FILE_PACKAGE = (11);
  public const int AKCODECID_ATRAC9 = (12);
  public const int AKCODECID_VAG = (13);
  public const int AKCODECID_PROFILERCAPTURE = (14);
  public const int AKCODECID_ANALYSISFILE = (15);
  public const int AKCODECID_MIDI = (16);
  public const int AK_WAVE_FORMAT_VAG = 0xFFFB;
  public const int AK_WAVE_FORMAT_AT9 = 0xFFFC;
  public const int AK_WAVE_FORMAT_VORBIS = 0xFFFF;
  public const int AK_WAVE_FORMAT_AAC = 0xAAC0;
  public const int WAVE_FORMAT_XMA2 = 0x166;
  public const int PANNER_NUM_STORAGE_BITS = 2;
  public const int POSSOURCE_NUM_STORAGE_BITS = 2;
  public const int AK_MAX_BITS_METERING_FLAGS = (5);
  public const int AK_OS_STRUCT_ALIGN = 4;
  public const bool AK_ASYNC_OPEN_DEFAULT = (false);
  public const int AK_COMM_DEFAULT_DISCOVERY_PORT = 24024;
  public const int AK_MIDI_EVENT_TYPE_INVALID = 0x00;
  public const int AK_MIDI_EVENT_TYPE_NOTE_OFF = 0x80;
  public const int AK_MIDI_EVENT_TYPE_NOTE_ON = 0x90;
  public const int AK_MIDI_EVENT_TYPE_NOTE_AFTERTOUCH = 0xa0;
  public const int AK_MIDI_EVENT_TYPE_CONTROLLER = 0xb0;
  public const int AK_MIDI_EVENT_TYPE_PROGRAM_CHANGE = 0xc0;
  public const int AK_MIDI_EVENT_TYPE_CHANNEL_AFTERTOUCH = 0xd0;
  public const int AK_MIDI_EVENT_TYPE_PITCH_BEND = 0xe0;
  public const int AK_MIDI_EVENT_TYPE_SYSEX = 0xf0;
  public const int AK_MIDI_EVENT_TYPE_ESCAPE = 0xf7;
  public const int AK_MIDI_EVENT_TYPE_META = 0xff;
  public const int AK_MIDI_CC_BANK_SELECT_COARSE = 0;
  public const int AK_MIDI_CC_MOD_WHEEL_COARSE = 1;
  public const int AK_MIDI_CC_BREATH_CTRL_COARSE = 2;
  public const int AK_MIDI_CC_CTRL_3_COARSE = 3;
  public const int AK_MIDI_CC_FOOT_PEDAL_COARSE = 4;
  public const int AK_MIDI_CC_PORTAMENTO_COARSE = 5;
  public const int AK_MIDI_CC_DATA_ENTRY_COARSE = 6;
  public const int AK_MIDI_CC_VOLUME_COARSE = 7;
  public const int AK_MIDI_CC_BALANCE_COARSE = 8;
  public const int AK_MIDI_CC_CTRL_9_COARSE = 9;
  public const int AK_MIDI_CC_PAN_POSITION_COARSE = 10;
  public const int AK_MIDI_CC_EXPRESSION_COARSE = 11;
  public const int AK_MIDI_CC_EFFECT_CTRL_1_COARSE = 12;
  public const int AK_MIDI_CC_EFFECT_CTRL_2_COARSE = 13;
  public const int AK_MIDI_CC_CTRL_14_COARSE = 14;
  public const int AK_MIDI_CC_CTRL_15_COARSE = 15;
  public const int AK_MIDI_CC_GEN_SLIDER_1 = 16;
  public const int AK_MIDI_CC_GEN_SLIDER_2 = 17;
  public const int AK_MIDI_CC_GEN_SLIDER_3 = 18;
  public const int AK_MIDI_CC_GEN_SLIDER_4 = 19;
  public const int AK_MIDI_CC_CTRL_20_COARSE = 20;
  public const int AK_MIDI_CC_CTRL_21_COARSE = 21;
  public const int AK_MIDI_CC_CTRL_22_COARSE = 22;
  public const int AK_MIDI_CC_CTRL_23_COARSE = 23;
  public const int AK_MIDI_CC_CTRL_24_COARSE = 24;
  public const int AK_MIDI_CC_CTRL_25_COARSE = 25;
  public const int AK_MIDI_CC_CTRL_26_COARSE = 26;
  public const int AK_MIDI_CC_CTRL_27_COARSE = 27;
  public const int AK_MIDI_CC_CTRL_28_COARSE = 28;
  public const int AK_MIDI_CC_CTRL_29_COARSE = 29;
  public const int AK_MIDI_CC_CTRL_30_COARSE = 30;
  public const int AK_MIDI_CC_CTRL_31_COARSE = 31;
  public const int AK_MIDI_CC_BANK_SELECT_FINE = 32;
  public const int AK_MIDI_CC_MOD_WHEEL_FINE = 33;
  public const int AK_MIDI_CC_BREATH_CTRL_FINE = 34;
  public const int AK_MIDI_CC_CTRL_3_FINE = 35;
  public const int AK_MIDI_CC_FOOT_PEDAL_FINE = 36;
  public const int AK_MIDI_CC_PORTAMENTO_FINE = 37;
  public const int AK_MIDI_CC_DATA_ENTRY_FINE = 38;
  public const int AK_MIDI_CC_VOLUME_FINE = 39;
  public const int AK_MIDI_CC_BALANCE_FINE = 40;
  public const int AK_MIDI_CC_CTRL_9_FINE = 41;
  public const int AK_MIDI_CC_PAN_POSITION_FINE = 42;
  public const int AK_MIDI_CC_EXPRESSION_FINE = 43;
  public const int AK_MIDI_CC_EFFECT_CTRL_1_FINE = 44;
  public const int AK_MIDI_CC_EFFECT_CTRL_2_FINE = 45;
  public const int AK_MIDI_CC_CTRL_14_FINE = 46;
  public const int AK_MIDI_CC_CTRL_15_FINE = 47;
  public const int AK_MIDI_CC_CTRL_20_FINE = 52;
  public const int AK_MIDI_CC_CTRL_21_FINE = 53;
  public const int AK_MIDI_CC_CTRL_22_FINE = 54;
  public const int AK_MIDI_CC_CTRL_23_FINE = 55;
  public const int AK_MIDI_CC_CTRL_24_FINE = 56;
  public const int AK_MIDI_CC_CTRL_25_FINE = 57;
  public const int AK_MIDI_CC_CTRL_26_FINE = 58;
  public const int AK_MIDI_CC_CTRL_27_FINE = 59;
  public const int AK_MIDI_CC_CTRL_28_FINE = 60;
  public const int AK_MIDI_CC_CTRL_29_FINE = 61;
  public const int AK_MIDI_CC_CTRL_30_FINE = 62;
  public const int AK_MIDI_CC_CTRL_31_FINE = 63;
  public const int AK_MIDI_CC_HOLD_PEDAL = 64;
  public const int AK_MIDI_CC_PORTAMENTO_ON_OFF = 65;
  public const int AK_MIDI_CC_SUSTENUTO_PEDAL = 66;
  public const int AK_MIDI_CC_SOFT_PEDAL = 67;
  public const int AK_MIDI_CC_LEGATO_PEDAL = 68;
  public const int AK_MIDI_CC_HOLD_PEDAL_2 = 69;
  public const int AK_MIDI_CC_SOUND_VARIATION = 70;
  public const int AK_MIDI_CC_SOUND_TIMBRE = 71;
  public const int AK_MIDI_CC_SOUND_RELEASE_TIME = 72;
  public const int AK_MIDI_CC_SOUND_ATTACK_TIME = 73;
  public const int AK_MIDI_CC_SOUND_BRIGHTNESS = 74;
  public const int AK_MIDI_CC_SOUND_CTRL_6 = 75;
  public const int AK_MIDI_CC_SOUND_CTRL_7 = 76;
  public const int AK_MIDI_CC_SOUND_CTRL_8 = 77;
  public const int AK_MIDI_CC_SOUND_CTRL_9 = 78;
  public const int AK_MIDI_CC_SOUND_CTRL_10 = 79;
  public const int AK_MIDI_CC_GENERAL_BUTTON_1 = 80;
  public const int AK_MIDI_CC_GENERAL_BUTTON_2 = 81;
  public const int AK_MIDI_CC_GENERAL_BUTTON_3 = 82;
  public const int AK_MIDI_CC_GENERAL_BUTTON_4 = 83;
  public const int AK_MIDI_CC_REVERB_LEVEL = 91;
  public const int AK_MIDI_CC_TREMOLO_LEVEL = 92;
  public const int AK_MIDI_CC_CHORUS_LEVEL = 93;
  public const int AK_MIDI_CC_CELESTE_LEVEL = 94;
  public const int AK_MIDI_CC_PHASER_LEVEL = 95;
  public const int AK_MIDI_CC_DATA_BUTTON_P1 = 96;
  public const int AK_MIDI_CC_DATA_BUTTON_M1 = 97;
  public const int AK_MIDI_CC_NON_REGISTER_COARSE = 98;
  public const int AK_MIDI_CC_NON_REGISTER_FINE = 99;
  public const int AK_MIDI_CC_ALL_SOUND_OFF = 120;
  public const int AK_MIDI_CC_ALL_CONTROLLERS_OFF = 121;
  public const int AK_MIDI_CC_LOCAL_KEYBOARD = 122;
  public const int AK_MIDI_CC_ALL_NOTES_OFF = 123;
  public const int AK_MIDI_CC_OMNI_MODE_OFF = 124;
  public const int AK_MIDI_CC_OMNI_MODE_ON = 125;
  public const int AK_MIDI_CC_OMNI_MONOPHONIC_ON = 126;
  public const int AK_MIDI_CC_OMNI_POLYPHONIC_ON = 127;
  public const int AK_SPEAKER_FRONT_LEFT = 0x1;
  public const int AK_SPEAKER_FRONT_RIGHT = 0x2;
  public const int AK_SPEAKER_FRONT_CENTER = 0x4;
  public const int AK_SPEAKER_LOW_FREQUENCY = 0x8;
  public const int AK_SPEAKER_BACK_LEFT = 0x10;
  public const int AK_SPEAKER_BACK_RIGHT = 0x20;
  public const int AK_SPEAKER_BACK_CENTER = 0x100;
  public const int AK_SPEAKER_SIDE_LEFT = 0x200;
  public const int AK_SPEAKER_SIDE_RIGHT = 0x400;
  public const int AK_SPEAKER_TOP = 0x800;
  public const int AK_SPEAKER_HEIGHT_FRONT_LEFT = 0x1000;
  public const int AK_SPEAKER_HEIGHT_FRONT_CENTER = 0x2000;
  public const int AK_SPEAKER_HEIGHT_FRONT_RIGHT = 0x4000;
  public const int AK_SPEAKER_HEIGHT_BACK_LEFT = 0x8000;
  public const int AK_SPEAKER_HEIGHT_BACK_CENTER = 0x10000;
  public const int AK_SPEAKER_HEIGHT_BACK_RIGHT = 0x20000;
  public const int AK_SPEAKER_SETUP_MONO = 0x4;
  public const int AK_SPEAKER_SETUP_0POINT1 = 0x8;
  public const int AK_SPEAKER_SETUP_1POINT1 = (0x4|0x8);
  public const int AK_SPEAKER_SETUP_STEREO = (0x1|0x2);
  public const int AK_SPEAKER_SETUP_2POINT1 = ((0x1|0x2)|0x8);
  public const int AK_SPEAKER_SETUP_3STEREO = ((0x1|0x2)|0x4);
  public const int AK_SPEAKER_SETUP_3POINT1 = (((0x1|0x2)|0x4)|0x8);
  public const int AK_SPEAKER_SETUP_4 = ((0x1|0x2)|0x200|0x400);
  public const int AK_SPEAKER_SETUP_4POINT1 = (((0x1|0x2)|0x200|0x400)|0x8);
  public const int AK_SPEAKER_SETUP_5 = (((0x1|0x2)|0x200|0x400)|0x4);
  public const int AK_SPEAKER_SETUP_5POINT1 = ((((0x1|0x2)|0x200|0x400)|0x4)|0x8);
  public const int AK_SPEAKER_SETUP_6 = (((0x1|0x2)|0x200|0x400)|0x10|0x20);
  public const int AK_SPEAKER_SETUP_6POINT1 = ((((0x1|0x2)|0x200|0x400)|0x10|0x20)|0x8);
  public const int AK_SPEAKER_SETUP_7 = ((((0x1|0x2)|0x200|0x400)|0x10|0x20)|0x4);
  public const int AK_SPEAKER_SETUP_7POINT1 = (((((0x1|0x2)|0x200|0x400)|0x10|0x20)|0x4)|0x8);
  public const int AK_SPEAKER_SETUP_SURROUND = ((0x1|0x2)|0x100);
  public const int AK_SPEAKER_SETUP_DPL2 = (((0x1|0x2)|0x200|0x400));
  public const int AK_SPEAKER_SETUP_HEIGHT_4 = (0x1000|0x4000|0x8000|0x20000);
  public const int AK_SPEAKER_SETUP_HEIGHT_5 = ((0x1000|0x4000|0x8000|0x20000)|0x2000);
  public const int AK_SPEAKER_SETUP_HEIGHT_ALL = (((0x1000|0x4000|0x8000|0x20000)|0x2000)|0x10000);
  public const int AK_SPEAKER_SETUP_AURO_222 = (((0x1|0x2)|0x200|0x400)|0x1000|0x4000);
  public const int AK_SPEAKER_SETUP_AURO_8 = ((((0x1|0x2)|0x200|0x400)|0x1000|0x4000)|0x8000|0x20000);
  public const int AK_SPEAKER_SETUP_AURO_9 = (((((0x1|0x2)|0x200|0x400)|0x1000|0x4000)|0x8000|0x20000)|0x4);
  public const int AK_SPEAKER_SETUP_AURO_9POINT1 = ((((((0x1|0x2)|0x200|0x400)|0x1000|0x4000)|0x8000|0x20000)|0x4)|0x8);
  public const int AK_SPEAKER_SETUP_AURO_10 = ((((((0x1|0x2)|0x200|0x400)|0x1000|0x4000)|0x8000|0x20000)|0x4)|0x800);
  public const int AK_SPEAKER_SETUP_AURO_10POINT1 = (((((((0x1|0x2)|0x200|0x400)|0x1000|0x4000)|0x8000|0x20000)|0x4)|0x800)|0x8);
  public const int AK_SPEAKER_SETUP_AURO_11 = (((((((0x1|0x2)|0x200|0x400)|0x1000|0x4000)|0x8000|0x20000)|0x4)|0x800)|0x2000);
  public const int AK_SPEAKER_SETUP_AURO_11POINT1 = ((((((((0x1|0x2)|0x200|0x400)|0x1000|0x4000)|0x8000|0x20000)|0x4)|0x800)|0x2000)|0x8);
  public const int AK_SPEAKER_SETUP_AURO_11_740 = (((((0x1|0x2)|0x200|0x400)|0x10|0x20)|0x4)|(0x1000|0x4000|0x8000|0x20000));
  public const int AK_SPEAKER_SETUP_AURO_11POINT1_740 = ((((((0x1|0x2)|0x200|0x400)|0x10|0x20)|0x4)|(0x1000|0x4000|0x8000|0x20000))|0x8);
  public const int AK_SPEAKER_SETUP_AURO_13_751 = (((((0x1|0x2)|0x200|0x400)|0x10|0x20)|0x4)|((0x1000|0x4000|0x8000|0x20000)|0x2000)|0x800);
  public const int AK_SPEAKER_SETUP_AURO_13POINT1_751 = ((((((0x1|0x2)|0x200|0x400)|0x10|0x20)|0x4)|((0x1000|0x4000|0x8000|0x20000)|0x2000)|0x800)|0x8);
  public const int AK_SPEAKER_SETUP_DOLBY_5_0_2 = ((((0x1|0x2)|0x200|0x400)|0x4)|0x1000|0x4000);
  public const int AK_SPEAKER_SETUP_DOLBY_5_1_2 = (((((0x1|0x2)|0x200|0x400)|0x4)|0x1000|0x4000)|0x8);
  public const int AK_SPEAKER_SETUP_DOLBY_6_0_2 = ((((0x1|0x2)|0x200|0x400)|0x10|0x20)|0x1000|0x4000);
  public const int AK_SPEAKER_SETUP_DOLBY_6_1_2 = (((((0x1|0x2)|0x200|0x400)|0x10|0x20)|0x1000|0x4000)|0x8);
  public const int AK_SPEAKER_SETUP_DOLBY_6_0_4 = (((((0x1|0x2)|0x200|0x400)|0x10|0x20)|0x1000|0x4000)|0x8000|0x20000);
  public const int AK_SPEAKER_SETUP_DOLBY_6_1_4 = ((((((0x1|0x2)|0x200|0x400)|0x10|0x20)|0x1000|0x4000)|0x8000|0x20000)|0x8);
  public const int AK_SPEAKER_SETUP_DOLBY_7_0_2 = (((((0x1|0x2)|0x200|0x400)|0x10|0x20)|0x4)|0x1000|0x4000);
  public const int AK_SPEAKER_SETUP_DOLBY_7_1_2 = ((((((0x1|0x2)|0x200|0x400)|0x10|0x20)|0x4)|0x1000|0x4000)|0x8);
  public const int AK_SPEAKER_SETUP_DOLBY_7_0_4 = ((((((0x1|0x2)|0x200|0x400)|0x10|0x20)|0x4)|0x1000|0x4000)|0x8000|0x20000);
  public const int AK_SPEAKER_SETUP_DOLBY_7_1_4 = (((((((0x1|0x2)|0x200|0x400)|0x10|0x20)|0x4)|0x1000|0x4000)|0x8000|0x20000)|0x8);
  public const int AK_SPEAKER_SETUP_ALL_SPEAKERS = ((((((0x1|0x2)|0x200|0x400)|0x10|0x20)|0x4)|0x8)|0x100|(((0x1000|0x4000|0x8000|0x20000)|0x2000)|0x10000)|0x800);
  public const int AK_IDX_SETUP_FRONT_LEFT = (0);
  public const int AK_IDX_SETUP_FRONT_RIGHT = (1);
  public const int AK_IDX_SETUP_CENTER = (2);
  public const int AK_IDX_SETUP_NOCENTER_BACK_LEFT = (2);
  public const int AK_IDX_SETUP_NOCENTER_BACK_RIGHT = (3);
  public const int AK_IDX_SETUP_NOCENTER_SIDE_LEFT = (4);
  public const int AK_IDX_SETUP_NOCENTER_SIDE_RIGHT = (5);
  public const int AK_IDX_SETUP_WITHCENTER_BACK_LEFT = (3);
  public const int AK_IDX_SETUP_WITHCENTER_BACK_RIGHT = (4);
  public const int AK_IDX_SETUP_WITHCENTER_SIDE_LEFT = (5);
  public const int AK_IDX_SETUP_WITHCENTER_SIDE_RIGHT = (6);
  public const int AK_IDX_SETUP_0_LFE = (0);
  public const int AK_IDX_SETUP_1_CENTER = (0);
  public const int AK_IDX_SETUP_1_LFE = (1);
  public const int AK_IDX_SETUP_2_LEFT = (0);
  public const int AK_IDX_SETUP_2_RIGHT = (1);
  public const int AK_IDX_SETUP_2_LFE = (2);
  public const int AK_IDX_SETUP_3_LEFT = (0);
  public const int AK_IDX_SETUP_3_RIGHT = (1);
  public const int AK_IDX_SETUP_3_CENTER = (2);
  public const int AK_IDX_SETUP_3_LFE = (3);
  public const int AK_IDX_SETUP_4_FRONTLEFT = (0);
  public const int AK_IDX_SETUP_4_FRONTRIGHT = (1);
  public const int AK_IDX_SETUP_4_REARLEFT = (2);
  public const int AK_IDX_SETUP_4_REARRIGHT = (3);
  public const int AK_IDX_SETUP_4_LFE = (4);
  public const int AK_IDX_SETUP_5_FRONTLEFT = (0);
  public const int AK_IDX_SETUP_5_FRONTRIGHT = (1);
  public const int AK_IDX_SETUP_5_CENTER = (2);
  public const int AK_IDX_SETUP_5_REARLEFT = (3);
  public const int AK_IDX_SETUP_5_REARRIGHT = (4);
  public const int AK_IDX_SETUP_5_LFE = (5);
  public const int AK_IDX_SETUP_6_FRONTLEFT = (0);
  public const int AK_IDX_SETUP_6_FRONTRIGHT = (1);
  public const int AK_IDX_SETUP_6_REARLEFT = (2);
  public const int AK_IDX_SETUP_6_REARRIGHT = (3);
  public const int AK_IDX_SETUP_6_SIDELEFT = (4);
  public const int AK_IDX_SETUP_6_SIDERIGHT = (5);
  public const int AK_IDX_SETUP_6_LFE = (6);
  public const int AK_IDX_SETUP_7_FRONTLEFT = (0);
  public const int AK_IDX_SETUP_7_FRONTRIGHT = (1);
  public const int AK_IDX_SETUP_7_CENTER = (2);
  public const int AK_IDX_SETUP_7_REARLEFT = (3);
  public const int AK_IDX_SETUP_7_REARRIGHT = (4);
  public const int AK_IDX_SETUP_7_SIDELEFT = (5);
  public const int AK_IDX_SETUP_7_SIDERIGHT = (6);
  public const int AK_IDX_SETUP_7_LFE = (7);
  public const int AK_SPEAKER_SETUP_0_1 = (0x8);
  public const int AK_SPEAKER_SETUP_1_0 = (0x1);
  public const int AK_SPEAKER_SETUP_1_1 = (0x1|0x8);
  public const int AK_SPEAKER_SETUP_1_0_CENTER = (0x4);
  public const int AK_SPEAKER_SETUP_1_1_CENTER = (0x4|0x8);
  public const int AK_SPEAKER_SETUP_2_0 = (0x1|0x2);
  public const int AK_SPEAKER_SETUP_2_1 = (0x1|0x2|0x8);
  public const int AK_SPEAKER_SETUP_3_0 = (0x1|0x2|0x4);
  public const int AK_SPEAKER_SETUP_3_1 = ((0x1|0x2|0x4)|0x8);
  public const int AK_SPEAKER_SETUP_FRONT = ((0x1|0x2|0x4));
  public const int AK_SPEAKER_SETUP_4_0 = (((0x1|0x2)|0x200|0x400));
  public const int AK_SPEAKER_SETUP_4_1 = ((((0x1|0x2)|0x200|0x400)|0x8));
  public const int AK_SPEAKER_SETUP_5_0 = ((((0x1|0x2)|0x200|0x400)|0x4));
  public const int AK_SPEAKER_SETUP_5_1 = (((((0x1|0x2)|0x200|0x400)|0x4)|0x8));
  public const int AK_SPEAKER_SETUP_6_0 = ((((0x1|0x2)|0x200|0x400)|0x10|0x20));
  public const int AK_SPEAKER_SETUP_6_1 = (((((0x1|0x2)|0x200|0x400)|0x10|0x20)|0x8));
  public const int AK_SPEAKER_SETUP_7_0 = (((((0x1|0x2)|0x200|0x400)|0x10|0x20)|0x4));
  public const int AK_SPEAKER_SETUP_7_1 = ((((((0x1|0x2)|0x200|0x400)|0x10|0x20)|0x4)|0x8));
  public const int AK_SPEAKER_SETUP_DEFAULT_PLANE = ((((((0x1|0x2)|0x200|0x400)|0x10|0x20)|0x4)|0x8));
  public const int AK_SUPPORTED_STANDARD_CHANNEL_MASK = (((((((0x1|0x2)|0x200|0x400)|0x10|0x20)|0x4)|0x8)|0x100|(((0x1000|0x4000|0x8000|0x20000)|0x2000)|0x10000)|0x800));
  public const int AK_STANDARD_MAX_NUM_CHANNELS = (8);
}
#endif // #if (UNITY_STANDALONE_WIN && !UNITY_EDITOR) || UNITY_EDITOR_WIN