Skip to main content
Version: 20 Mar 2024

MLAudioSpatialSound.cs

Source code

// %BANNER_BEGIN%
// ---------------------------------------------------------------------
// %COPYRIGHT_BEGIN%
// Copyright (c) (2018-2022) Magic Leap, Inc. All Rights Reserved.
// Use of this file is governed by the Software License Agreement, located here: https://www.magicleap.com/software-license-agreement-ml2
// Terms and conditions applicable to third-party materials accompanying this distribution may also be found in the top-level NOTICE file appearing herein.
// %COPYRIGHT_END%
// ---------------------------------------------------------------------
// %BANNER_END%

namespace UnityEngine.XR.MagicLeap
{
using System;
using System.Runtime.InteropServices;
using UnityEngine.XR.MagicLeap.Native;

public sealed partial class MLAudioOutput
{
public sealed partial class SpatialSound
{
[Serializable]
public sealed class SendLevels
{
[SerializeField]
[Range(0.0f, 1.0f)]
public float Gain;

[SerializeField]
[Range(0.0f, 1.0f)]
public float GainLF;

[SerializeField]
[Range(0.0f, 1.0f)]
public float GainMF;

[SerializeField]
[Range(0.0f, 1.0f)]
public float GainHF;

public override string ToString()
{
return $"Gain: {Gain}, GainLF: {GainLF}, GainMF: {GainMF}, GainHF: {GainHF}";
}
}

[Serializable]
public sealed class DistanceProperties
{
[SerializeField]
public float MinDistance;

[SerializeField]
public float MaxDistance;

[SerializeField]
public float RolloffFactor;

public override string ToString()
{
return $"MinDistance: {MinDistance}, MaxDistance: {MaxDistance}, RolloffFactor: {RolloffFactor}";
}
}

[Serializable]
public sealed class RadiationProperties
{
[SerializeField]
[Range(0.0f, 360.0f)]
public float InnerAngle;

[SerializeField]
[Range(0.0f, 360.0f)]
public float OuterAngle;

[SerializeField]
[Range(0.0f, 1.0f)]
public float OuterGain;

[SerializeField]
[Range(0.0f, 1.0f)]
public float OuterGainLF;

[SerializeField]
[Range(0.0f, 1.0f)]
public float OuterGainMF;

[SerializeField]
[Range(0.0f, 1.0f)]
public float OuterGainHF;

public override string ToString()
{
return $"InnerAngle: {InnerAngle}, OuterAngle: {OuterAngle}, OuterGain: {OuterGain}, OuterGainLF: {OuterGainLF}, OuterGainMF: {OuterGainMF}, OuterGainHF: {OuterGainHF}";
}
}
}
}
}