public static bool LoadBank(string name, int skin = 0) { if (name.Contains("[]")) { return(false); } if (skin > 0) { name += skin; } bool result = false; AkBankManager.m_Mutex.WaitOne(); AkBankHandle akBankHandle = null; if (!AkBankManager.m_BankHandles.TryGetValue(name, out akBankHandle)) { akBankHandle = new AkBankHandle(name); AkBankManager.m_BankHandles.Add(name, akBankHandle); result = akBankHandle.LoadBank(skin > 0); AkBankManager.m_Mutex.ReleaseMutex(); } else { akBankHandle.IncRef(); AkBankManager.m_Mutex.ReleaseMutex(); } return(result); }
public static void LoadBank(string name, byte[] data) { AkBankHandle akBankHandle = null; if (!AkBankManager.m_BankHandles.TryGetValue(name, out akBankHandle)) { akBankHandle = new AkBankHandle(name); AkBankManager.m_BankHandles.Add(name, akBankHandle); akBankHandle.LoadBank(data); } }
public static void LoadBank(string name) { AkBankHandle handle = null; if (!m_BankHandles.TryGetValue(name, out handle)) { handle = new AkBankHandle(name); m_BankHandles.Add(name, handle); handle.LoadBank(); } }
public static void UnloadBank(string name) { AkBankHandle akBankHandle = null; if (AkBankManager.m_BankHandles.TryGetValue(name, out akBankHandle)) { akBankHandle.DecRef(); if (akBankHandle.RefCount == 0) { AkBankManager.m_BankHandles.Remove(name); } } }
public static void UnloadBank(string name) { AkBankHandle handle = null; if (m_BankHandles.TryGetValue(name, out handle)) { handle.DecRef(); if (handle.RefCount == 0) { m_BankHandles.Remove(name); } } }
/// Unloads a bank. See AK::SoundEngine::UnloadBank for more information public static void UnloadBank(string name) { m_Mutex.WaitOne(); AkBankHandle handle = null; if (m_BankHandles.TryGetValue(name, out handle)) { handle.DecRef(); if (handle.RefCount == 0) { m_BankHandles.Remove(name); } } m_Mutex.ReleaseMutex(); }
public static void GlobalBankCallback(uint in_bankID, IntPtr in_pInMemoryBankPtr, AKRESULT in_eLoadResult, uint in_memPoolId, object in_Cookie) { AkBankManager.m_Mutex.WaitOne(); AkBankHandle akBankHandle = (AkBankHandle)in_Cookie; AkCallbackManager.BankCallback bankCallback = akBankHandle.bankCallback; if (in_eLoadResult != AKRESULT.AK_Success) { AkBankManager.m_BankHandles.Remove(akBankHandle.bankName); } AkBankManager.m_Mutex.ReleaseMutex(); if (bankCallback != null) { bankCallback(in_bankID, in_pInMemoryBankPtr, in_eLoadResult, in_memPoolId, null); } }
public static void LoadBankAsync(string name, AkCallbackManager.BankCallback callback = null) { m_Mutex.WaitOne(); AkBankHandle handle = null; if (!m_BankHandles.TryGetValue(name, out handle)) { handle = new AkBankHandle(name); m_BankHandles.Add(name, handle); m_Mutex.ReleaseMutex(); handle.LoadBankAsync(callback); } else { m_Mutex.ReleaseMutex(); } }
public static void LoadBank(string name, byte[] data) { m_Mutex.WaitOne(); AkBankHandle handle = null; if (!m_BankHandles.TryGetValue(name, out handle)) { handle = new AkBankHandle(name); m_BankHandles.Add(name, handle); m_Mutex.ReleaseMutex(); handle.LoadBank(data); } else { m_Mutex.ReleaseMutex(); } }
public static void GlobalBankCallback(uint in_bankID, IntPtr in_pInMemoryBankPtr, AKRESULT in_eLoadResult, uint in_memPoolId, object in_Cookie) { m_Mutex.WaitOne(); AkBankHandle handle = (AkBankHandle)in_Cookie; AkCallbackManager.BankCallback bankCallback = handle.bankCallback; if (in_eLoadResult != AKRESULT.AK_Success) { Debug.LogWarning("Wwise: Bank " + handle.bankName + " failed to load (" + in_eLoadResult.ToString() + ")"); m_BankHandles.Remove(handle.bankName); } m_Mutex.ReleaseMutex(); if (bankCallback != null) { bankCallback(in_bankID, in_pInMemoryBankPtr, in_eLoadResult, in_memPoolId, null); } }
public static void LoadBankAsync(string name, AkCallbackManager.BankCallback callback = null) { AkBankManager.m_Mutex.WaitOne(); AkBankHandle akBankHandle = null; if (!AkBankManager.m_BankHandles.TryGetValue(name, out akBankHandle)) { akBankHandle = new AkBankHandle(name); AkBankManager.m_BankHandles.Add(name, akBankHandle); AkBankManager.m_Mutex.ReleaseMutex(); akBankHandle.LoadBankAsync(callback); } else { akBankHandle.IncRef(); AkBankManager.m_Mutex.ReleaseMutex(); } }
/// Loads a bank. This version blocks until the bank is loaded. See AK::SoundEngine::LoadBank for more information public static void LoadBank(string name, bool decodeBank, bool saveDecodedBank) { m_Mutex.WaitOne(); AkBankHandle handle = null; if (!m_BankHandles.TryGetValue(name, out handle)) { handle = new AkBankHandle(name, decodeBank, saveDecodedBank); m_BankHandles.Add(name, handle); m_Mutex.ReleaseMutex(); handle.LoadBank(); } else { // Bank already loaded, increment its ref count. handle.IncRef(); m_Mutex.ReleaseMutex(); } }
/// Loads a bank. This version returns right away and loads in background. See AK::SoundEngine::LoadBank for more information public static void LoadBankAsync(string name, AkCallbackManager.BankCallback callback = null) { m_Mutex.WaitOne(); AkBankHandle handle = null; if (!m_BankHandles.TryGetValue(name, out handle)) { handle = new AkBankHandle(name); m_BankHandles.Add(name, handle); m_Mutex.ReleaseMutex(); handle.LoadBankAsync(callback); } else { // Bank already loaded, increment its ref count. handle.IncRef(); m_Mutex.ReleaseMutex(); } }
static bool Prefix(AkBankHandle __instance) { try { if (!Main.enabled) { return(true); } if (!Main.CustomSoundpackPaths.ContainsKey(__instance.bankName)) { return(true); } __instance.LoadBank(); return(false); } catch (Exception ex) { Main.DebugError(ex); } return(true); }
public static void UnloadBank(string name, bool realy = false, int skin = 0) { if (name.Equals("[]")) { return; } if (skin > 0) { if (!AkBankManager.m_BankHandles.ContainsKey(name + skin)) { return; } name += skin; } AkBankManager.m_Mutex.WaitOne(); AkBankHandle akBankHandle = null; if (AkBankManager.m_BankHandles.TryGetValue(name, out akBankHandle)) { if (!realy) { akBankHandle.DecRef(); if (akBankHandle.RefCount == 0) { AkBankManager.m_BankHandles.Remove(name); } } else { akBankHandle.m_RefCount = 0; AkSoundEngine.UnloadBank(akBankHandle.m_BankID, IntPtr.Zero, null, null); AkBankManager.m_BankHandles.Remove(name); } } AkBankManager.m_Mutex.ReleaseMutex(); }
/// Loads a SoundBank. This version blocks until the bank is loaded. See AK::SoundEngine::LoadBank for more information. public static void LoadBank(string name, bool decodeBank, bool saveDecodedBank) { m_Mutex.WaitOne(); AkBankHandle handle = null; if (!m_BankHandles.TryGetValue(name, out handle)) { handle = new AkBankHandle(name, decodeBank, saveDecodedBank); m_BankHandles.Add(name, handle); m_Mutex.ReleaseMutex(); handle.LoadBank(); } else { // Bank already loaded, increment its ref count. handle.IncRef(); m_Mutex.ReleaseMutex(); } }
/// Loads a SoundBank. This version returns right away and loads in background. See AK::SoundEngine::LoadBank for more information. public static void LoadBankAsync(string name, AkCallbackManager.BankCallback callback = null) { m_Mutex.WaitOne(); AkBankHandle handle = null; if (!m_BankHandles.TryGetValue(name, out handle)) { handle = new AkBankHandle(name, false, false); m_BankHandles.Add(name, handle); m_Mutex.ReleaseMutex(); handle.LoadBankAsync(callback); } else { // Bank already loaded, increment its ref count. handle.IncRef(); m_Mutex.ReleaseMutex(); } }