#if !(UNITY_QNX) // Disable under unsupported platforms. //------------------------------------------------------------------------------ // // // This file was automatically generated by SWIG (https://www.swig.org). // Version 4.4.0 // // Do not make changes to this file unless you know what you are doing - modify // the SWIG interface file instead. //------------------------------------------------------------------------------ public class AkDeviceSettings : global::System.IDisposable { private global::System.IntPtr swigCPtr; protected bool swigCMemOwn; internal AkDeviceSettings(global::System.IntPtr cPtr, bool cMemoryOwn) { swigCMemOwn = cMemoryOwn; swigCPtr = cPtr; } internal static global::System.IntPtr getCPtr(AkDeviceSettings obj) { return (obj == null) ? global::System.IntPtr.Zero : obj.swigCPtr; } internal virtual void setCPtr(global::System.IntPtr cPtr) { Dispose(); swigCPtr = cPtr; } ~AkDeviceSettings() { Dispose(false); } public void Dispose() { Dispose(true); global::System.GC.SuppressFinalize(this); } protected virtual void Dispose(bool disposing) { lock(this) { if (swigCPtr != global::System.IntPtr.Zero) { if (swigCMemOwn) { swigCMemOwn = false; AkUnitySoundEnginePINVOKE.CSharp_delete_AkDeviceSettings(swigCPtr); } swigCPtr = global::System.IntPtr.Zero; } global::System.GC.SuppressFinalize(this); } } /// Pointer for I/O memory allocated by user. /// Pass NULL if you want memory to be allocated via AK::MemoryMgr::Malign(). /// If specified, uIOMemorySize, uIOMemoryAlignment and ePoolAttributes are ignored. public global::System.IntPtr pIOMemory { set { AkUnitySoundEnginePINVOKE.CSharp_AkDeviceSettings_pIOMemory_set(swigCPtr, value); } get { return AkUnitySoundEnginePINVOKE.CSharp_AkDeviceSettings_pIOMemory_get(swigCPtr); } } /// Size of memory for I/O (for automatic streams). It is passed directly to AK::MemoryMgr::Malign(), after having been rounded down to a multiple of uGranularity. public uint uIOMemorySize { set { AkUnitySoundEnginePINVOKE.CSharp_AkDeviceSettings_uIOMemorySize_set(swigCPtr, value); } get { return AkUnitySoundEnginePINVOKE.CSharp_AkDeviceSettings_uIOMemorySize_get(swigCPtr); } } /// I/O memory alignment. It is passed directly to AK::MemoryMgr::Malign(). public uint uIOMemoryAlignment { set { AkUnitySoundEnginePINVOKE.CSharp_AkDeviceSettings_uIOMemoryAlignment_set(swigCPtr, value); } get { return AkUnitySoundEnginePINVOKE.CSharp_AkDeviceSettings_uIOMemoryAlignment_get(swigCPtr); } } /// Attributes for I/O memory. Here, specify the allocation type (AkMemType_Device, and so on). It is passed directly to AK::MemoryMgr::Malign(). public uint ePoolAttributes { set { AkUnitySoundEnginePINVOKE.CSharp_AkDeviceSettings_ePoolAttributes_set(swigCPtr, value); } get { return AkUnitySoundEnginePINVOKE.CSharp_AkDeviceSettings_ePoolAttributes_get(swigCPtr); } } /// I/O requests granularity (typical bytes/request). public uint uGranularity { set { AkUnitySoundEnginePINVOKE.CSharp_AkDeviceSettings_uGranularity_set(swigCPtr, value); } get { return AkUnitySoundEnginePINVOKE.CSharp_AkDeviceSettings_uGranularity_get(swigCPtr); } } /// Scheduler thread properties. public AkThreadProperties threadProperties { set { AkUnitySoundEnginePINVOKE.CSharp_AkDeviceSettings_threadProperties_set(swigCPtr, AkThreadProperties.getCPtr(value)); } get { global::System.IntPtr cPtr = AkUnitySoundEnginePINVOKE.CSharp_AkDeviceSettings_threadProperties_get(swigCPtr); AkThreadProperties ret = (cPtr == global::System.IntPtr.Zero) ? null : new AkThreadProperties(cPtr, false); return ret; } } /// Targetted automatic stream buffer length (ms). When a stream reaches that buffering, it stops being scheduled for I/O except if the scheduler is idle. public float fTargetAutoStmBufferLength { set { AkUnitySoundEnginePINVOKE.CSharp_AkDeviceSettings_fTargetAutoStmBufferLength_set(swigCPtr, value); } get { return AkUnitySoundEnginePINVOKE.CSharp_AkDeviceSettings_fTargetAutoStmBufferLength_get(swigCPtr); } } /// Maximum number of transfers that can be sent simultaneously to the Low-Level I/O. public uint uMaxConcurrentIO { set { AkUnitySoundEnginePINVOKE.CSharp_AkDeviceSettings_uMaxConcurrentIO_set(swigCPtr, value); } get { return AkUnitySoundEnginePINVOKE.CSharp_AkDeviceSettings_uMaxConcurrentIO_get(swigCPtr); } } /// If true, the device attempts to reuse I/O buffers that have already been streamed from disk. This is particularly useful when streaming small looping sounds. However, there is a small increase in CPU usage when allocating memory, and a slightly larger memory footprint in the StreamManager pool. public bool bUseStreamCache { set { AkUnitySoundEnginePINVOKE.CSharp_AkDeviceSettings_bUseStreamCache_set(swigCPtr, value); } get { return AkUnitySoundEnginePINVOKE.CSharp_AkDeviceSettings_bUseStreamCache_get(swigCPtr); } } /// Maximum number of bytes that can be "pinned" using AK::SoundEngine::PinEventInStreamCache() or AK::IAkStreamMgr::PinFileInCache() public uint uMaxCachePinnedBytes { set { AkUnitySoundEnginePINVOKE.CSharp_AkDeviceSettings_uMaxCachePinnedBytes_set(swigCPtr, value); } get { return AkUnitySoundEnginePINVOKE.CSharp_AkDeviceSettings_uMaxCachePinnedBytes_get(swigCPtr); } } } #endif // #if !(UNITY_QNX) // Disable under unsupported platforms.