/// Unloads a SoundBank. See AK::SoundEngine::UnloadBank for more information. public static void UnloadBank(string name) { lock (m_BankHandles) { BankHandle handle = null; if (m_BankHandles.TryGetValue(name, out handle)) { handle.DecRef(); } } }
public static void UnloadBankEditor(string name) { m_Mutex.WaitOne(); BankHandle handle = null; if (m_BankHandles.TryGetValue(name, out handle)) { m_BankHandles.Remove(name); } m_Mutex.ReleaseMutex(); }
/// Unloads a SoundBank. See AK::SoundEngine::UnloadBank for more information. public static void UnloadBank(string name) { m_Mutex.WaitOne(); BankHandle handle = null; if (m_BankHandles.TryGetValue(name, out handle)) { handle.DecRef(); if (handle.RefCount == 0) { m_BankHandles.Remove(name); } } m_Mutex.ReleaseMutex(); }
static public void GlobalBankCallback(uint in_bankID, IntPtr in_pInMemoryBankPtr, AKRESULT in_eLoadResult, uint in_memPoolId, object in_Cookie) { m_Mutex.WaitOne(); BankHandle handle = (BankHandle)in_Cookie; AkCallbackManager.BankCallback cb = handle.bankCallback; if (in_eLoadResult != AKRESULT.AK_Success) { Debug.LogWarning("WwiseUnity: Bank " + handle.bankName + " failed to load (" + in_eLoadResult.ToString() + ")"); m_BankHandles.Remove(handle.bankName); } m_Mutex.ReleaseMutex(); if (cb != null) { cb(in_bankID, in_pInMemoryBankPtr, in_eLoadResult, in_memPoolId, null); } }
public static AKRESULT LoadBankRes(string name, bool decodeBank, bool saveDecodedBank) { m_Mutex.WaitOne(); BankHandle handle = null; if (!m_BankHandles.TryGetValue(name, out handle)) { handle = decodeBank ? new DecodableBankHandle(name, saveDecodedBank) : new BankHandle(name); m_BankHandles.Add(name, handle); m_Mutex.ReleaseMutex(); return(handle.DoLoadBank()); } else { m_Mutex.ReleaseMutex(); return(AKRESULT.AK_BankAlreadyLoaded); } }
/// 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) { BankHandle handle = null; lock (m_BankHandles) { if (m_BankHandles.TryGetValue(name, out handle)) { // Bank already loaded, increment its ref count. handle.IncRef(); return; } handle = new AsyncBankHandle(name, callback); m_BankHandles.Add(name, handle); } handle.LoadBank(); }
/// 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(); BankHandle handle = null; if (!m_BankHandles.TryGetValue(name, out handle)) { AsyncBankHandle asyncHandle = new AsyncBankHandle(name, callback); m_BankHandles.Add(name, asyncHandle); m_Mutex.ReleaseMutex(); asyncHandle.LoadBank(); } else { // Bank already loaded, increment its ref count. handle.IncRef(); 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(); BankHandle handle = null; if (!m_BankHandles.TryGetValue(name, out handle)) { handle = new BankHandle(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(); } }
public static AKRESULT LoadBankResAsync(string name, AkCallbackManager.BankCallback callback, System.Object in_cookie) { m_Mutex.WaitOne(); BankHandle handle = null; if (!m_BankHandles.TryGetValue(name, out handle)) { var asyncHandle = new AsyncBankHandle(name, callback, in_cookie); m_BankHandles.Add(name, asyncHandle); m_Mutex.ReleaseMutex(); asyncHandle.DoLoadBank(); return(AKRESULT.AK_WaitBankLoadingFinish); } else { m_Mutex.ReleaseMutex(); return(AKRESULT.AK_BankAlreadyLoaded); } }
/// Loads a SoundBank. This version returns right away and loads in background. See AK::SoundEngine::LoadBank for more information. public static AKRESULT LoadBank(string name, bool decodeBank, bool saveDecodedBank, AkCallbackManager.BankCallback callback = null) { m_Mutex.WaitOne(); if (m_AyncloadingBanks.Count > 0) { foreach (var lAyncloadingBank in m_AyncloadingBanks) { if (lAyncloadingBank.bankName == name) { return(AKRESULT.AK_BankAsyncLoading); } } } BankHandle handle = null; if (!m_BankHandles.TryGetValue(name, out handle)) { if (callback != null) { handle = new AsyncBankHandle(name, callback, null); } else if (decodeBank) { handle = new DecodableBankHandle(name, saveDecodedBank); } else { handle = new BankHandle(name); } if (callback == null) { m_BankHandles.Add(name, handle); } m_Mutex.ReleaseMutex(); return(handle.LoadBank()); } else { // Bank already loaded, increment its ref count. m_Mutex.ReleaseMutex(); return(AKRESULT.AK_BankAlreadyLoaded); } }
public static AKRESULT UnloadBankRes(string name) { m_Mutex.WaitOne(); BankHandle handle = null; if (m_BankHandles.TryGetValue(name, out handle)) { m_BankHandles.Remove(name); m_Mutex.ReleaseMutex(); return(handle.UnloadBank()); //handle.DecRef(); //if (handle.RefCount == 0) // m_BankHandles.Remove(name); } else { m_Mutex.ReleaseMutex(); return(AKRESULT.AK_BankNotLoadYet); } }
public static void LoadBankEditor(string name, bool decodeBank, bool saveDecodedBank) { #if UNITY_SWITCH // No bank decoding on Nintendo switch decodeBank = false; #endif m_Mutex.WaitOne(); BankHandle handle = null; if (!m_BankHandles.TryGetValue(name, out handle)) { handle = decodeBank ? new DecodableBankHandle(name, saveDecodedBank) : new BankHandle(name); m_BankHandles.Add(name, handle); m_Mutex.ReleaseMutex(); handle.LoadBank(); } else { m_Mutex.ReleaseMutex(); } }
public static AKRESULT UnloadBank(string name) { m_Mutex.WaitOne(); BankHandle handle = null; if (m_AyncloadingBanks.Count > 0) { foreach (var lAyncloadingBank in m_AyncloadingBanks) { if (lAyncloadingBank.bankName == name) { handle = lAyncloadingBank; handle.UnloadBank(); break; } } if (handle != null) { m_AyncloadingBanks.Remove(handle as AsyncBankHandle); return(AKRESULT.AK_Success); } } if (m_BankHandles.TryGetValue(name, out handle)) { m_BankHandles.Remove(name); m_Mutex.ReleaseMutex(); return(handle.UnloadBank()); //handle.DecRef(); //if (handle.RefCount == 0) // m_BankHandles.Remove(name); } else { m_Mutex.ReleaseMutex(); return(AKRESULT.AK_BankNotLoadYet); } }
/// 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) { BankHandle handle = null; lock (m_BankHandles) { if (m_BankHandles.TryGetValue(name, out handle)) { // Bank already loaded, increment its ref count. handle.IncRef(); return; } #if UNITY_SWITCH // No bank decoding on Nintendo switch handle = new BankHandle(name); #else handle = decodeBank ? new DecodableBankHandle(name, saveDecodedBank) : new BankHandle(name); #endif m_BankHandles.Add(name, handle); } handle.LoadBank(); }