<?xml version="1.0"?>
<doc>
    <assembly>
        <name>SteamAudio.NET</name>
    </assembly>
    <members>
        <member name="T:SteamAudio.IPL">
            <summary>
            Contains all of the Phonon Library's functions.
            </summary>
        </member>
        <member name="T:SteamAudio.IPL.Vector3">
            <summary>
            A point or vector in 3D space. Steam Audio uses a right-handed coordinate system, with the positive x-axis pointing
            right, the positive y-axis pointing up, and the negative z-axis pointing ahead. Position and direction data
            obtained from a game engine or audio engine must be properly transformed before being passed to any Steam Audio API
            function.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.Vector3.X">
            <summary>
            The x-coordinate.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.Vector3.Y">
            <summary>
            The y-coordinate.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.Vector3.Z">
            <summary>
            The z-coordinate.
            </summary>
        </member>
        <member name="T:SteamAudio.IPL.Error">
            <summary>
            Status codes returned by Steam Audio API functions.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.Error.Success">
            <summary>
            The operation completed successfully.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.Error.Failure">
            <summary>
            An unspecified error occurred.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.Error.OutOfMemory">
            <summary>
            The system ran out of memory.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.Error.Initialization">
            <summary>
            An error occurred while initializing an external dependency.
            </summary>
        </member>
        <member name="T:SteamAudio.IPL.LogLevel">
            <summary>
            Severity levels of log messages generated by Steam Audio.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.LogLevel.Info">
            <summary>
            A normal, informational message.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.LogLevel.Warning">
            <summary>
            A warning. The operation that generated this message may not work as expected.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.LogLevel.Error">
            <summary>
            An error. The operation that generated this message failed.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.LogLevel.Debug">
            <summary>
            A detailed message intended for debugging purposes only.
            </summary>
        </member>
        <member name="T:SteamAudio.IPL.SimdLevel">
            <summary>
            SIMD instruction sets that Steam Audio can attempt to use.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.SimdLevel.Sse2">
            <summary>
            Intel Streaming SIMD Extensions 2. Up to 4 simultaneous floating-point operations.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.SimdLevel.Sse4">
            <summary>
            Intel Streaming SIMD Extensions 4.2 or older. Up to 4 simultaneous floating-point operations.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.SimdLevel.Avx">
            <summary>
            Intel Advanced Vector Extensions or older. Up to 8 simultaneous floating-point operations.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.SimdLevel.Avx2">
            <summary>
            Intel Advanced Vector Extensions 2 or older. Up to 8 simultaneous floating-point operations.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.SimdLevel.Avx512">
            <summary>
            Intel Advanced Vector Extensions 512 or older. Up to 16 simultaneous floating-point operations.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.SimdLevel.Neon">
            <summary>
            ARM NEON. Up to 4 simultaneous floating-point operations.
            </summary>
        </member>
        <member name="T:SteamAudio.IPL.ContextFlags">
            <summary>
            Additional flags for modifying the behavior of a Steam Audio context.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.ContextFlags.Validation">
            <summary>
            All API functions perform extra validation checks. NOTE: This imposes a significant performance penalty.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.ContextFlags.Force32bit">
            <summary>
            Force this enum to be 32 bits in size.
            </summary>
        </member>
        <member name="T:SteamAudio.IPL.OpenCLDeviceType">
            <summary>
            The type of devices to include when listing OpenCL devices.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.OpenCLDeviceType.Any">
            <summary>
            List both CPU and GPU devices.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.OpenCLDeviceType.Cpu">
            <summary>
            Only list CPU devices.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.OpenCLDeviceType.Gpu">
            <summary>
            Only list GPU devices.
            </summary>
        </member>
        <member name="T:SteamAudio.IPL.SceneType">
            <summary>
            The types of scenes that can be created. Each scene type corresponds to a different ray tracing
            implementation.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.SceneType.Default">
            <summary>
            Steam Audio's built-in ray tracer. Supports multi-threading. Runs on all platforms that Steam Audio
            supports.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.SceneType.Embree">
            <summary>
            The Intel Embree ray tracer. Supports multi-threading. This is a highly optimized implementation, and
            is likely to be faster than the default ray tracer. However, Embree requires Windows, Linux, or macOS,
            and a 32-bit x86 or 64-bit x86_64 CPU.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.SceneType.RadeonRays">
            <summary>
            The AMD Radeon Rays ray tracer. This is an OpenCL implementation, and can use either the CPU or any
            GPU that supports OpenCL 1.2 or later. If using the GPU, it is likely to be significantly faster than
            the default ray tracer. However, with heavy real-time simulation workloads, it may impact your
            application's frame rate. On supported AMD GPUs, you can use the Resource Reservation feature to
            mitigate this issue.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.SceneType.Custom">
            <summary>
            Allows you to specify callbacks to your own ray tracer. Useful if your application already uses a
            high-performance ray tracer. This option uses the least amount of memory at run-time, since it does
            not have to build any ray tracing data structures of its own.
            </summary>
        </member>
        <member name="T:SteamAudio.IPL.SpeakerLayoutType">
            <summary>
            Supported speaker layouts.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.SpeakerLayoutType.Mono">
            <summary>
            Mono.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.SpeakerLayoutType.Stereo">
            <summary>
            Stereo (left, right).
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.SpeakerLayoutType.Quadraphonic">
            <summary>
            Front left, front right, rear left, rear right.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.SpeakerLayoutType.Surround51">
            <summary>
            Front left, front right, front center, LFE, rear left, rear right.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.SpeakerLayoutType.Surround71">
            <summary>
            Front left, front right, front center, LFE, rear left, rear right, side left, side right.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.SpeakerLayoutType.Custom">
            <summary>
            User-defined speaker layout. See @c IPLSpeakerLayout.
            </summary>
        </member>
        <member name="T:SteamAudio.IPL.AmbisonicsType">
            <summary>
            Supported channel ordering and normalization schemes for Ambisonic audio.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.AmbisonicsType.N3D">
            <summary>
            ACN channel ordering, orthonormal spherical harmonics.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.AmbisonicsType.Sn3d">
            <summary>
            ACN channel ordering, semi-normalized spherical harmonics. AmbiX format.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.AmbisonicsType.Fuma">
            <summary>
            Furse-Malham (B-format).
            </summary>
        </member>
        <member name="T:SteamAudio.IPL.AudioEffectState">
            <summary>
            States that an audio effect can be left in after processing a frame of audio.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.AudioEffectState.TailRemaining">
            <summary>
            One or more samples of tail remain in the effect's internal buffers.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.AudioEffectState.TailComplete">
            <summary>
            No tail remains in the effect's internal buffers.
            </summary>
        </member>
        <member name="T:SteamAudio.IPL.HrtfType">
            <summary>
            The type of HRTF to use.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.HrtfType.Default">
            <summary>
            The built-in HRTF.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.HrtfType.Sofa">
            <summary>
            An HRTF loaded from a SOFA file.
            </summary>
        </member>
        <member name="T:SteamAudio.IPL.HrtfNormType">
            <summary>
            Volume normalization types to use.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.HrtfNormType.None">
            <summary>
            No normalization.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.HrtfNormType.Rms">
            <summary>
            Root-mean squared normalization. Normalize HRTF volume to ensure similar volume from all directions
            based on root-mean-square value of each HRTF.
            </summary>
        </member>
        <member name="T:SteamAudio.IPL.HrtfInterpolation">
            <summary>
            Techniques for interpolating HRTF data. This is used when rendering a point source whose position relative to
            the listener is not contained in the measured HRTF data.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.HrtfInterpolation.Nearest">
            <summary>
            Nearest-neighbor filtering, i.e., no interpolation. Selects the measurement location that is closest to
            the source's actual location.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.HrtfInterpolation.Bilinear">
            <summary>
            Bilinear filtering. Incurs a relatively high CPU overhead as compared to nearest-neighbor filtering, so use
            this for sounds where it has a significant benefit. Typically, bilinear filtering is most useful for wide-band
            noise-like sounds, such as radio static, mechanical noise, fire, etc.
            </summary>
        </member>
        <member name="T:SteamAudio.IPL.DirectEffectFlags">
            <summary>
            Flags indicating which direct path parameters to apply.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.DirectEffectFlags.ApplyDistanceAttenuation">
            <summary>
            Apply frequency-independent distance attenuation.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.DirectEffectFlags.ApplyAirAbsorption">
            <summary>
            Apply frequency-dependent air absorption as a function of distance.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.DirectEffectFlags.ApplyDirectivity">
            <summary>
            Apply attenuation due to source directivity pattern.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.DirectEffectFlags.ApplyOcclusion">
            <summary>
            Apply occlusion.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.DirectEffectFlags.ApplyTransmission">
            <summary>
            Apply transmission along with occlusion.
            </summary>
        </member>
        <member name="T:SteamAudio.IPL.TransmissionType">
            <summary>
            Modes of applying transmission effects.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.TransmissionType.FrequencyIndependent">
            <summary>
            Transmission is frequency-independent.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.TransmissionType.FrequencyDependent">
            <summary>
            Transmission is frequency-dependent.
            </summary>
        </member>
        <member name="T:SteamAudio.IPL.ReflectionEffectType">
            <summary>
            Type of reflection effect algorithm to use.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.ReflectionEffectType.Convolution">
            <summary>
            Multi-channel convolution reverb. Reflections reaching the listener are encoded in an Impulse Response (IR),
            which is a filter that records each reflection as it arrives. This algorithm renders reflections with the most
            detail, but may result in significant CPU usage. Using a reflection mixer with this algorithm provides a
            reduction in CPU usage.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.ReflectionEffectType.Parametric">
            <summary>
            Parametric (or artificial) reverb, using feedback delay networks. The reflected sound field is reduced to a few
            numbers that describe how reflected energy decays over time. This is then used to drive an approximate model
            of reverberation in an indoor space. This algorithm results in lower CPU usage, but cannot render individual
            echoes, especially in outdoor spaces. A reflection mixer cannot be used with this algorithm.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.ReflectionEffectType.Hybrid">
            <summary>
            A hybrid of convolution and parametric reverb. The initial portion of the IR is rendered using convolution
            reverb, but the later part is used to estimate a parametric reverb. The point in the IR where this transition
            occurs can be controlled. This algorithm allows a trade-off between rendering quality and CPU usage. An
            reflection mixer cannot be used with this algorithm.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.ReflectionEffectType.Tan">
            <summary>
            Multi-channel convolution reverb, using AMD TrueAudio Next for GPU acceleration. This algorithm is similar
            to @c IPL_REFLECTIONEFFECTYPE_CONVOLUTION, but uses the GPU instead of the CPU for processing, allowing
            significantly more sources to be processed. A reflection mixer must be used with this algorithm, because
            the GPU will process convolution reverb at a single point in your audio processing pipeline.
            </summary>
        </member>
        <member name="T:SteamAudio.IPL.ProbeGenerationType">
            <summary>
            The different algorithms for generating probes.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.ProbeGenerationType.Centroid">
            <summary>
            Generates a single probe at the center of the specified box.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.ProbeGenerationType.UniformFloor">
            <summary>
            Generates probes that are uniformly-spaced, at a fixed height above solid geometry. A probe will never be
            generated above another probe unless there is a solid object between them. The goal is to model floors or
            terrain, and generate probes that are a fixed height above the floor or terrain, and uniformly-spaced along
            the horizontal plane. This algorithm is not suitable for scenarios where the listener may fly into a region
            with no probes; if this happens, the listener will not be influenced by any of the baked data.
            </summary>
        </member>
        <member name="T:SteamAudio.IPL.BakedDataVariation">
            <summary>
            The different ways in which the source and listener positions used to generate baked data can vary as a function
            of probe position.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.BakedDataVariation.Reverb">
            <summary>
            At each probe, baked data is calculated with both the source and the listener at the probe position. This
            is useful for modeling traditional reverbs, which depend only on the listener's position (or only on the
            source's position).
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.BakedDataVariation.StaticSource">
            <summary>
            At each probe, baked data is calculated with the source at some fixed position (specified separately),
            and the listener at the probe position. This is used for modeling reflections from a static source to any
            point within the probe batch.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.BakedDataVariation.StaticListener">
            <summary>
            At each probe, baked data is calculated with the source at the probe position, and the listener at some
            fixed position (specified separately). This is used for modeling reflections from a moving source to a
            static listener.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.BakedDataVariation.Dynamic">
            <summary>
            Baked data is calculated for each pair of probes. For example, this is used for calculating paths between
            every pair of probes in a batch.
            </summary>
        </member>
        <member name="T:SteamAudio.IPL.BakedDataType">
            <summary>
            The types of baked data that can be stored in a probe batch.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.BakedDataType.Reflections">
            <summary>
            Reflections. The source and listener positions used to compute the reflections data stored at each probe
            depends on the @c IPLBakedDataVariation selected.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.BakedDataType.Pathing">
            <summary>
            Pathing. The probe batch stores data about the shortest paths between any pair of probes in the batch.
            </summary>
        </member>
        <member name="T:SteamAudio.IPL.ReflectionsBakeFlags">
            <summary>
            Flags for specifying what types of reflections data to bake.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.ReflectionsBakeFlags.BakeConvolution">
            <summary>
            Bake impulse responses for @c IPL_REFLECTIONEFFECTTYPE_CONVOLUTION, @c IPL_REFLECTIONEFFECTTYPE_HYBRID, or @c IPL_REFLECTIONEFFECTTYPE_TAN.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.ReflectionsBakeFlags.BakeParametric">
            <summary>
            Bake parametric reverb for @c IPL_REFLECTIONEFFECTTYPE_PARAMETRIC or @c IPL_REFLECTIONEFFECTTYPE_HYBRID.
            </summary>
        </member>
        <member name="T:SteamAudio.IPL.SimulationFlags">
            <summary>
            Flags indicating which types of simulation should be enabled for a given @c IPLSource.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.SimulationFlags.Direct">
            <summary>
            Enable direct simulation. This includes distance attenuation, air absorption, directivity, occlusion, and
            transmission.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.SimulationFlags.Reflections">
            <summary>
            Enable reflections simulation. This includes both real-time and baked simulation.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.SimulationFlags.Pathing">
            <summary>
            Enable pathing simulation.
            </summary>
        </member>
        <member name="T:SteamAudio.IPL.DirectSimulationFlags">
            <summary>
            Flags indicating which types of direct simulation should be enabled for a given @c IPLSource.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.DirectSimulationFlags.DistanceAttenuation">
            <summary>
            Enable distance attenuation calculations.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.DirectSimulationFlags.AirAbsorption">
            <summary>
            Enable air absorption calculations.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.DirectSimulationFlags.Directivity">
            <summary>
            Enable directivity calculations.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.DirectSimulationFlags.Occlusion">
            <summary>
            Enable occlusion simulation.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.DirectSimulationFlags.Transmission">
            <summary>
            Enable transmission simulation. Requires occlusion to also be enabled.
            </summary>
        </member>
        <member name="T:SteamAudio.IPL.DistanceAttenuationModelType">
            <summary>
            The types of distance attenuation that can be used.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.DistanceAttenuationModelType.Default">
            <summary>
            The default distance attenuation model. This is an inverse distance falloff, with all sounds within 1 meter
            of the listener rendered without distance attenuation.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.DistanceAttenuationModelType.InverseDistance">
            <summary>
            An inverse distance falloff. You can configure the minimum distance, within which distance attenuation is not
            applied.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.DistanceAttenuationModelType.Callback">
            <summary>
            An arbitrary distance falloff function, defined by a callback function.
            </summary>
        </member>
        <member name="T:SteamAudio.IPL.AirAbsorptionModelType">
            <summary>
            The types of air absorption that can be used.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.AirAbsorptionModelType.Default">
            <summary>
            The default air absorption model. This is an exponential falloff, with decay rates derived from physical
            properties of air.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.AirAbsorptionModelType.Exponential">
            <summary>
            An exponential falloff. You can configure the decay rates for each frequency band.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.AirAbsorptionModelType.Callback">
            <summary>
            An arbitrary air absorption model, defined by a callback function.
            </summary>
        </member>
        <member name="T:SteamAudio.IPL.DeviationModelType">
            <summary>
            The types of deviation model that can be used.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.DeviationModelType.Default">
            <summary>
            The default deviation model. This is a physics-based model, based on the Uniform Theory of Diffraction,
            with various additional assumptions.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.DeviationModelType.Callback">
            <summary>
            An arbitrary deviation model, defined by a callback function.
            </summary>
        </member>
        <member name="T:SteamAudio.IPL.OcclusionType">
            <summary>
            The different algorithms for simulating occlusion.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.OcclusionType.Raycast">
            <summary>
            Raycast occlusion. A single ray is traced from the listener to the source. If the ray hits a solid object
            before it reaches the source, the source is considered occluded.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.OcclusionType.Volumetric">
            <summary>
            A volumetric occlusion algorithm that can model partial occlusion. The source is modeled as a sphere with
            a configurable radius. Multiple points are sampled within the volume of this sphere. Rays are then traced
            from each sample point to both the source and the listener. A sample point is considered occluded if either
            of these two rays is occluded. The occlusion value for the source is calculated as the fraction of
            sample points that are unoccluded. This algorithm allows for smoother transitions in and out of occlusion.
            </summary>
        </member>
        <member name="T:SteamAudio.IPL.ContextSettings">
            <summary>
            Settings used to create a context object.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.ContextSettings.Version">
            <summary>
            The API version used by the caller. Context creation will fail if `phonon.dll` does not implement a
            compatible version of the API. Typically, this should be set to `STEAMAUDIO_VERSION`.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.ContextSettings.LogCallback">
            <summary>
            (Optional) If non-NULL, Steam Audio will call this function to record log messages generated by
            certain operations.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.ContextSettings.AllocateCallback">
            <summary>
            (Optional) If non-NULL, Steam Audio will call this function whenever it needs to allocate
            memory.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.ContextSettings.FreeCallback">
            <summary>
            (Optional) If non-NULL, Steam Audio will call this function whenever it needs to free memory.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.ContextSettings.SimdLevel">
            <summary>
            The maximum SIMD instruction set level that Steam Audio should use. Steam Audio automatically
            chooses the best instruction set to use based on the user's CPU, but you can prevent it from
            using certain newer instruction sets using this parameter. For example, with some workloads,
            AVX512 instructions consume enough power that the CPU clock speed will be throttled, resulting
            in lower performance than expected. If you observe this in your application, set this
            parameter to `IPL_SIMDLEVEL_AVX2` or lower.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.ContextSettings.Flags">
            <summary>
            Additional flags for modifying the behavior of the created context.
            </summary>
        </member>
        <member name="T:SteamAudio.IPL.Matrix4x4">
            <summary>
            A 4x4 matrix used to represent an affine transform.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.Matrix4x4.Elements">
            <summary>
            Matrix elements, in row-major order.
            </summary>
        </member>
        <member name="T:SteamAudio.IPL.Box">
            <summary>
            An axis-aligned box. Axis-aligned boxes are used to specify a volume of 3D space.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.Box.MinCoordinates">
            <summary>
            The minimum coordinates of any vertex.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.Box.MaxCoordinates">
            <summary>
            The maximum coordinates of any vertex.
            </summary>
        </member>
        <member name="T:SteamAudio.IPL.Sphere">
            <summary>
            A sphere. Spheres are used to define a region of influence around a point.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.Sphere.Center">
            <summary>
            The center.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.Sphere.Radius">
            <summary>
            The radius.
            </summary>
        </member>
        <member name="T:SteamAudio.IPL.CoordinateSpace3">
            <summary>
            A 3D coordinate system, expressed relative to a canonical coordinate system.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.CoordinateSpace3.Right">
            <summary>
            Unit vector pointing to the right (local +x axis).
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.CoordinateSpace3.Up">
            <summary>
            Unit vector pointing upwards (local +y axis).
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.CoordinateSpace3.Ahead">
            <summary>
            Unit vector pointing forwards (local -z axis).
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.CoordinateSpace3.Origin">
            <summary>
            The origin, relative to the canonical coordinate system.
            </summary>
        </member>
        <member name="T:SteamAudio.IPL.SerializedObjectSettings">
            <summary>
            Settings used to create a serialized object.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.SerializedObjectSettings.Data">
            <summary>
            If non-NULL, the serialized object will contain the data in this buffer. If NULL,
            the serialized object will start out empty.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.SerializedObjectSettings.Size">
            <summary>
            The number of bytes in the buffer pointed to by @c data. Set to 0 if @c data is
            NULL.
            </summary>
        </member>
        <member name="T:SteamAudio.IPL.OpenCLDeviceSettings">
            <summary>
            Specifies requirements that an OpenCL device must meet in order to be considered when listing
            OpenCL devices.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.OpenCLDeviceSettings.Type">
            <summary>
            The type of device. Set to @c IPL_OPENCLDEVICETYPE_ANY to consider all available devices.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.OpenCLDeviceSettings.NumCUsToReserve">
            <summary>
            The number of GPU compute units (CUs) that should be reserved for use by Steam Audio. If set to a
            non-zero value, then a GPU will be included in the device list only if it can reserve at least
            this many CUs. Set to 0 to indicate that Steam Audio can use the entire GPU, in which case all
            available GPUs will be considered.
            </summary>
            <remarks>
            Ignored if @c type is @c IPL_OPENCLDEVICETYPE_CPU.
            </remarks>
        </member>
        <member name="F:SteamAudio.IPL.OpenCLDeviceSettings.FractionCUsForIRUpdate">
            <summary>
            The fraction of reserved CUs that should be used for impulse response (IR) update. IR update
            includes: a) ray tracing using Radeon Rays to simulate sound propagation, and/or b) pre-transformation
            of IRs for convolution using TrueAudio Next. Steam Audio will only list GPU devices that are able
            to subdivide the reserved CUs as per this value. The value must be between 0 and 1.
            </summary>
            <remarks>
            For example, if @c numCUsToReserve is @c 8, and @c fractionCUsForIRUpdate is @c 0.5f, then 4 CUs
            will be used for IR update and 4 CUs will be used for convolution. Below are typical scenarios:-   Using only TrueAudio Next. Set @c fractionCUsForIRUpdate to @c 0.5f. This ensures that reserved
            CUs are available for IR update as well as convolution.-   Using TrueAudio Next and Radeon Rays for real-time simulation and rendering. Choosing
            @c fractionCUsForIRUpdate may require some experimentation to utilize reserved CUs optimally. You
            can start by setting @c fractionCUsForIRUpdate to @c 0.5f. However, if IR calculation has high
            latency with these settings, increase @c fractionCUsForIRUpdate to use more CUs for ray tracing.-   Using only Radeon Rays. Set @c fractionCUsForIRUpdate to @c 1, to make sure all the reserved CUs
            are used for ray tracing. If using Steam Audio for preprocessing (e.g. baking reverb), then
            consider setting @c numCUsToReserve to @c 0 to use the entire GPU for accelerated ray tracing.Ignored if @c type is @c IPL_OPENCLDEVICETYPE_CPU or @c numCUsToReserve is @c 0.
            </remarks>
        </member>
        <member name="F:SteamAudio.IPL.OpenCLDeviceSettings.RequiresTAN">
            <summary>
            If @c IPL_TRUE, then the GPU device must support TrueAudio Next. It is not necessary to set this
            to @c IPL_TRUE if @c numCUsToReserve or @c fractionCUsForIRUpdate are set to non-zero values.
            </summary>
        </member>
        <member name="T:SteamAudio.IPL.OpenCLDeviceDesc">
            <summary>
            Describes the properties of an OpenCL device. This information can be used to select the most suitable
            device for your application.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.OpenCLDeviceDesc.Platform">
            <summary>
            The OpenCL platform id. Can be cast to @c cl_platform_id.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.OpenCLDeviceDesc.PlatformName">
            <summary>
            The OpenCL platform name.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.OpenCLDeviceDesc.PlatformVendor">
            <summary>
            The OpenCL platform vendor's name.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.OpenCLDeviceDesc.PlatformVersion">
            <summary>
            The OpenCL platform version.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.OpenCLDeviceDesc.Device">
            <summary>
            The OpenCL device id. Can be cast to @c cl_device_id.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.OpenCLDeviceDesc.DeviceName">
            <summary>
            The OpenCL device name.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.OpenCLDeviceDesc.DeviceVendor">
            <summary>
            The OpenCL device vendor's name.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.OpenCLDeviceDesc.DeviceVersion">
            <summary>
            The OpenCL device version.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.OpenCLDeviceDesc.Type">
            <summary>
            The type of OpenCL device.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.OpenCLDeviceDesc.NumConvolutionCUs">
            <summary>
            The number of CUs reserved for convolution. May be @c 0 if CU reservation is not supported.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.OpenCLDeviceDesc.NumIRUpdateCUs">
            <summary>
            The number of CUs reserved for IR update. May be @c 0 if CU reservation is not supported.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.OpenCLDeviceDesc.Granularity">
            <summary>
            The CU reservation granularity. CUs can only be reserved on this device in multiples of this number.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.OpenCLDeviceDesc.PerfScore">
            <summary>
            A relative performance score of a single CU of this device. Only applicable to supported AMD GPUs.
            </summary>
        </member>
        <member name="T:SteamAudio.IPL.TrueAudioNextDeviceSettings">
            <summary>
            Settings used to create a TrueAudio Next device.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.TrueAudioNextDeviceSettings.FrameSize">
            <summary>
            The number of samples in an audio frame.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.TrueAudioNextDeviceSettings.IrSize">
            <summary>
            The number of samples in the impulse responses that will be used for convolution.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.TrueAudioNextDeviceSettings.Order">
            <summary>
            The Ambisonic order of the impulse responses that will be used for convolution.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.TrueAudioNextDeviceSettings.MaxSources">
            <summary>
            The maximum number of sources that will use TrueAudio Next for convolution.
            </summary>
        </member>
        <member name="T:SteamAudio.IPL.Triangle">
            <summary>
            A triangle in 3D space.
            </summary>
            <remarks>
            Triangles are specified by their three vertices, which are in turn specified using indices into a
            vertex array.Steam Audio uses a counter-clockwise winding order. This means that when looking at the triangle such that the
            normal is pointing towards you, the vertices are specified in counter-clockwise order.Each triangle must be specified using three vertices; triangle strip or fan representations are
            not supported.
            </remarks>
        </member>
        <member name="F:SteamAudio.IPL.Triangle.Indices">
            <summary>
            Indices of the three vertices of this triangle.
            </summary>
        </member>
        <member name="T:SteamAudio.IPL.Material">
            <summary>
            The acoustic properties of a surface.
            </summary>
            <remarks>
            You can specify the acoustic material properties of each triangle, although typically many triangles will
            share a common material.The acoustic material properties are specified for three frequency bands with center frequencies of
            400 Hz, 2.5 KHz, and 15 KHz.Below are the acoustic material properties for a few standard materials.```cpp
            {"generic",{0.10f,0.20f,0.30f,0.05f,0.100f,0.050f,0.030f}}
            {"brick",{0.03f,0.04f,0.07f,0.05f,0.015f,0.015f,0.015f}}
            {"concrete",{0.05f,0.07f,0.08f,0.05f,0.015f,0.002f,0.001f}}
            {"ceramic",{0.01f,0.02f,0.02f,0.05f,0.060f,0.044f,0.011f}}
            {"gravel",{0.60f,0.70f,0.80f,0.05f,0.031f,0.012f,0.008f}},
            {"carpet",{0.24f,0.69f,0.73f,0.05f,0.020f,0.005f,0.003f}}
            {"glass",{0.06f,0.03f,0.02f,0.05f,0.060f,0.044f,0.011f}}
            {"plaster",{0.12f,0.06f,0.04f,0.05f,0.056f,0.056f,0.004f}}
            {"wood",{0.11f,0.07f,0.06f,0.05f,0.070f,0.014f,0.005f}}
            {"metal",{0.20f,0.07f,0.06f,0.05f,0.200f,0.025f,0.010f}}
            {"rock",{0.13f,0.20f,0.24f,0.05f,0.015f,0.002f,0.001f}}
            ```
            </remarks>
        </member>
        <member name="F:SteamAudio.IPL.Material.Absorption">
            <summary>
            Fraction of sound energy absorbed at low, middle, high frequencies. Between 0.0 and 1.0.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.Material.Scattering">
            <summary>
            Fraction of sound energy scattered in a random direction on reflection. Between 0.0 (pure specular) and 1.0
            (pure diffuse).
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.Material.Transmission">
            <summary>
            Fraction of sound energy transmitted through at low, middle, high frequencies. Between 0.0 and 1.0.
            Only used for direct occlusion calculations.
            </summary>
        </member>
        <member name="T:SteamAudio.IPL.Ray">
            <summary>
            A ray in 3D space.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.Ray.Origin">
            <summary>
            Origin of the ray.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.Ray.Direction">
            <summary>
            Unit vector direction of the ray.
            </summary>
        </member>
        <member name="T:SteamAudio.IPL.Hit">
            <summary>
            Information about a ray's intersection with 3D geometry.
            </summary>
            <remarks>
            This information should be provided by ray tracer callbacks when using @c IPL_SCENETYPE_CUSTOM. Not all
            fields are required.
            </remarks>
        </member>
        <member name="F:SteamAudio.IPL.Hit.Distance">
            <summary>
            Distance along the ray from origin to hit point. Set to @c INFINITY if nothing was hit.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.Hit.TriangleIndex">
            <summary>
            (Optional) Index of the primitive hit by the ray. @c -1 if not provided.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.Hit.ObjectIndex">
            <summary>
            (Optional) Index of the scene object hit by the ray. @c -1 if not provided.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.Hit.MaterialIndex">
            <summary>
            (Optional) Index of the material associated with the primitive hit by the ray. @c -1 if not provided.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.Hit.Normal">
            <summary>
            Unit length surface normal at the hit point. Ignored if nothing was hit.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.Hit.Material">
            <summary>
            Pointer to the material at the hit point. Ignored if nothing was hit.
            </summary>
        </member>
        <member name="T:SteamAudio.IPL.SceneSettings">
            <summary>
            Settings used to create a scene.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.SceneSettings.Type">
            <summary>
            Type of scene to create.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.SceneSettings.ClosestHitCallback">
            <summary>
            Callback for finding the closest hit along a ray. Only for @c IPL_SCENETYPE_CUSTOM.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.SceneSettings.AnyHitCallback">
            <summary>
            Callback for finding whether a ray hits anything. Only for @c IPL_SCENETYPE_CUSTOM.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.SceneSettings.BatchedClosestHitCallback">
            <summary>
            Callback for finding the closest hit along a batch of rays. Only for @c IPL_SCENETYPE_CUSTOM.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.SceneSettings.BatchedAnyHitCallback">
            <summary>
            Callback for finding whether a batch of rays hits anything. Only for @c IPL_SCENETYPE_CUSTOM.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.SceneSettings.UserData">
            <summary>
            Arbitrary user-provided data for use by ray tracing callbacks. Only for @c IPL_SCENETYPE_CUSTOM.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.SceneSettings.EmbreeDevice">
            <summary>
            Handle to an Embree device. Only for @c IPL_SCENETYPE_EMBREE.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.SceneSettings.RadeonRaysDevice">
            <summary>
            Handle to a Radeon Rays device. Only for @c IPL_SCENETYPE_RADEONRAYS.
            </summary>
        </member>
        <member name="T:SteamAudio.IPL.StaticMeshSettings">
            <summary>
            Settings used to create a static mesh.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.StaticMeshSettings.NumVertices">
            <summary>
            Number of vertices.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.StaticMeshSettings.NumTriangles">
            <summary>
            Number of triangles.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.StaticMeshSettings.NumMaterials">
            <summary>
            Number of materials.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.StaticMeshSettings.Vertices">
            <summary>
            Array containing vertices.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.StaticMeshSettings.Triangles">
            <summary>
            Array containing (indexed) triangles.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.StaticMeshSettings.MaterialIndices">
            <summary>
            Array containing, for each triangle, the index of the associated material.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.StaticMeshSettings.Materials">
            <summary>
            Array of materials.
            </summary>
        </member>
        <member name="T:SteamAudio.IPL.InstancedMeshSettings">
            <summary>
            Settings used to create an instanced mesh.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.InstancedMeshSettings.SubScene">
            <summary>
            Handle to the scene to be instantiated.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.InstancedMeshSettings.Transform">
            <summary>
            Local-to-world transform that places the instance within the parent scene.
            </summary>
        </member>
        <member name="T:SteamAudio.IPL.SpeakerLayout">
            <summary>
            Describes a standard or custom speaker layout.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.SpeakerLayout.Type">
            <summary>
            See @c IPLSpeakerLayoutType.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.SpeakerLayout.NumSpeakers">
            <summary>
            Number of speakers. Only for IPL_SPEAKERLAYOUTTYPE_CUSTOM.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.SpeakerLayout.Speakers">
            <summary>
            Array of unit-length directions for each speaker. Only for IPL_SPEAKERLAYOUTTYPE_CUSTOM.
            </summary>
        </member>
        <member name="T:SteamAudio.IPL.AudioSettings">
            <summary>
            Global settings for audio signal processing.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.AudioSettings.SamplingRate">
            <summary>
            Sampling rate, in Hz.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.AudioSettings.FrameSize">
            <summary>
            Frame size, in samples. Independent of number of channels.
            </summary>
        </member>
        <member name="T:SteamAudio.IPL.AudioBuffer">
            <summary>
            Describes an audio buffer. All audio buffers passed to Steam Audio must be deinterleaved.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.AudioBuffer.NumChannels">
            <summary>
            Number of channels.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.AudioBuffer.NumSamples">
            <summary>
            Number of samples per channel.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.AudioBuffer.Data">
            <summary>
            Array of pointers to sample data for each channel. Allocation of sample data is up to the user.
            </summary>
        </member>
        <member name="T:SteamAudio.IPL.HrtfSettings">
            <summary>
            Settings used to create an HRTF object.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.HrtfSettings.Type">
            <summary>
            The type of HRTF to create.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.HrtfSettings.SofaFileName">
            <summary>
            SOFA file from which to load HRTF data. Either @c sofaFileName or @c sofaData should be non-NULL.
            Only for @c IPL_HRTFTYPE_SOFA.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.HrtfSettings.SofaData">
            <summary>
            Pointer to a buffer containing SOFA file data from which to load HRTF data. Either @c sofaFileName or @c sofaData should be non-NULL. Only for @c IPL_HRTFTYPE_SOFA.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.HrtfSettings.SofaDataSize">
            <summary>
            Size (in bytes) of the buffer pointed to by @c sofaData. Only for @c IPL_HRTFTYPE_SOFA.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.HrtfSettings.Volume">
            <summary>
            Volume correction factor to apply to the loaded HRTF data. A value of 1.0 means the HRTF data will be used
            without any change.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.HrtfSettings.NormType">
            <summary>
            Normalization setting. No normalization will be applied when choosing @c IPL_HRTFNORMTYPE_NONE.
            </summary>
        </member>
        <member name="T:SteamAudio.IPL.PanningEffectSettings">
            <summary>
            Settings used to create a panning effect.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.PanningEffectSettings.SpeakerLayout">
            <summary>
            The speaker layout to pan input audio to.
            </summary>
        </member>
        <member name="T:SteamAudio.IPL.PanningEffectParams">
            <summary>
            Parameters for applying a panning effect to an audio buffer.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.PanningEffectParams.Direction">
            <summary>
            Unit vector pointing from the listener towards the source.
            </summary>
        </member>
        <member name="T:SteamAudio.IPL.BinauralEffectSettings">
            <summary>
            Settings used to create a binaural effect.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.BinauralEffectSettings.Hrtf">
            <summary>
            The HRTF to use.
            </summary>
        </member>
        <member name="T:SteamAudio.IPL.BinauralEffectParams">
            <summary>
            Parameters for applying a binaural effect to an audio buffer.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.BinauralEffectParams.Direction">
            <summary>
            Unit vector pointing from the listener towards the source.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.BinauralEffectParams.Interpolation">
            <summary>
            The interpolation technique to use.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.BinauralEffectParams.SpatialBlend">
            <summary>
            Amount to blend input audio with spatialized audio. When set to 0, output audio is not spatialized at all
            and is close to input audio. If set to 1, output audio is fully spatialized.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.BinauralEffectParams.Hrtf">
            <summary>
            The HRTF to use.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.BinauralEffectParams.PeakDelays">
            <summary>
            Base address of an array into which to write the left- and right-ear peak delays for the HRTF used
            to spatialize the input audio. Memory for this array must be allocated and managed by the caller.
            Can be NULL, in which case peak delays will not be written.
            </summary>
        </member>
        <member name="T:SteamAudio.IPL.VirtualSurroundEffectSettings">
            <summary>
            Settings used to create a virtual surround effect.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.VirtualSurroundEffectSettings.SpeakerLayout">
            <summary>
            The speaker layout that will be used by input audio buffers.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.VirtualSurroundEffectSettings.Hrtf">
            <summary>
            The HRTF to use.
            </summary>
        </member>
        <member name="T:SteamAudio.IPL.VirtualSurroundEffectParams">
            <summary>
            Parameters for applying a virtual surround effect to an audio buffer.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.VirtualSurroundEffectParams.Hrtf">
            <summary>
            The HRTF to use.
            </summary>
        </member>
        <member name="T:SteamAudio.IPL.AmbisonicsEncodeEffectSettings">
            <summary>
            Settings used to create an Ambisonics encode effect.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.AmbisonicsEncodeEffectSettings.MaxOrder">
            <summary>
            Maximum Ambisonics order to encode audio buffers to.
            </summary>
        </member>
        <member name="T:SteamAudio.IPL.AmbisonicsEncodeEffectParams">
            <summary>
            Parameters for applying an Ambisonics encode effect to an audio buffer.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.AmbisonicsEncodeEffectParams.Direction">
            <summary>
            Vector pointing from the listener towards the source. Need not be normalized; Steam Audio will automatically
            normalize this vector. If a zero-length vector is passed, the output will be order 0 (omnidirectional).
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.AmbisonicsEncodeEffectParams.Order">
            <summary>
            Ambisonic order of the output buffer. May be less than the @c maxOrder specified when creating the effect,
            in which case the effect will generate fewer output channels, reducing CPU usage.
            </summary>
        </member>
        <member name="T:SteamAudio.IPL.AmbisonicsPanningEffectSettings">
            <summary>
            Settings used to create an Ambisonics panning effect.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.AmbisonicsPanningEffectSettings.SpeakerLayout">
            <summary>
            The speaker layout that will be used by output audio buffers.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.AmbisonicsPanningEffectSettings.MaxOrder">
            <summary>
            The maximum Ambisonics order that will be used by input audio buffers.
            </summary>
        </member>
        <member name="T:SteamAudio.IPL.AmbisonicsPanningEffectParams">
            <summary>
            Parameters for applying an Ambisonics panning effect to an audio buffer.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.AmbisonicsPanningEffectParams.Order">
            <summary>
            Ambisonic order of the input buffer. May be less than the @c maxOrder specified when creating the effect,
            in which case the effect will process fewer input channels, reducing CPU usage.
            </summary>
        </member>
        <member name="T:SteamAudio.IPL.AmbisonicsBinauralEffectSettings">
            <summary>
            Settings used to create an Ambisonics binaural effect.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.AmbisonicsBinauralEffectSettings.Hrtf">
            <summary>
            The HRTF to use.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.AmbisonicsBinauralEffectSettings.MaxOrder">
            <summary>
            The maximum Ambisonics order that will be used by input audio buffers.
            </summary>
        </member>
        <member name="T:SteamAudio.IPL.AmbisonicsBinauralEffectParams">
            <summary>
            Parameters for applying an Ambisonics binaural effect to an audio buffer.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.AmbisonicsBinauralEffectParams.Hrtf">
            <summary>
            The HRTF to use.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.AmbisonicsBinauralEffectParams.Order">
            <summary>
            Ambisonic order of the input buffer. May be less than the @c maxOrder specified when creating the effect,
            in which case the effect will process fewer input channels, reducing CPU usage.
            </summary>
        </member>
        <member name="T:SteamAudio.IPL.AmbisonicsRotationEffectSettings">
            <summary>
            Settings used to create an Ambisonics rotation effect.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.AmbisonicsRotationEffectSettings.MaxOrder">
            <summary>
            The maximum Ambisonics order that will be used by input audio buffers.
            </summary>
        </member>
        <member name="T:SteamAudio.IPL.AmbisonicsRotationEffectParams">
            <summary>
            Parameters for applying an Ambisonics rotation effect to an audio buffer.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.AmbisonicsRotationEffectParams.Orientation">
            <summary>
            The orientation of the listener.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.AmbisonicsRotationEffectParams.Order">
            <summary>
            Ambisonic order of the input and output buffers. May be less than the @c maxOrder specified when creating the
            effect, in which case the effect will process fewer channels, reducing CPU usage.
            </summary>
        </member>
        <member name="T:SteamAudio.IPL.AmbisonicsDecodeEffectSettings">
            <summary>
            Settings used to create an Ambisonics decode effect.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.AmbisonicsDecodeEffectSettings.SpeakerLayout">
            <summary>
            The speaker layout that will be used by output audio buffers.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.AmbisonicsDecodeEffectSettings.Hrtf">
            <summary>
            The HRTF to use.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.AmbisonicsDecodeEffectSettings.MaxOrder">
            <summary>
            The maximum Ambisonics order that will be used by input audio buffers.
            </summary>
        </member>
        <member name="T:SteamAudio.IPL.AmbisonicsDecodeEffectParams">
            <summary>
            Parameters for applying an Ambisonics decode effect to an audio buffer.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.AmbisonicsDecodeEffectParams.Order">
            <summary>
            Ambisonic order of the input buffer. May be less than the @c maxOrder specified when creating the effect,
            in which case the effect will process fewer input channels, reducing CPU usage.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.AmbisonicsDecodeEffectParams.Hrtf">
            <summary>
            The HRTF to use.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.AmbisonicsDecodeEffectParams.Orientation">
            <summary>
            The orientation of the listener.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.AmbisonicsDecodeEffectParams.Binaural">
            <summary>
            Whether to use binaural rendering or panning.
            </summary>
        </member>
        <member name="T:SteamAudio.IPL.DirectEffectSettings">
            <summary>
            Settings used to create a direct effect.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.DirectEffectSettings.NumChannels">
            <summary>
            Number of channels that will be used by input and output buffers.
            </summary>
        </member>
        <member name="T:SteamAudio.IPL.DirectEffectParams">
            <summary>
            Parameters for applying a direct effect to an audio buffer.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.DirectEffectParams.Flags">
            <summary>
            Flags indicating which direct path effects to apply.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.DirectEffectParams.TransmissionType">
            <summary>
            Mode of applying transmission effect, if @c IPL_DIRECTEFFECTFLAGS_APPLYTRANSMISSION is enabled.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.DirectEffectParams.DistanceAttenuation">
            <summary>
            Value of distance attenuation, between 0 and 1.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.DirectEffectParams.AirAbsorption">
            <summary>
            3-band EQ coefficients for air absorption, each between 0 and 1.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.DirectEffectParams.Directivity">
            <summary>
            Value of directivity term, between 0 and 1.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.DirectEffectParams.Occlusion">
            <summary>
            Value of occlusion factor, between 0 and 1.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.DirectEffectParams.Transmission">
            <summary>
            3-band EQ coefficients for transmission, each between 0 and 1.
            </summary>
        </member>
        <member name="T:SteamAudio.IPL.ReflectionEffectSettings">
            <summary>
            Settings used to create a reflection effect.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.ReflectionEffectSettings.Type">
            <summary>
            Type of reflection effect algorithm to use.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.ReflectionEffectSettings.IrSize">
            <summary>
            Number of samples per channel in the IR.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.ReflectionEffectSettings.NumChannels">
            <summary>
            Number of channels in the IR.
            </summary>
        </member>
        <member name="T:SteamAudio.IPL.ReflectionEffectParams">
            <summary>
            Parameters for applying a reflection effect to an audio buffer.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.ReflectionEffectParams.Type">
            <summary>
            Type of reflection effect algorithm to use.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.ReflectionEffectParams.Ir">
            <summary>
            The impulse response. For @c IPL_REFLECTIONEFFECTTYPE_CONVOLUTION or @c IPL_REFLECTIONEFFECTTYPE_HYBRID.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.ReflectionEffectParams.ReverbTimes">
            <summary>
            3-band reverb decay times (RT60). For @c IPL_REFLECTIONEFFECTTYPE_PARAMETRIC or
            @c IPL_REFLECTIONEFFECTTYPE_HYBRID.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.ReflectionEffectParams.Eq">
            <summary>
            3-band EQ coefficients applied to the parametric part to ensure smooth transition.
            For @c IPL_REFLECTIONEFFECTTYPE_HYBRID.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.ReflectionEffectParams.Delay">
            <summary>
            Samples after which parametric part starts. For @c IPL_REFLECTIONEFFECTTYPE_HYBRID.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.ReflectionEffectParams.NumChannels">
            <summary>
            Number of IR channels to process. May be less than the number of channels specified when creating the effect,
            in which case CPU usage will be reduced.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.ReflectionEffectParams.IrSize">
            <summary>
            Number of IR samples per channel to process. May be less than the number of samples specified when creating
            the effect, in which case CPU usage will be reduced.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.ReflectionEffectParams.TanDevice">
            <summary>
            The TrueAudio Next device to use for convolution processing. For @c IPL_REFLECTIONEFFECTTYPE_TAN.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.ReflectionEffectParams.TanSlot">
            <summary>
            The TrueAudio Next slot index to use for convolution processing. The slot identifies the IR to use. For
            @c IPL_REFLECTIONEFFECTTYPE_TAN.
            </summary>
        </member>
        <member name="T:SteamAudio.IPL.PathEffectSettings">
            <summary>
            Settings used to create a path effect.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.PathEffectSettings.MaxOrder">
            <summary>
            The maximum Ambisonics order that will be used by output audio buffers.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.PathEffectSettings.Spatialize">
            <summary>
            If @c IPL_TRUE, then this effect will render spatialized audio into the output buffer. If @c IPL_FALSE, this effect will render un-spatialized (and un-rotated) Ambisonic audio. Setting this to @c IPL_FALSE is
            mainly useful only if you plan to mix multiple Ambisonic buffers and/or apply additional processing to
            the Ambisonic audio before spatialization. If you plan to immediately spatialize the output of the path
            effect, setting this value to @c IPL_TRUE can result in significant performance improvements.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.PathEffectSettings.SpeakerLayout">
            <summary>
            The speaker layout to use when spatializing. Only used if @c spatialize is @c IPL_TRUE.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.PathEffectSettings.Hrtf">
            <summary>
            The HRTF to use when spatializing. Only used if @c spatialize is @c IPL_TRUE.
            </summary>
        </member>
        <member name="T:SteamAudio.IPL.PathEffectParams">
            <summary>
            Parameters for applying a path effect to an audio buffer.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.PathEffectParams.EqCoeffs">
            <summary>
            3-band EQ coefficients for modeling frequency-dependent attenuation caused by paths bending around
            obstacles.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.PathEffectParams.ShCoeffs">
            <summary>
            Ambisonic coefficients for modeling the directional distribution of sound reaching the listener.
            The coefficients are specified in world-space, and must be rotated to match the listener's orientation
            separately.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.PathEffectParams.Order">
            <summary>
            Ambisonic order of the output buffer. May be less than the maximum order specified when creating the effect,
            in which case higher-order @c shCoeffs will be ignored, and CPU usage will be reduced.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.PathEffectParams.Binaural">
            <summary>
            If @c IPL_TRUE, spatialize using HRTF-based binaural rendering. Only used if @c spatialize was set to
            @c IPL_TRUE in @c IPLPathEffectSettings.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.PathEffectParams.Hrtf">
            <summary>
            The HRTF to use when spatializing. Only used if @c spatialize was set to @c IPL_TRUE in
            @c IPLPathEffectSettings and @c binaural is set to @c IPL_TRUE.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.PathEffectParams.Listener">
            <summary>
            The position and orientation of the listener. Only used if @c spatialize was set to @c IPL_TRUE in
            @c IPLPathEffectSettings and @c binaural is set to @c IPL_TRUE.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.PathEffectParams.NormalizeEQ">
            <summary>
            If @c IPL_TRUE, the values in @c eqCoeffs will be normalized before being used, i.e., each value in
            @c eqCoeffs will be divided by the largest value in @c eqCoeffs. This can help counteract overly-aggressive
            filtering due to a physics-based deviation model. If @c IPL_FALSE, the values in @c eqCoeffs will be
            used as-is.
            </summary>
        </member>
        <member name="T:SteamAudio.IPL.EnergyFieldSettings">
            <summary>
            Settings used to create an energy field.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.EnergyFieldSettings.Duration">
            <summary>
            Total duration (in seconds) of the energy field. This determines the number of bins in each channel and band.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.EnergyFieldSettings.Order">
            <summary>
            The Ambisonic order. This determines the number of channels.
            </summary>
        </member>
        <member name="T:SteamAudio.IPL.ImpulseResponseSettings">
            <summary>
            Settings used to create an impulse response.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.ImpulseResponseSettings.Duration">
            <summary>
            Total duration (in seconds) of the impulse response. This determines the number of samples in each channel.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.ImpulseResponseSettings.Order">
            <summary>
            The Ambisonic order. This determines the number of channels.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.ImpulseResponseSettings.SamplingRate">
            <summary>
            The sampling rate. This, together with the duration, determines the number of samples in each channel.
            </summary>
        </member>
        <member name="T:SteamAudio.IPL.ReconstructorSettings">
            <summary>
            Settings used to create a reconstructor.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.ReconstructorSettings.MaxDuration">
            <summary>
            The largest possible duration (in seconds) of any impulse response that will be reconstructed using this 
            reconstructor.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.ReconstructorSettings.MaxOrder">
            <summary>
            The largest possible Ambisonic order of any impulse response that will be reconstructed using this
            reconstructor.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.ReconstructorSettings.SamplingRate">
            <summary>
            The sampling rate of impulse responses reconstructed using this reconstructor.
            </summary>
        </member>
        <member name="T:SteamAudio.IPL.ReconstructorInputs">
            <summary>
            The inputs for a single reconstruction operation.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.ReconstructorInputs.EnergyField">
            <summary>
            The energy field from which to reconstruct an impulse response.
            </summary>
        </member>
        <member name="T:SteamAudio.IPL.ReconstructorSharedInputs">
            <summary>
            Inputs common to all reconstruction operations specified in a single call to @c iplReconstructorReconstruct.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.ReconstructorSharedInputs.Duration">
            <summary>
            Duration of impulse responses to reconstruct. Must be less than or equal to @c maxDuration specified in
            @c IPLReconstructorSettings.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.ReconstructorSharedInputs.Order">
            <summary>
            Ambisonic order of impulse responses to reconstruct. Must be less than or equal to @c maxOrder specified in
            @c IPLReconstructorSettings.
            </summary>
        </member>
        <member name="T:SteamAudio.IPL.ReconstructorOutputs">
            <summary>
            The outputs for a single reconstruction operation.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.ReconstructorOutputs.ImpulseResponse">
            <summary>
            The impulse response object into which the reconstructed impulse repsonse should be stored.
            </summary>
        </member>
        <member name="T:SteamAudio.IPL.ProbeGenerationParams">
            <summary>
            Settings used to generate probes.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.ProbeGenerationParams.Type">
            <summary>
            The algorithm to use for generating probes.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.ProbeGenerationParams.Spacing">
            <summary>
            Spacing (in meters) between two neighboring probes. Only for @c IPL_PROBEGENERATIONTYPE_UNIFORMFLOOR.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.ProbeGenerationParams.Height">
            <summary>
            Height (in meters) above the floor at which probes will be generated. Only for
            @c IPL_PROBEGENERATIONTYPE_UNIFORMFLOOR.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.ProbeGenerationParams.Transform">
            <summary>
            A transformation matrix that transforms an axis-aligned unit cube, with minimum and maximum vertices
            at (0, 0, 0) and (1, 1, 1), into a parallelopiped volume. Probes will be generated within this
            volume.
            </summary>
        </member>
        <member name="T:SteamAudio.IPL.BakedDataIdentifier">
            <summary>
            Identifies a "layer" of data stored in a probe batch. Each probe batch may store multiple layers of data,
            such as reverb, static source reflections, or pathing. Each layer can be accessed using an identifier.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.BakedDataIdentifier.Type">
            <summary>
            The type of data stored.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.BakedDataIdentifier.Variation">
            <summary>
            The way in which source and listener positions depend on probe position.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.BakedDataIdentifier.EndpointInfluence">
            <summary>
            The static source (for @c IPL_BAKEDDATAVARIATION_STATICSOURCE) or static listener (for
            @c IPL_BAKEDDATAVARIATION_STATICLISTENER) used to generate baked data. Baked data is only stored for
            probes that lie within the radius of this sphere.
            </summary>
        </member>
        <member name="T:SteamAudio.IPL.ReflectionsBakeParams">
            <summary>
            Parameters used to control how reflections data is baked.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.ReflectionsBakeParams.Scene">
            <summary>
            The scene in which the probes exist.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.ReflectionsBakeParams.ProbeBatch">
            <summary>
            A probe batch containing the probes at which reflections data should be baked.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.ReflectionsBakeParams.SceneType">
            <summary>
            The type of scene being used.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.ReflectionsBakeParams.Identifier">
            <summary>
            An identifier for the data layer that should be baked. The identifier determines what data is simulated and
            stored at each probe. If the probe batch already contains data with this identifier, it will be overwritten.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.ReflectionsBakeParams.BakeFlags">
            <summary>
            The types of data to save for each probe.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.ReflectionsBakeParams.NumRays">
            <summary>
            The number of rays to trace from each listener position when baking. Increasing this number results in
            improved accuracy, at the cost of increased bake times.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.ReflectionsBakeParams.NumDiffuseSamples">
            <summary>
            The number of directions to consider when generating diffusely-reflected rays when baking. Increasing
            this number results in slightly improved accuracy of diffuse reflections.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.ReflectionsBakeParams.NumBounces">
            <summary>
            The number of times each ray is reflected off of solid geometry. Increasing this number results in
            longer reverb tails and improved accuracy, at the cost of increased bake times.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.ReflectionsBakeParams.SimulatedDuration">
            <summary>
            The length (in seconds) of the impulse responses to simulate. Increasing this number allows the baked
            data to represent longer reverb tails (and hence larger spaces), at the cost of increased memory
            usage while baking.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.ReflectionsBakeParams.SavedDuration">
            <summary>
            The length (in seconds) of the impulse responses to save at each probe. Increasing this number allows
            the baked data to represent longer reverb tails (and hence larger spaces), at the cost of increased
            disk space usage and memory usage at run-time.
            </summary>
            <remarks>
            It may be useful to set @c savedDuration to be less than @c simulatedDuration, especially if you plan
            to use hybrid reverb for rendering baked reflections. This way, the parametric reverb data is
            estimated using a longer IR, resulting in more accurate estimation, but only the early part of the IR
            can be saved for subsequent rendering.
            </remarks>
        </member>
        <member name="F:SteamAudio.IPL.ReflectionsBakeParams.Order">
            <summary>
            Ambisonic order of the baked IRs.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.ReflectionsBakeParams.NumThreads">
            <summary>
            Number of threads to use for baking.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.ReflectionsBakeParams.RayBatchSize">
            <summary>
            If using custom ray tracer callbacks, this the number of rays that will be passed to the callbacks
            every time rays need to be traced.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.ReflectionsBakeParams.IrradianceMinDistance">
            <summary>
            When calculating how much sound energy reaches a surface directly from a source, any source that is
            closer than @c irradianceMinDistance to the surface is assumed to be at a distance of
            @c irradianceMinDistance, for the purposes of energy calculations.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.ReflectionsBakeParams.BakeBatchSize">
            <summary>
            If using Radeon Rays or if @c identifier.variation is @c IPL_BAKEDDATAVARIATION_STATICLISTENER, this is the
            number of probes for which data is baked simultaneously.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.ReflectionsBakeParams.OpenCLDevice">
            <summary>
            The OpenCL device, if using Radeon Rays.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.ReflectionsBakeParams.RadeonRaysDevice">
            <summary>
            The Radeon Rays device, if using Radeon Rays.
            </summary>
        </member>
        <member name="T:SteamAudio.IPL.PathBakeParams">
            <summary>
            Parameters used to control how pathing data is baked.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.PathBakeParams.Scene">
            <summary>
            The scene in which the probes exist.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.PathBakeParams.ProbeBatch">
            <summary>
            A probe batch containing the probes for which pathing data should be baked.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.PathBakeParams.Identifier">
            <summary>
            An identifier for the data layer that should be baked. The identifier determines what data is simulated and
            stored at each probe. If the probe batch already contains data with this identifier, it will be overwritten.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.PathBakeParams.NumSamples">
            <summary>
            Number of point samples to use around each probe when testing whether one probe can see another. To
            determine if two probes are mutually visible, numSamples * numSamples rays are traced, from each
            point sample of the first probe, to every other point sample of the second probe.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.PathBakeParams.Radius">
            <summary>
            When testing for mutual visibility between a pair of probes, each probe is treated as a sphere of
            this radius (in meters), and point samples are generated within this sphere.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.PathBakeParams.Threshold">
            <summary>
            When tracing rays to test for mutual visibility between a pair of probes, the fraction of rays that
            are unoccluded must be greater than this threshold for the pair of probes to be considered
            mutually visible.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.PathBakeParams.VisRange">
            <summary>
            If the distance between two probes is greater than this value, the probes are not considered mutually
            visible. Increasing this value can result in simpler paths, at the cost of increased bake times.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.PathBakeParams.PathRange">
            <summary>
            If the length of the path between two probes is greater than this value, the probes are considered to
            not have any path between them. Increasing this value allows sound to propagate over greater
            distances, at the cost of increased bake times and memory usage.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.PathBakeParams.NumThreads">
            <summary>
            Number of threads to use for baking.
            </summary>
        </member>
        <member name="T:SteamAudio.IPL.DistanceAttenuationModel">
            <summary>
            A distance attenuation model that can be used for modeling attenuation of sound over distance. Can be used
            with both direct and indirect sound propagation.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.DistanceAttenuationModel.Type">
            <summary>
            The type of distance attenuation model to use.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.DistanceAttenuationModel.MinDistance">
            <summary>
            When @c type is @c IPL_DISTANCEATTENUATIONTYPE_INVERSEDISTANCE, no distance attenuation is applied to
            any sound whose distance from the listener is less than this value.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.DistanceAttenuationModel.Callback">
            <summary>
            When @c type is @c IPL_DISTANCEATTENUATIONTYPE_CALLBACK, this function will be called whenever Steam
            Audio needs to evaluate distance attenuation.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.DistanceAttenuationModel.UserData">
            <summary>
            Pointer to arbitrary data that will be provided to the @c callback function whenever it is called.
            May be @c NULL.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.DistanceAttenuationModel.Dirty">
            <summary>
            Set to @c IPL_TRUE to indicate that the distance attenuation model defined by the @c callback function
            has changed since the last time simulation was run. For example, the callback may be evaluating a
            curve defined in a GUI. If the user is editing the curve in real-time, set this to @c IPL_TRUE whenever
            the curve changes, so Steam Audio can update simulation results to match.
            </summary>
        </member>
        <member name="T:SteamAudio.IPL.AirAbsorptionModel">
            <summary>
            An air absorption model that can be used for modeling frequency-dependent attenuation of sound over
            distance.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.AirAbsorptionModel.Type">
            <summary>
            The type of air absorption model to use.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.AirAbsorptionModel.Coefficients">
            <summary>
            The exponential falloff coefficients to use when @c type is @c IPL_AIRABSORPTIONTYPE_EXPONENTIAL.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.AirAbsorptionModel.Callback">
            <summary>
            When @c type is @c IPL_AIRABSORPTIONTYPE_CALLBACK, this function will be called whenever Steam
            Audio needs to evaluate air absorption.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.AirAbsorptionModel.UserData">
            <summary>
            Pointer to arbitrary data that will be provided to the @c callback function whenever it is called.
            May be @c NULL.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.AirAbsorptionModel.Dirty">
            <summary>
            Set to @c IPL_TRUE to indicate that the air absorption model defined by the @c callback function
            has changed since the last time simulation was run. For example, the callback may be evaluating a set of
            curves defined in a GUI. If the user is editing the curves in real-time, set this to @c IPL_TRUE whenever
            the curves change, so Steam Audio can update simulation results to match.
            </summary>
        </member>
        <member name="T:SteamAudio.IPL.Directivity">
            <summary>
            A directivity pattern that can be used to model changes in sound intensity as a function of the source's
            orientation. Can be used with both direct and indirect sound propagation.
            </summary>
            <remarks>
            The default directivity model is a weighted dipole. This is a linear blend between an omnidirectional
            source (which emits sound with equal intensity in all directions), and a dipole oriented along the z-axis
            in the source's coordinate system (which focuses sound along the +z and -z axes). A callback function
            can be specified to implement any other arbitrary directivity pattern.
            </remarks>
        </member>
        <member name="F:SteamAudio.IPL.Directivity.DipoleWeight">
            <summary>
            How much of the dipole to blend into the directivity pattern. @c 0 = pure omnidirectional, @c 1 = pure
            dipole. @c 0.5f results in a cardioid directivity pattern.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.Directivity.DipolePower">
            <summary>
            How "sharp" the dipole is. Higher values result in sound being focused within a narrower range of
            directions.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.Directivity.Callback">
            <summary>
            If non @c NULL, this function will be called whenever Steam Audio needs to evaluate a directivity
            pattern.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.Directivity.UserData">
            <summary>
            Pointer to arbitrary data that will be provided to the @c callback function whenever it is called.
            May be @c NULL.
            </summary>
        </member>
        <member name="T:SteamAudio.IPL.DeviationModel">
            <summary>
            A deviation model that can be used for modeling frequency-dependent attenuation of sound as it
            bends along the path from the source to the listener.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.DeviationModel.Type">
            <summary>
            The type of deviation model to use.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.DeviationModel.Callback">
            <summary>
            When @c type is @c IPL_DEVIATIONTYPE_CALLBACK, this function will be called whenever Steam Audio
            needs to evaluate deviation-based attenuation.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.DeviationModel.UserData">
            <summary>
            Pointer to arbitrary data that will be provided to the @c callback function whenever it is called.
            May be @c NULL.
            </summary>
        </member>
        <member name="T:SteamAudio.IPL.SimulationSettings">
            <summary>
            Settings used to create a simulator.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.SimulationSettings.Flags">
            <summary>
            The types of simulation that this simulator will be used for.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.SimulationSettings.SceneType">
            <summary>
            The type of scene that will be used for simulations via @c iplSimulatorSetScene. The scene type
            cannot change during the lifetime of a simulator object.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.SimulationSettings.ReflectionType">
            <summary>
            The type of reflections effect that will be used to render the results of reflections simulation.
            The reflections effect type cannot change during the lifetime of a simulator object.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.SimulationSettings.MaxNumOcclusionSamples">
            <summary>
            The maximum number of point samples to consider when calculating occlusion using the
            volumetric occlusion algorithm. Different sources can use different numbers of samples, and the
            number of samples can change between simulation runs, but this is the maximum value. Increasing
            this value results in smoother occlusion transitions, at the cost of increased CPU usage.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.SimulationSettings.MaxNumRays">
            <summary>
            The maximum number of rays to trace from the listener when simulating reflections. You can use
            different numbers of rays between simulation runs, but this is the maximum value. Increasing
            this value results in more accurate reflections, at the cost of increased CPU usage.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.SimulationSettings.NumDiffuseSamples">
            <summary>
            The number of directions to sample when generating diffusely reflected rays. Increasing this
            value may increase the accuracy of diffuse reflections.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.SimulationSettings.MaxDuration">
            <summary>
            The maximum length (in seconds) of impulse responses generated by reflection simulations. You
            can change this value betweeen simulation runs, but this is the maximum value. Increasing this
            value results in longer, more accurate reverb tails, at the cost of increased CPU and memory usage.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.SimulationSettings.MaxOrder">
            <summary>
            The maximum Ambisonic order of impulse responses generated by reflection simulations. You can
            change this value between simulation runs, but this is the maximum value. Increasing this
            value results in more accurate directional variations in the impulse responses, at the cost of
            increased CPU and memory usage.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.SimulationSettings.MaxNumSources">
            <summary>
            The maximum number of sources for which reflection simulations will be run at any given time.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.SimulationSettings.NumThreads">
            <summary>
            The number of threads used for real-time reflection simulations.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.SimulationSettings.RayBatchSize">
            <summary>
            If using custom ray tracer callbacks, this the number of rays that will be passed to the callbacks
            every time rays need to be traced.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.SimulationSettings.NumVisSamples">
            <summary>
            The number of point samples to consider when calculating probe-to-probe visibility for pathing
            simulations. Baked paths may end up being occluded by dynamic objects, in which case you can configure
            the simulator to look for alternate paths in real time. This process will involve checking visibility
            between probes.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.SimulationSettings.SamplingRate">
            <summary>
            The sampling rate (in Hz) used for audio processing.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.SimulationSettings.FrameSize">
            <summary>
            The size (in samples) of the audio buffers used for audio processing.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.SimulationSettings.OpenCLDevice">
            <summary>
            The OpenCL device being used. Only necessary if @sceneType is @c IPL_SCENETYPE_RADEONRAYS, or @c reflectionType is @c IPL_REFLECTIONEFFECTTYPE_TAN.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.SimulationSettings.RadeonRaysDevice">
            <summary>
            The Radeon Rays device being used. Only necessary if @sceneType is @c IPL_SCENETYPE_RADEONRAYS.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.SimulationSettings.TanDevice">
            <summary>
            The TrueAudio Next device being used. Only necessary if @c reflectionType is @c IPL_REFLECTIONEFFECTTYPE_TAN.
            </summary>
        </member>
        <member name="T:SteamAudio.IPL.SourceSettings">
            <summary>
            Settings used to create a source.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.SourceSettings.Flags">
            <summary>
            The types of simulation that may be run for this source.
            </summary>
        </member>
        <member name="T:SteamAudio.IPL.SimulationInputs">
            <summary>
            Simulation parameters for a source.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.SimulationInputs.Flags">
            <summary>
            The types of simulation to run for this source.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.SimulationInputs.DirectFlags">
            <summary>
            The types of direct simulation to run for this source.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.SimulationInputs.Source">
            <summary>
            The position and orientation of this source.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.SimulationInputs.DistanceAttenuationModel">
            <summary>
            The distance attenuation model to use for this source.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.SimulationInputs.AirAbsorptionModel">
            <summary>
            The air absorption model to use for this source.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.SimulationInputs.Directivity">
            <summary>
            The directivity pattern to use for this source.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.SimulationInputs.OcclusionType">
            <summary>
            The occlusion algorithm to use for this source.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.SimulationInputs.OcclusionRadius">
            <summary>
            If using volumetric occlusion, the source is modeled as a sphere with this radius.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.SimulationInputs.NumOcclusionSamples">
            <summary>
            If using volumetric occlusion, this is the number of point samples to consider when
            tracing rays. This value can change between simulation runs.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.SimulationInputs.ReverbScale">
            <summary>
            If using parametric or hybrid reverb for rendering reflections, the reverb decay times
            for each frequency band are scaled by these values. Set to @c {1.0f, 1.0f, 1.0f} to use
            the simulated values without modification.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.SimulationInputs.HybridReverbTransitionTime">
            <summary>
            If using hybrid reverb for rendering reflections, this is the length (in seconds) of
            impulse response to use for convolution reverb. The rest of the impulse response will
            be used for parametric reverb estimation only. Increasing this value results in more
            accurate reflections, at the cost of increased CPU usage.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.SimulationInputs.HybridReverbOverlapPercent">
            <summary>
            If using hybrid reverb for rendering reflections, this is the amount of overlap between
            the convolution and parametric parts. To ensure smooth transitions from the early
            convolution part to the late parametric part, the two are cross-faded towards the end of
            the convolution part. For example, if @c hybridReverbTransitionTime is @c 1.0f, and
            @c hybridReverbOverlapPercent is @c 0.25f, then the first 0.75 seconds are pure convolution,
            the next 0.25 seconds are a blend between convolution and parametric, and the portion of
            the tail beyond 1.0 second is pure parametric.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.SimulationInputs.Baked">
            <summary>
            If @c IPL_TRUE, this source will used baked data for reflections simulation.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.SimulationInputs.BakedDataIdentifier">
            <summary>
            The identifier used to specify which layer of baked data to use for simulating reflections
            for this source.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.SimulationInputs.PathingProbes">
            <summary>
            The probe batch within which to find paths from this source to the listener.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.SimulationInputs.VisRadius">
            <summary>
            When testing for mutual visibility between a pair of probes, each probe is treated as a sphere of
            this radius (in meters), and point samples are generated within this sphere.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.SimulationInputs.VisThreshold">
            <summary>
            When tracing rays to test for mutual visibility between a pair of probes, the fraction of rays that
            are unoccluded must be greater than this threshold for the pair of probes to be considered
            mutually visible.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.SimulationInputs.VisRange">
            <summary>
            If the distance between two probes is greater than this value, the probes are not considered mutually
            visible. Increasing this value can result in simpler paths, at the cost of increased CPU usage.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.SimulationInputs.PathingOrder">
            <summary>
            If simulating pathing, this is the Ambisonic order used for representing path directionality. Higher
            values result in more precise spatialization of paths, at the cost of increased CPU usage.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.SimulationInputs.EnableValidation">
            <summary>
            If @c IPL_TRUE, baked paths are tested for visibility. This is useful if your scene has dynamic
            objects that might occlude baked paths.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.SimulationInputs.FindAlternatePaths">
            <summary>
            If @c IPL_TRUE, and @c enableValidation is @c IPL_TRUE, then if a baked path is occluded by dynamic
            geometry, path finding is re-run in real-time to find alternate paths that take into account the
            dynamic geometry.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.SimulationInputs.NumTransmissionRays">
            <summary>
            If simulating transmission, this is the maximum number of surfaces, starting from the closest
            surface to the listener, whose transmission coefficients will be considered when calculating
            the total amount of sound transmitted. Increasing this value will result in more accurate
            results when multiple surfaces lie between the source and the listener, at the cost of
            increased CPU usage.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.SimulationInputs.DeviationModel">
            <summary>
            The deviation model to use for this source. Only used when simulating pathing.
            </summary>
        </member>
        <member name="T:SteamAudio.IPL.SimulationSharedInputs">
            <summary>
            Simulation parameters that are not specific to any source.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.SimulationSharedInputs.Listener">
            <summary>
            The position and orientation of the listener.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.SimulationSharedInputs.NumRays">
            <summary>
            The number of rays to trace from the listener. Increasing this value results in more accurate
            reflections, at the cost of increased CPU usage.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.SimulationSharedInputs.NumBounces">
            <summary>
            The number of times each ray traced from the listener is reflected when it encounters a solid
            object. Increasing this value results in longer, more accurate reverb tails, at the cost of
            increased CPU usage during simulation.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.SimulationSharedInputs.Duration">
            <summary>
            The duration (in seconds) of the impulse responses generated when simulating reflections.
            Increasing this value results in longer, more accurate reverb tails, at the cost of increased
            CPU usage during audio processing.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.SimulationSharedInputs.Order">
            <summary>
            The Ambisonic order of the impulse responses generated when simulating reflections. Increasing
            this value results in more accurate directional variation of reflected sound, at the cost
            of increased CPU usage during audio processing.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.SimulationSharedInputs.IrradianceMinDistance">
            <summary>
            When calculating how much sound energy reaches a surface directly from a source, any source that is
            closer than @c irradianceMinDistance to the surface is assumed to be at a distance of
            @c irradianceMinDistance, for the purposes of energy calculations.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.SimulationSharedInputs.PathingVisCallback">
            <summary>
            Callback for visualizing valid path segments during call to @c iplSimulatorRunPathing.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.SimulationSharedInputs.PathingUserData">
            <summary>
            Pointer to arbitrary user-specified data provided when calling the function that will
            call this callback.
            </summary>
        </member>
        <member name="T:SteamAudio.IPL.SimulationOutputs">
            <summary>
            Simulation results for a source.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.SimulationOutputs.Direct">
            <summary>
            Direct path simulation results.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.SimulationOutputs.Reflections">
            <summary>
            Reflection simulation results.
            </summary>
        </member>
        <member name="F:SteamAudio.IPL.SimulationOutputs.Pathing">
            <summary>
            Pathing simulation results.
            </summary>
        </member>
        <member name="M:SteamAudio.IPL.ContextCreate(SteamAudio.IPL.ContextSettings@,SteamAudio.IPL.Context@)">
            <summary>
            Creates a context object. A context must be created before creating any other API objects.
            </summary>
            <param name="settings">Pointer to the `IPLContextSettings` struct that specifies context creation parameters.</param>
            <param name="context">[out] Handle to the created context object.</param>
            <returns>Status code indicating whether or not the operation succeeded.</returns>
        </member>
        <member name="M:SteamAudio.IPL.ContextRetain(SteamAudio.IPL.Context)">
            <summary>
            Retains an additional reference to a context. The context will not be destroyed until all references are
            released.
            </summary>
            <param name="context">The context to retain a reference to.</param>
            <returns>The additional reference to the context.</returns>
        </member>
        <member name="M:SteamAudio.IPL.ContextRelease(SteamAudio.IPL.Context@)">
            <summary>
            Releases a reference to a context. The context will not be destroyed until all references are released.
            </summary>
            <param name="context">[in, out] The context to release.</param>
        </member>
        <member name="M:SteamAudio.IPL.CalculateRelativeDirection(SteamAudio.IPL.Context,SteamAudio.IPL.Vector3,SteamAudio.IPL.Vector3,SteamAudio.IPL.Vector3,SteamAudio.IPL.Vector3)">
            <summary>
            Calculates the relative direction from the listener to a sound source. The returned direction
            vector is expressed in the listener's coordinate system.
            </summary>
            <param name="context">The context used to initialize Steam Audio.</param>
            <param name="sourcePosition">World-space coordinates of the source.</param>
            <param name="listenerPosition">World-space coordinates of the listener.</param>
            <param name="listenerAhead">World-space unit-length vector pointing ahead relative to the listener.</param>
            <param name="listenerUp">World-space unit-length vector pointing up relative to the listener.</param>
            <returns>A unit-length vector in the listener's coordinate space, pointing from the listener to the source.</returns>
        </member>
        <member name="M:SteamAudio.IPL.SerializedObjectCreate(SteamAudio.IPL.Context,SteamAudio.IPL.SerializedObjectSettings@,SteamAudio.IPL.SerializedObject@)">
            <summary>
            Creates a serialized object.
            </summary>
            <param name="context">The context used to initialize Steam Audio.</param>
            <param name="settings">The settings to use when creating the serialized object.</param>
            <param name="serializedObject">[out] The created serialized object.</param>
            <returns>Status code indicating whether or not the operation succeeded.</returns>
        </member>
        <member name="M:SteamAudio.IPL.SerializedObjectRetain(SteamAudio.IPL.SerializedObject)">
            <summary>
            Retains an additional reference to a serialized object.
            </summary>
            <param name="serializedObject">The serialized object to retain a reference to.</param>
            <returns>The additional reference to the serialized object.</returns>
        </member>
        <member name="M:SteamAudio.IPL.SerializedObjectRelease(SteamAudio.IPL.SerializedObject@)">
            <summary>
            Releases a reference to a serialized object.
            </summary>
            <param name="serializedObject">The serialized object to release a reference to.</param>
        </member>
        <member name="M:SteamAudio.IPL.SerializedObjectGetSize(SteamAudio.IPL.SerializedObject)">
            <param name="serializedObject">The serialized object.</param>
            <returns>The size in bytes of the serialized data contained in a serialized object.</returns>
        </member>
        <member name="M:SteamAudio.IPL.SerializedObjectGetData(SteamAudio.IPL.SerializedObject)">
            <param name="serializedObject">The serialized object.</param>
            <returns>A pointer to a byte array of serialized data contained in a serialized object.</returns>
        </member>
        <member name="M:SteamAudio.IPL.EmbreeDeviceCreate(SteamAudio.IPL.Context,SteamAudio.IPL.EmbreeDeviceSettings@,SteamAudio.IPL.EmbreeDevice@)">
            <summary>
            Creates an Embree device.
            </summary>
            <param name="context">The context used to initialize Steam Audio.</param>
            <param name="settings">The settings to use when creating the Embree device.</param>
            <param name="device">[out] The created Embree device.</param>
            <returns>Status code indicating whether or not the operation succeeded.</returns>
        </member>
        <member name="M:SteamAudio.IPL.EmbreeDeviceRetain(SteamAudio.IPL.EmbreeDevice)">
            <summary>
            Retains an additional reference to an Embree device.
            </summary>
            <param name="device">The Embree device to retain a reference to.</param>
            <returns>The additional reference to the Embree device.</returns>
        </member>
        <member name="M:SteamAudio.IPL.EmbreeDeviceRelease(SteamAudio.IPL.EmbreeDevice@)">
            <summary>
            Releases a reference to an Embree device.
            </summary>
            <param name="device">The Embree device to release a reference to.</param>
        </member>
        <member name="M:SteamAudio.IPL.OpenCLDeviceListCreate(SteamAudio.IPL.Context,SteamAudio.IPL.OpenCLDeviceSettings@,SteamAudio.IPL.OpenCLDeviceList@)">
            <summary>
            Creates an OpenCL device list. This involves listing all available OpenCL devices on the user's system.
            </summary>
            <param name="context">The context used to initialize Steam Audio.</param>
            <param name="settings">The requirements that all listed OpenCL devices must satisfy.</param>
            <param name="deviceList">[out] The created OpenCL device list.</param>
            <returns>Status code indicating whether or not the operation succeeded.</returns>
        </member>
        <member name="M:SteamAudio.IPL.OpenCLDeviceListRetain(SteamAudio.IPL.OpenCLDeviceList)">
            <summary>
            Retains an additional reference to an OpenCL device list.
            </summary>
            <param name="deviceList">The OpenCL device list to retain a reference to.</param>
            <returns>The additional reference to the OpenCL device list.</returns>
        </member>
        <member name="M:SteamAudio.IPL.OpenCLDeviceListRelease(SteamAudio.IPL.OpenCLDeviceList@)">
            <summary>
            Releases a reference to an OpenCL device list.
            </summary>
            <param name="deviceList">The OpenCL device list to release a reference to.</param>
        </member>
        <member name="M:SteamAudio.IPL.OpenCLDeviceListGetNumDevices(SteamAudio.IPL.OpenCLDeviceList)">
            <param name="deviceList">The OpenCL device list.</param>
            <returns>The number of devices in an OpenCL device list.</returns>
        </member>
        <member name="M:SteamAudio.IPL.OpenCLDeviceListGetDeviceDesc(SteamAudio.IPL.OpenCLDeviceList,System.Int32,SteamAudio.IPL.OpenCLDeviceDesc@)">
            <summary>
            Retrieves information about a specific device in an OpenCL device list.
            </summary>
            <param name="deviceList">The OpenCL device list.</param>
            <param name="index">The index of the device within the list.</param>
            <param name="deviceDesc">[out] A descriptor for the properties of the specified OpenCL device.</param>
        </member>
        <member name="M:SteamAudio.IPL.OpenCLDeviceCreate(SteamAudio.IPL.Context,SteamAudio.IPL.OpenCLDeviceList,System.Int32,SteamAudio.IPL.OpenCLDevice@)">
            <summary>
            Creates an OpenCL device. The device is specified as an index into an OpenCL device list.
            </summary>
            <param name="context">The context used to initialize Steam Audio.</param>
            <param name="deviceList">The OpenCL device list.</param>
            <param name="index">The index of the device within the list.</param>
            <param name="device">[out] The created OpenCL device.</param>
            <returns>Status code indicating whether or not the operation succeeded.</returns>
        </member>
        <member name="M:SteamAudio.IPL.OpenCLDeviceCreateFromExisting(SteamAudio.IPL.Context,System.IntPtr,System.IntPtr,SteamAudio.IPL.OpenCLDevice@)">
            <summary>
            Creates an OpenCL device from an existing OpenCL device created by your application. Steam Audio will
            use up to two command queues that you provide for enqueuing OpenCL computations.
            </summary>
            <param name="context">The context used to initialize Steam Audio.</param>
            <param name="convolutionQueue">The @c cl_command_queue to use for enqueueing convolution work.</param>
            <param name="irUpdateQueue">The @c cl_command_queue to use for enqueueing IR update work.</param>
            <param name="device">[out] The created OpenCL device.</param>
            <returns>Status code indicating whether or not the operation succeeded.</returns>
        </member>
        <member name="M:SteamAudio.IPL.OpenCLDeviceRetain(SteamAudio.IPL.OpenCLDevice)">
            <summary>
            Retains an additional reference to an OpenCL device.
            </summary>
            <param name="device">The OpenCL device to retain a reference to.</param>
            <returns>The additional reference to the OpenCL device.</returns>
        </member>
        <member name="M:SteamAudio.IPL.OpenCLDeviceRelease(SteamAudio.IPL.OpenCLDevice@)">
            <summary>
            Releases a reference to an OpenCL device.
            </summary>
            <param name="device">The OpenCL device to release a reference to.</param>
        </member>
        <member name="M:SteamAudio.IPL.RadeonRaysDeviceCreate(SteamAudio.IPL.OpenCLDevice,SteamAudio.IPL.RadeonRaysDeviceSettings@,SteamAudio.IPL.RadeonRaysDevice@)">
            <summary>
            Creates a Radeon Rays device.
            </summary>
            <param name="openCLDevice">The OpenCL device to use for running Radeon Rays.</param>
            <param name="settings">The settings to use when creating the Radeon Rays device.</param>
            <param name="rrDevice">[out] The created Radeon Rays device.</param>
            <returns>Status code indicating whether or not the operation succeeded.</returns>
        </member>
        <member name="M:SteamAudio.IPL.RadeonRaysDeviceRetain(SteamAudio.IPL.RadeonRaysDevice)">
            <summary>
            Retains an additional reference to a Radeon Rays device.
            </summary>
            <param name="device">The Radeon Rays device to retain a reference to.</param>
            <returns>The additional reference to the Radeon Rays device.</returns>
        </member>
        <member name="M:SteamAudio.IPL.RadeonRaysDeviceRelease(SteamAudio.IPL.RadeonRaysDevice@)">
            <summary>
            Releases a reference to a Radeon Rays device.
            </summary>
            <param name="device">The Radeon Rays device to release a reference to.</param>
        </member>
        <member name="M:SteamAudio.IPL.TrueAudioNextDeviceCreate(SteamAudio.IPL.OpenCLDevice,SteamAudio.IPL.TrueAudioNextDeviceSettings@,SteamAudio.IPL.TrueAudioNextDevice@)">
            <summary>
            Creates a TrueAudio Next device.
            </summary>
            <param name="openCLDevice">The OpenCL device to use for running TrueAudio Next.</param>
            <param name="settings">The settings to use when creating the TrueAudio Next device.</param>
            <param name="tanDevice">[out] The created TrueAudio Next device.</param>
            <returns>Status code indicating whether or not the operation succeeded.</returns>
        </member>
        <member name="M:SteamAudio.IPL.TrueAudioNextDeviceRetain(SteamAudio.IPL.TrueAudioNextDevice)">
            <summary>
            Retains an additional reference to a TrueAudio Next device.
            </summary>
            <param name="device">The TrueAudio Next device to retain a reference to.</param>
            <returns>The additional reference to the TrueAudio Next device.</returns>
        </member>
        <member name="M:SteamAudio.IPL.TrueAudioNextDeviceRelease(SteamAudio.IPL.TrueAudioNextDevice@)">
            <summary>
            Releases a reference to a TrueAudio Next device.
            </summary>
            <param name="device">The TrueAudio Next device to release a reference to.</param>
        </member>
        <member name="M:SteamAudio.IPL.SceneCreate(SteamAudio.IPL.Context,SteamAudio.IPL.SceneSettings@,SteamAudio.IPL.Scene@)">
            <summary>
            Creates a scene.
            </summary>
            <param name="context">The context used to initialize Steam Audio.</param>
            <param name="settings">The settings to use when creating the scene.</param>
            <param name="scene">[out] The created scene.</param>
            <returns>Status code indicating success or failure.</returns>
            <remarks>
            A scene does not store any geometry information on its own; for that you need to create one or more
            static meshes or instanced meshes and add them to the scene.
            </remarks>
        </member>
        <member name="M:SteamAudio.IPL.SceneRetain(SteamAudio.IPL.Scene)">
            <summary>
            Retains an additional reference to a scene.
            </summary>
            <param name="scene">The scene to retain a reference to.</param>
            <returns>The additional reference to the scene.</returns>
        </member>
        <member name="M:SteamAudio.IPL.SceneRelease(SteamAudio.IPL.Scene@)">
            <summary>
            Releases a reference to a scene.
            </summary>
            <param name="scene">The scene to release a reference to.</param>
        </member>
        <member name="M:SteamAudio.IPL.SceneLoad(SteamAudio.IPL.Context,SteamAudio.IPL.SceneSettings@,SteamAudio.IPL.SerializedObject,SteamAudio.IPL.ProgressCallback,System.IntPtr,SteamAudio.IPL.Scene@)">
            <summary>
            Loads a scene from a serialized object. Typically, the serialized object will be created from a byte array
            loaded from disk or over the network.
            </summary>
            <param name="context">The context used to initialize Steam Audio.</param>
            <param name="settings">The settings to use when creating the scene.</param>
            <param name="serializedObject">The serialized object from which to load the scene.</param>
            <param name="progressCallback">Callback that reports the percentage of this function's work that has been completed. May be @c NULL.</param>
            <param name="progressCallbackUserData">Pointer to arbitrary data that will be passed to the progress callback. May be @c NULL.</param>
            <param name="scene">[out] The created scene.</param>
            <returns>Status code indicating whether or not the operation succeeded.</returns>
        </member>
        <member name="M:SteamAudio.IPL.SceneSave(SteamAudio.IPL.Scene,SteamAudio.IPL.SerializedObject)">
            <summary>
            Saves a scene to a serialized object. Typically, the serialized object will then be saved to disk.
            </summary>
            <param name="scene">The scene to save.</param>
            <param name="serializedObject">The serialized object into which to save the scene.</param>
            <remarks>
            *This function can only be called on a scene created with @c IPL_SCENETYPE_DEFAULT.**
            </remarks>
        </member>
        <member name="M:SteamAudio.IPL.SceneSaveOBJ(SteamAudio.IPL.Scene,System.String)">
            <summary>
            Saves a scene to an OBJ file.
            </summary>
            <param name="scene">The scene to save.</param>
            <param name="fileBaseName">Absolute or relative path to the OBJ file to generate.</param>
            <remarks>
            An OBJ file is a widely-supported 3D model file format, that can be displayed using a variety of software
            on most PC platforms. The OBJ file generated by this function can be useful for detecting problems that
            occur when exporting scene data from your application to Steam Audio.*This function can only be called on a scene created with @c IPL_SCENETYPE_DEFAULT or @c IPL_SCENETYPE_EMBREE.**
            </remarks>
        </member>
        <member name="M:SteamAudio.IPL.SceneCommit(SteamAudio.IPL.Scene)">
            <summary>
            Commits any changes to the scene.
            </summary>
            <param name="scene">The scene to commit changes to.</param>
            <remarks>
            This function should be called after any calls to the following functions, for the changes to take effect:-   @c iplStaticMeshAdd -   @c iplStaticMeshRemove -   @c iplInstancedMeshAdd -   @c iplInstancedMeshRemove -   @c iplInstancedMeshUpdateTransformFor best performance, call this function once after all changes have been made for a given frame.*This function cannot be called concurrently with any simulation functions.**
            </remarks>
        </member>
        <member name="M:SteamAudio.IPL.StaticMeshCreate(SteamAudio.IPL.Scene,SteamAudio.IPL.StaticMeshSettings@,SteamAudio.IPL.StaticMesh@)">
            <summary>
            Creates a static mesh.
            </summary>
            <param name="scene">The scene in which the static mesh should be created.</param>
            <param name="settings">The settings to use when creating the static mesh.</param>
            <param name="staticMesh">[out] The created static mesh.</param>
            <returns>Status code indicating whether or not the operation succeeded.</returns>
            <remarks>
            A static mesh represents a triangle mesh that does not change after it is created. A static mesh also contains
            an array of acoustic material properties, and a mapping between each of its triangles and their acoustic material
            properties.Static mesh objects should be used for scene geometry that is guaranteed to never change, such as rooms,
            buildings, or triangulated terrain. A scene may contain multiple static meshes, although typically one
            is sufficient.
            </remarks>
        </member>
        <member name="M:SteamAudio.IPL.StaticMeshRetain(SteamAudio.IPL.StaticMesh)">
            <summary>
            Retains an additional reference to a static mesh.
            </summary>
            <param name="staticMesh">The static mesh to retain a reference to.</param>
            <returns>The additional reference to the static mesh.</returns>
        </member>
        <member name="M:SteamAudio.IPL.StaticMeshRelease(SteamAudio.IPL.StaticMesh@)">
            <summary>
            Releases a reference to a static mesh.
            </summary>
            <param name="staticMesh">The static mesh to release a reference to.</param>
        </member>
        <member name="M:SteamAudio.IPL.StaticMeshLoad(SteamAudio.IPL.Scene,SteamAudio.IPL.SerializedObject,SteamAudio.IPL.ProgressCallback,System.IntPtr,SteamAudio.IPL.StaticMesh@)">
            <summary>
            Loads a static mesh from a serialized object. Typically, the serialized object will be created from a byte array
            loaded from disk or over the network.
            </summary>
            <param name="scene">The scene in which the static mesh should be created.</param>
            <param name="serializedObject">The serialized object from which to load the scene.</param>
            <param name="progressCallback">Callback that reports the percentage of this function's work that has been completed. May be @c NULL.</param>
            <param name="progressCallbackUserData">Pointer to arbitrary data that will be passed to the progress callback. May be @c NULL.</param>
            <param name="staticMesh">[out] The created static mesh.</param>
            <returns>Status code indicating whether or not the operation succeeded.</returns>
        </member>
        <member name="M:SteamAudio.IPL.StaticMeshSave(SteamAudio.IPL.StaticMesh,SteamAudio.IPL.SerializedObject)">
            <summary>
            Saves a static mesh to a serialized object. Typically, the serialized object will then be saved to disk.
            </summary>
            <param name="staticMesh">The static mesh to save.</param>
            <param name="serializedObject">The serialized object into which to save the static mesh.</param>
            <remarks>
            This function can only be called on a static mesh that is part of a scene created with @c IPL_SCENETYPE_DEFAULT.
            </remarks>
        </member>
        <member name="M:SteamAudio.IPL.StaticMeshAdd(SteamAudio.IPL.StaticMesh,SteamAudio.IPL.Scene)">
            <summary>
            Adds a static mesh to a scene.
            </summary>
            <param name="staticMesh">The static mesh to add.</param>
            <param name="scene">The scene to which to add the static mesh. This must be the scene which was passed when
            calling @c iplStaticMeshCreate.</param>
            <remarks>
            This function should be called after @c iplStaticMeshCreate, or at any point after @c iplStaticMeshRemove, for the static mesh to start affecting sound propagation.After calling this function, @c iplSceneCommit must be called for the changes to take effect.
            </remarks>
        </member>
        <member name="M:SteamAudio.IPL.StaticMeshRemove(SteamAudio.IPL.StaticMesh,SteamAudio.IPL.Scene)">
            <summary>
            Removes a static mesh from a scene.
            </summary>
            <param name="staticMesh">The static mesh to remove.</param>
            <param name="scene">The scene from which to remove the static mesh. This must be the scene which was passed when
            calling @c iplStaticMeshCreate.</param>
            <remarks>
            After this function is called, the static mesh will stop affecting sound propagation, until it is
            added back using @c iplStaticMeshAdd.After calling this function, @c iplSceneCommit must be called for the changes to take effect.
            </remarks>
        </member>
        <member name="M:SteamAudio.IPL.StaticMeshSetMaterial(SteamAudio.IPL.StaticMesh,SteamAudio.IPL.Scene,SteamAudio.IPL.Material@,System.Int32)">
            <summary>
            Loads the material data of specified object in the iplStaticMesh.
            </summary>
            <param name="staticMesh">The static mesh to update.</param>
            <param name="scene">The scene from which to update the static mesh. This must be the scene which was passed when
            calling @c iplStaticMeshCreate.</param>
            <param name="newMaterial">The material data of specified object.</param>
            <param name="index">The index of specified object. It means the object's index in the order it was exported.</param>
        </member>
        <member name="M:SteamAudio.IPL.InstancedMeshCreate(SteamAudio.IPL.Scene,SteamAudio.IPL.InstancedMeshSettings@,SteamAudio.IPL.InstancedMesh@)">
            <summary>
            Creates an instanced mesh.
            </summary>
            <param name="scene">The scene in which the instanced mesh should be created.</param>
            <param name="settings">The settings used to create the instanced mesh.</param>
            <param name="instancedMesh">[out] The created instanced mesh.</param>
            <returns>Status code indicating whether or not the operation succeeded.</returns>
            <remarks>
            An instanced mesh takes one scene and positions it within another scene. This is useful if you have the
            same object, like a pillar, that you want to instantiate multiple times within the same scene. A scene
            can be instantiated multiple times within another scene, without incurring any significant memory overhead.The instanced mesh can be moved, rotated, and scaled freely at any time, providing an easy way to implement
            dynamic objects whose motion can be described purely in terms of rigid-body transformations.
            </remarks>
        </member>
        <member name="M:SteamAudio.IPL.InstancedMeshRetain(SteamAudio.IPL.InstancedMesh)">
            <summary>
            Retains an additional reference to a instanced mesh.
            </summary>
            <param name="instancedMesh">The instanced mesh to retain a reference to.</param>
            <returns>The additional reference to the instanced mesh.</returns>
        </member>
        <member name="M:SteamAudio.IPL.InstancedMeshRelease(SteamAudio.IPL.InstancedMesh@)">
            <summary>
            Releases a reference to a instanced mesh.
            </summary>
            <param name="instancedMesh">The instanced mesh to release a reference to.</param>
        </member>
        <member name="M:SteamAudio.IPL.InstancedMeshAdd(SteamAudio.IPL.InstancedMesh,SteamAudio.IPL.Scene)">
            <summary>
            Adds an instanced mesh to a scene.
            </summary>
            <param name="instancedMesh">The instanced mesh to add.</param>
            <param name="scene">The scene to which to add the instanced mesh. This must be the scene which was passed when
            calling @c iplInstancedMeshCreate.</param>
            <remarks>
            This function should be called after @c iplInstancedMeshCreate, or at any point after @c iplInstancedMeshRemove, for the instanced mesh to start affecting sound propagation.After calling this function, @c iplSceneCommit must be called for the changes to take effect.
            </remarks>
        </member>
        <member name="M:SteamAudio.IPL.InstancedMeshRemove(SteamAudio.IPL.InstancedMesh,SteamAudio.IPL.Scene)">
            <summary>
            Removes an instanced mesh from a scene.
            </summary>
            <param name="instancedMesh">The instanced mesh to remove.</param>
            <param name="scene">The scene from which to remove the instanced mesh. This must be the scene which was passed when
            calling @c iplInstancedMeshCreate.</param>
            <remarks>
            After this function is called, the instanced mesh will stop affecting sound propagation, until it is
            added back using @c iplInstancedMeshAdd.After calling this function, @c iplSceneCommit must be called for the changes to take effect.
            </remarks>
        </member>
        <member name="M:SteamAudio.IPL.InstancedMeshUpdateTransform(SteamAudio.IPL.InstancedMesh,SteamAudio.IPL.Scene,SteamAudio.IPL.Matrix4x4)">
            <summary>
            Updates the local-to-world transform of an instanced mesh within its parent scene.
            </summary>
            <param name="instancedMesh">The instanced mesh whose transform is to be updated.</param>
            <param name="scene">The parent scene that contains the instanced mesh.</param>
            <param name="transform">The new 4x4 local-to-world transform matrix.</param>
            <remarks>
            This function allows the instanced mesh to be moved, rotated, and scaled dynamically.After calling this function, @c iplSceneCommit must be called for the changes to take effect.
            </remarks>
        </member>
        <member name="M:SteamAudio.IPL.AudioBufferAllocate(SteamAudio.IPL.Context,System.Int32,System.Int32,SteamAudio.IPL.AudioBuffer@)">
            <summary>
            Allocates an audio buffer.
            </summary>
            <param name="context">The context used to initialize Steam Audio.</param>
            <param name="numChannels">Number of channels.</param>
            <param name="numSamples">Number of samples per channel.</param>
            <param name="audioBuffer">The audio buffer to allocate.</param>
            <returns>Status code indicating whether or not the operation succeeded.</returns>
            <remarks>
            All audio buffers are uncompressed PCM with 32-bit floating-point samples.Internally, all audio buffers are stored deinterleaved for performance reasons. If your audio engine provides
            interleaved audio buffers, you must use @c iplAudioBufferInterleave and @c iplAudioBufferDeinterleave to explicitly
            convert to/from deinterleaved format. If your audio engine provides deinterleaved audio buffers, you can
            pass them directly using @c IPLAudioBuffer, thus avoiding the processing and memory overhead of an extra audio buffer.
            </remarks>
        </member>
        <member name="M:SteamAudio.IPL.AudioBufferFree(SteamAudio.IPL.Context,SteamAudio.IPL.AudioBuffer@)">
            <summary>
            Frees an audio buffer.
            </summary>
            <param name="audioBuffer">The audio buffer to free.</param>
            <param name="context">The context used to initialize Steam Audio.</param>
        </member>
        <member name="M:SteamAudio.IPL.AudioBufferInterleave(SteamAudio.IPL.Context,SteamAudio.IPL.AudioBuffer@,System.Single@)">
            <summary>
            Reads samples from an audio buffer and interleaves them into a user-provided array.
            </summary>
            <param name="context">The context used to initialize Steam Audio.</param>
            <param name="src">The audio buffer to read from.</param>
            <param name="dst">The interleaved array to write into.</param>
        </member>
        <member name="M:SteamAudio.IPL.AudioBufferDeinterleave(SteamAudio.IPL.Context,System.Single@,SteamAudio.IPL.AudioBuffer@)">
            <summary>
            Writes interleaved samples from a user-provided array into an audio buffer.
            </summary>
            <param name="context">The context used to initialize Steam Audio.</param>
            <param name="src">The interleaved array to read from.</param>
            <param name="dst">The audio buffer to write into.</param>
        </member>
        <member name="M:SteamAudio.IPL.AudioBufferMix(SteamAudio.IPL.Context,SteamAudio.IPL.AudioBuffer@,SteamAudio.IPL.AudioBuffer@)">
            <summary>
            Mixes one audio buffer into another.
            </summary>
            <param name="context">The context used to initialize Steam Audio.</param>
            <param name="in">The source audio buffer.</param>
            <param name="mix">The destination audio buffer, into which the source should be mixed.</param>
            <remarks>
            Both audio buffers must have the same number of channels and samples.
            </remarks>
        </member>
        <member name="M:SteamAudio.IPL.AudioBufferDownmix(SteamAudio.IPL.Context,SteamAudio.IPL.AudioBuffer@,SteamAudio.IPL.AudioBuffer@)">
            <summary>
            Downmixes a multi-channel audio buffer into a mono audio buffer.
            </summary>
            <param name="context">The context used to initialize Steam Audio.</param>
            <param name="in">The source audio buffer.</param>
            <param name="out">The destination audio buffer.</param>
            <remarks>
            Both audio buffers must have the same number of samples.Downmixing is performed by summing up the source channels and dividing the result by the
            number of source channels. If this is not the desired downmixing behavior, we recommend
            that downmixing be performed manually.
            </remarks>
        </member>
        <member name="M:SteamAudio.IPL.AudioBufferConvertAmbisonics(SteamAudio.IPL.Context,SteamAudio.IPL.AmbisonicsType,SteamAudio.IPL.AmbisonicsType,SteamAudio.IPL.AudioBuffer@,SteamAudio.IPL.AudioBuffer@)">
            <summary>
            Converts an Ambisonic audio buffer from one Ambisonic format to another.
            </summary>
            <param name="context">The context used to initialize Steam Audio.</param>
            <param name="inType">Ambisonic format of @c in.</param>
            <param name="outType">Ambisonic format that @c out should be in.</param>
            <param name="in">The source audio buffer.</param>
            <param name="out">The destination audio buffer.</param>
            <remarks>
            Both audio buffers must have the same number of samples.This conversion can be applied in-place, i.e., @c in and @c out can be the same
            audio buffer.Steam Audio's "native" Ambisonic format is N3D, so for best performance, keep all
            Ambisonic data in N3D format except when exchanging data with your audio engine.
            </remarks>
        </member>
        <member name="M:SteamAudio.IPL.HrtfCreate(SteamAudio.IPL.Context,SteamAudio.IPL.AudioSettings@,SteamAudio.IPL.HrtfSettings@,SteamAudio.IPL.Hrtf@)">
            <summary>
            Creates an HRTF.
            </summary>
            <param name="context">The context used to initialize Steam Audio.</param>
            <param name="audioSettings">Global audio processing settings.</param>
            <param name="hrtfSettings">The settings used to create the HRTF object.</param>
            <param name="hrtf">[out] The created HRTF object.</param>
            <returns>Status code indicating whether or not the operation succeeded.</returns>
            <remarks>
            Calling this function is somewhat expensive; avoid creating HRTF objects in your audio thread at all
            if possible.This function is not thread-safe. Do not simultaneously call it from multiple threads.
            </remarks>
        </member>
        <member name="M:SteamAudio.IPL.HrtfRetain(SteamAudio.IPL.Hrtf)">
            <summary>
            Retains an additional reference to an HRTF object.
            </summary>
            <param name="hrtf">The HRTF object to retain a reference to.</param>
            <returns>The additional reference to the HRTF object.</returns>
        </member>
        <member name="M:SteamAudio.IPL.HrtfRelease(SteamAudio.IPL.Hrtf@)">
            <summary>
            Releases a reference to an HRTF object.
            </summary>
            <param name="hrtf">The HRTF object to release a reference to.</param>
        </member>
        <member name="M:SteamAudio.IPL.PanningEffectCreate(SteamAudio.IPL.Context,SteamAudio.IPL.AudioSettings@,SteamAudio.IPL.PanningEffectSettings@,SteamAudio.IPL.PanningEffect@)">
            <summary>
            Creates a panning effect.
            </summary>
            <param name="context">The context used to initialize Steam Audio.</param>
            <param name="audioSettings">Global audio processing settings.</param>
            <param name="effectSettings">The settings to use when creating the panning effect.</param>
            <param name="effect">[out] The created panning effect.</param>
            <returns>Status code indicating whether or not the operation succeeded.</returns>
        </member>
        <member name="M:SteamAudio.IPL.PanningEffectRetain(SteamAudio.IPL.PanningEffect)">
            <summary>
            Retains an additional reference to a panning effect.
            </summary>
            <param name="effect">The panning effect to retain a reference to.</param>
            <returns>The additional reference to the panning effect.</returns>
        </member>
        <member name="M:SteamAudio.IPL.PanningEffectRelease(SteamAudio.IPL.PanningEffect@)">
            <summary>
            Releases a reference to a panning effect.
            </summary>
            <param name="effect">The panning effect to release a reference to.</param>
        </member>
        <member name="M:SteamAudio.IPL.PanningEffectReset(SteamAudio.IPL.PanningEffect)">
            <summary>
            Resets the internal processing state of a panning effect.
            </summary>
            <param name="effect">The panning effect to reset.</param>
        </member>
        <member name="M:SteamAudio.IPL.PanningEffectApply(SteamAudio.IPL.PanningEffect,SteamAudio.IPL.PanningEffectParams@,SteamAudio.IPL.AudioBuffer@,SteamAudio.IPL.AudioBuffer@)">
            <summary>
            Applies a panning effect to an audio buffer.
            </summary>
            <param name="effect">The panning effect to apply.</param>
            <param name="params">Parameters for applying the effect.</param>
            <param name="in">The input audio buffer. Must be 1-channel.</param>
            <param name="out">The output audio buffer. Must have as many channels as needed for the speaker layout
            specified when creating the panning effect. For example, if the speaker layout is
            @c IPL_SPEAKERLAYOUTTYPE_SURROUND_5_1, the output buffer must contain 6 channels.</param>
            <returns>@c IPL_AUDIOEFFECTSTATE_TAILCOMPLETE to indicate that this effect does not generate any tail samples.</returns>
            <remarks>
            This effect CANNOT be applied in-place.
            </remarks>
        </member>
        <member name="M:SteamAudio.IPL.PanningEffectGetTailSize(SteamAudio.IPL.PanningEffect)">
            <summary>
            Returns the number of tail samples remaining in a panning effect's internal buffers.
            </summary>
            <param name="effect">The panning effect.</param>
            <returns>The number of tail samples remaining.</returns>
            <remarks>
            Tail samples are audio samples that should be played even after the input to the effect has stopped
            playing and no further input samples are available.
            </remarks>
        </member>
        <member name="M:SteamAudio.IPL.PanningEffectGetTail(SteamAudio.IPL.PanningEffect,SteamAudio.IPL.AudioBuffer@)">
            <summary>
            Retrieves a single frame of tail samples from a panning effect's internal buffers.
            </summary>
            <param name="effect">The panning effect.</param>
            <param name="out">The output audio buffer. Must have as many channels as needed for the speaker layout
            specified when creating the panning effect. For example, if the speaker layout is
            @c IPL_SPEAKERLAYOUTTYPE_SURROUND_5_1, the output buffer must contain 6 channels.</param>
            <returns>@c IPL_AUDIOEFFECTSTATE_TAILREMAINING if any tail samples remain in the effect's internal buffers, or
            @c IPL_AUDIOEFFECTSTATE_TAILCOMPLETE otherwise.</returns>
            <remarks>
            After the input to the panning effect has stopped, this function must be called instead of
            @c iplPanningEffectApply until the return value indicates that no more tail samples remain.
            </remarks>
        </member>
        <member name="M:SteamAudio.IPL.BinauralEffectCreate(SteamAudio.IPL.Context,SteamAudio.IPL.AudioSettings@,SteamAudio.IPL.BinauralEffectSettings@,SteamAudio.IPL.BinauralEffect@)">
            <summary>
            Creates a binaural effect.
            </summary>
            <param name="context">The context used to initialize Steam Audio.</param>
            <param name="audioSettings">Global audio processing settings.</param>
            <param name="effectSettings">The settings to use when creating the binaural effect.</param>
            <param name="effect">[out] The created binaural effect.</param>
            <returns>Status code indicating whether or not the operation succeeded.</returns>
        </member>
        <member name="M:SteamAudio.IPL.BinauralEffectRetain(SteamAudio.IPL.BinauralEffect)">
            <summary>
            Retains an additional reference to a binaural effect.
            </summary>
            <param name="effect">The binaural effect to retain a reference to.</param>
            <returns>The additional reference to the binaural effect.</returns>
        </member>
        <member name="M:SteamAudio.IPL.BinauralEffectRelease(SteamAudio.IPL.BinauralEffect@)">
            <summary>
            Releases a reference to a binaural effect.
            </summary>
            <param name="effect">The binaural effect to release a reference to.</param>
        </member>
        <member name="M:SteamAudio.IPL.BinauralEffectReset(SteamAudio.IPL.BinauralEffect)">
            <summary>
            Resets the internal processing state of a binaural effect.
            </summary>
            <param name="effect">The binaural effect to reset.</param>
        </member>
        <member name="M:SteamAudio.IPL.BinauralEffectApply(SteamAudio.IPL.BinauralEffect,SteamAudio.IPL.BinauralEffectParams@,SteamAudio.IPL.AudioBuffer@,SteamAudio.IPL.AudioBuffer@)">
            <summary>
            Applies a binaural effect to an audio buffer.
            </summary>
            <param name="effect">The binaural effect to apply.</param>
            <param name="params">Parameters for applying the effect.</param>
            <param name="in">The input audio buffer. Must be 1- or 2-channel.</param>
            <param name="out">The output audio buffer. Must be 2-channel.</param>
            <returns>@c IPL_AUDIOEFFECTSTATE_TAILREMAINING if any tail samples remain in the effect's internal buffers, or
            @c IPL_AUDIOEFFECTSTATE_TAILCOMPLETE otherwise.</returns>
            <remarks>
            This effect CANNOT be applied in-place.
            </remarks>
        </member>
        <member name="M:SteamAudio.IPL.BinauralEffectGetTailSize(SteamAudio.IPL.BinauralEffect)">
            <summary>
            Returns the number of tail samples remaining in a binaural effect's internal buffers.
            </summary>
            <param name="effect">The binaural effect.</param>
            <returns>The number of tail samples remaining.</returns>
            <remarks>
            Tail samples are audio samples that should be played even after the input to the effect has stopped
            playing and no further input samples are available.
            </remarks>
        </member>
        <member name="M:SteamAudio.IPL.BinauralEffectGetTail(SteamAudio.IPL.BinauralEffect,SteamAudio.IPL.AudioBuffer@)">
            <summary>
            Retrieves a single frame of tail samples from a binaural effect's internal buffers.
            </summary>
            <param name="effect">The binaural effect.</param>
            <param name="out">The output audio buffer. Must be 2-channel.</param>
            <returns>@c IPL_AUDIOEFFECTSTATE_TAILREMAINING if any tail samples remain in the effect's internal buffers, or
            @c IPL_AUDIOEFFECTSTATE_TAILCOMPLETE otherwise.</returns>
            <remarks>
            After the input to the binaural effect has stopped, this function must be called instead of
            @c iplBinauralEffectApply until the return value indicates that no more tail samples remain.
            </remarks>
        </member>
        <member name="M:SteamAudio.IPL.VirtualSurroundEffectCreate(SteamAudio.IPL.Context,SteamAudio.IPL.AudioSettings@,SteamAudio.IPL.VirtualSurroundEffectSettings@,SteamAudio.IPL.VirtualSurroundEffect@)">
            <summary>
            Creates a virtual surround effect.
            </summary>
            <param name="context">The context used to initialize Steam Audio.</param>
            <param name="audioSettings">Global audio processing settings.</param>
            <param name="effectSettings">The settings to use when creating the virtual surround effect.</param>
            <param name="effect">[out] The created virtual surround effect.</param>
            <returns>Status code indicating whether or not the operation succeeded.</returns>
        </member>
        <member name="M:SteamAudio.IPL.VirtualSurroundEffectRetain(SteamAudio.IPL.VirtualSurroundEffect)">
            <summary>
            Retains an additional reference to a virtual surround effect.
            </summary>
            <param name="effect">The virtual surround effect to retain a reference to.</param>
            <returns>The additional reference to the virtual surround effect.</returns>
        </member>
        <member name="M:SteamAudio.IPL.VirtualSurroundEffectRelease(SteamAudio.IPL.VirtualSurroundEffect@)">
            <summary>
            Releases a reference to a virtual surround effect.
            </summary>
            <param name="effect">The virtual surround effect to release a reference to.</param>
        </member>
        <member name="M:SteamAudio.IPL.VirtualSurroundEffectReset(SteamAudio.IPL.VirtualSurroundEffect)">
            <summary>
            Resets the internal processing state of a virtual surround effect.
            </summary>
            <param name="effect">The virtual surround effect to reset.</param>
        </member>
        <member name="M:SteamAudio.IPL.VirtualSurroundEffectApply(SteamAudio.IPL.VirtualSurroundEffect,SteamAudio.IPL.VirtualSurroundEffectParams@,SteamAudio.IPL.AudioBuffer@,SteamAudio.IPL.AudioBuffer@)">
            <summary>
            Applies a virtual surround effect to an audio buffer.
            </summary>
            <param name="effect">The virtual surround effect to apply.</param>
            <param name="params">Parameters for applying the effect.</param>
            <param name="in">The input audio buffer. Must have as many channels as needed for the speaker layout
            specified when creating the virtual surround effect.</param>
            <param name="out">The output audio buffer. Must be 2-channel.</param>
            <returns>@c IPL_AUDIOEFFECTSTATE_TAILREMAINING if any tail samples remain in the effect's internal buffers, or
            @c IPL_AUDIOEFFECTSTATE_TAILCOMPLETE otherwise.</returns>
            <remarks>
            This effect CANNOT be applied in-place.
            </remarks>
        </member>
        <member name="M:SteamAudio.IPL.VirtualSurroundEffectGetTailSize(SteamAudio.IPL.VirtualSurroundEffect)">
            <summary>
            Returns the number of tail samples remaining in a virtual surround effect's internal buffers.
            </summary>
            <param name="effect">The virtual surround effect.</param>
            <returns>The number of tail samples remaining.</returns>
            <remarks>
            Tail samples are audio samples that should be played even after the input to the effect has stopped
            playing and no further input samples are available.
            </remarks>
        </member>
        <member name="M:SteamAudio.IPL.VirtualSurroundEffectGetTail(SteamAudio.IPL.VirtualSurroundEffect,SteamAudio.IPL.AudioBuffer@)">
            <summary>
            Retrieves a single frame of tail samples from a virtual surround effect's internal buffers.
            </summary>
            <param name="effect">The virtual surround effect.</param>
            <param name="out">The output audio buffer. Must be 2-channel.</param>
            <returns>@c IPL_AUDIOEFFECTSTATE_TAILREMAINING if any tail samples remain in the effect's internal buffers, or
            @c IPL_AUDIOEFFECTSTATE_TAILCOMPLETE otherwise.</returns>
            <remarks>
            After the input to the virtual surround effect has stopped, this function must be called instead of
            @c iplVirtualSurroundEffectApply until the return value indicates that no more tail samples remain.
            </remarks>
        </member>
        <member name="M:SteamAudio.IPL.AmbisonicsEncodeEffectCreate(SteamAudio.IPL.Context,SteamAudio.IPL.AudioSettings@,SteamAudio.IPL.AmbisonicsEncodeEffectSettings@,SteamAudio.IPL.AmbisonicsEncodeEffect@)">
            <summary>
            Creates an Ambisonics encode effect.
            </summary>
            <param name="context">The context used to initialize Steam Audio.</param>
            <param name="audioSettings">Global audio processing settings.</param>
            <param name="effectSettings">The settings to use when creating the Ambisonics encode effect.</param>
            <param name="effect">[out] The created Ambisonics encode effect.</param>
            <returns>Status code indicating whether or not the operation succeeded.</returns>
        </member>
        <member name="M:SteamAudio.IPL.AmbisonicsEncodeEffectRetain(SteamAudio.IPL.AmbisonicsEncodeEffect)">
            <summary>
            Retains an additional reference to an Ambisonics encode effect.
            </summary>
            <param name="effect">The Ambisonics encode effect to retain a reference to.</param>
            <returns>The additional reference to the Ambisonics encode effect.</returns>
        </member>
        <member name="M:SteamAudio.IPL.AmbisonicsEncodeEffectRelease(SteamAudio.IPL.AmbisonicsEncodeEffect@)">
            <summary>
            Releases a reference to an Ambisonics encode effect.
            </summary>
            <param name="effect">The Ambisonics encode effect to release a reference to.</param>
        </member>
        <member name="M:SteamAudio.IPL.AmbisonicsEncodeEffectReset(SteamAudio.IPL.AmbisonicsEncodeEffect)">
            <summary>
            Resets the internal processing state of an Ambisonics encode effect.
            </summary>
            <param name="effect">The Ambisonics encode effect to reset.</param>
        </member>
        <member name="M:SteamAudio.IPL.AmbisonicsEncodeEffectApply(SteamAudio.IPL.AmbisonicsEncodeEffect,SteamAudio.IPL.AmbisonicsEncodeEffectParams@,SteamAudio.IPL.AudioBuffer@,SteamAudio.IPL.AudioBuffer@)">
            <summary>
            Applies an Ambisonics encode effect to an audio buffer.
            </summary>
            <param name="effect">The Ambisonics encode effect to apply.</param>
            <param name="params">Parameters for applying the effect.</param>
            <param name="in">The input audio buffer. Must be 1-channel.</param>
            <param name="out">The output audio buffer. Must have as many channels as needed for the
            Ambisonics order specified when creating the effect.</param>
            <returns>@c IPL_AUDIOEFFECTSTATE_TAILCOMPLETE to indicate that this effect does not generate any tail samples.</returns>
            <remarks>
            This effect CANNOT be applied in-place.
            </remarks>
        </member>
        <member name="M:SteamAudio.IPL.AmbisonicsEncodeEffectGetTailSize(SteamAudio.IPL.AmbisonicsEncodeEffect)">
            <summary>
            Returns the number of tail samples remaining in an Ambisonics encode effect's internal buffers.
            </summary>
            <param name="effect">The Ambisonics encode effect.</param>
            <returns>The number of tail samples remaining.</returns>
            <remarks>
            Tail samples are audio samples that should be played even after the input to the effect has stopped
            playing and no further input samples are available.
            </remarks>
        </member>
        <member name="M:SteamAudio.IPL.AmbisonicsEncodeEffectGetTail(SteamAudio.IPL.AmbisonicsEncodeEffect,SteamAudio.IPL.AudioBuffer@)">
            <summary>
            Retrieves a single frame of tail samples from an Ambisonics encode effect's internal buffers.
            </summary>
            <param name="effect">The Ambisonics encode effect.</param>
            <param name="out">The output audio buffer. Must have as many channels as needed for the
            Ambisonics order specified when creating the effect.</param>
            <returns>@c IPL_AUDIOEFFECTSTATE_TAILREMAINING if any tail samples remain in the effect's internal buffers, or
            @c IPL_AUDIOEFFECTSTATE_TAILCOMPLETE otherwise.</returns>
            <remarks>
            After the input to the Ambisonics encode effect has stopped, this function must be called instead of
            @c iplAmbisonicsEncodeEffectApply until the return value indicates that no more tail samples remain.
            </remarks>
        </member>
        <member name="M:SteamAudio.IPL.AmbisonicsPanningEffectCreate(SteamAudio.IPL.Context,SteamAudio.IPL.AudioSettings@,SteamAudio.IPL.AmbisonicsPanningEffectSettings@,SteamAudio.IPL.AmbisonicsPanningEffect@)">
            <summary>
            Creates an Ambisonics panning effect.
            </summary>
            <param name="context">The context used to initialize Steam Audio.</param>
            <param name="audioSettings">Global audio processing settings.</param>
            <param name="effectSettings">The settings to use when creating the Ambisonics panning effect.</param>
            <param name="effect">[out] The created Ambisonics panning effect.</param>
            <returns>Status code indicating whether or not the operation succeeded.</returns>
        </member>
        <member name="M:SteamAudio.IPL.AmbisonicsPanningEffectRetain(SteamAudio.IPL.AmbisonicsPanningEffect)">
            <summary>
            Retains an additional reference to an Ambisonics panning effect.
            </summary>
            <param name="effect">The Ambisonics panning effect to retain a reference to.</param>
            <returns>The additional reference to the Ambisonics panning effect.</returns>
        </member>
        <member name="M:SteamAudio.IPL.AmbisonicsPanningEffectRelease(SteamAudio.IPL.AmbisonicsPanningEffect@)">
            <summary>
            Releases a reference to an Ambisonics panning effect.
            </summary>
            <param name="effect">The Ambisonics panning effect to release a reference to.</param>
        </member>
        <member name="M:SteamAudio.IPL.AmbisonicsPanningEffectReset(SteamAudio.IPL.AmbisonicsPanningEffect)">
            <summary>
            Resets the internal processing state of an Ambisonics panning effect.
            </summary>
            <param name="effect">The Ambisonics panning effect to reset.</param>
        </member>
        <member name="M:SteamAudio.IPL.AmbisonicsPanningEffectApply(SteamAudio.IPL.AmbisonicsPanningEffect,SteamAudio.IPL.AmbisonicsPanningEffectParams@,SteamAudio.IPL.AudioBuffer@,SteamAudio.IPL.AudioBuffer@)">
            <summary>
            Applies an Ambisonics panning effect to an audio buffer.
            </summary>
            <param name="effect">The Ambisonics panning effect to apply.</param>
            <param name="params">Parameters for applying the effect.</param>
            <param name="in">The input audio buffer. Must have as many channels as needed for the Ambisonics order
            specified in the parameters.</param>
            <param name="out">The output audio buffer. Must have as many channels as needed for the speaker layout
            specified when creating the effect.</param>
            <returns>@c IPL_AUDIOEFFECTSTATE_TAILCOMPLETE to indicate that this effect does not generate any tail samples.</returns>
            <remarks>
            This effect CANNOT be applied in-place.
            </remarks>
        </member>
        <member name="M:SteamAudio.IPL.AmbisonicsPanningEffectGetTailSize(SteamAudio.IPL.AmbisonicsPanningEffect)">
            <summary>
            Returns the number of tail samples remaining in an Ambisonics panning effect's internal buffers.
            </summary>
            <param name="effect">The Ambisonics panning effect.</param>
            <returns>The number of tail samples remaining.</returns>
            <remarks>
            Tail samples are audio samples that should be played even after the input to the effect has stopped
            playing and no further input samples are available.
            </remarks>
        </member>
        <member name="M:SteamAudio.IPL.AmbisonicsPanningEffectGetTail(SteamAudio.IPL.AmbisonicsPanningEffect,SteamAudio.IPL.AudioBuffer@)">
            <summary>
            Retrieves a single frame of tail samples from a Ambisonics panning effect's internal buffers.
            </summary>
            <param name="effect">The Ambisonics panning effect.</param>
            <param name="out">The output audio buffer. Must have as many channels as needed for the speaker layout
            specified when creating the effect.</param>
            <returns>@c IPL_AUDIOEFFECTSTATE_TAILREMAINING if any tail samples remain in the effect's internal buffers, or
            @c IPL_AUDIOEFFECTSTATE_TAILCOMPLETE otherwise.</returns>
            <remarks>
            After the input to the Ambisonics panning effect has stopped, this function must be called instead of
            @c iplAmbisonicsPanningEffectApply until the return value indicates that no more tail samples remain.
            </remarks>
        </member>
        <member name="M:SteamAudio.IPL.AmbisonicsBinauralEffectCreate(SteamAudio.IPL.Context,SteamAudio.IPL.AudioSettings@,SteamAudio.IPL.AmbisonicsBinauralEffectSettings@,SteamAudio.IPL.AmbisonicsBinauralEffect@)">
            <summary>
            Creates an Ambisonics binaural effect.
            </summary>
            <param name="context">The context used to initialize Steam Audio.</param>
            <param name="audioSettings">Global audio processing settings.</param>
            <param name="effectSettings">The settings to use when creating the Ambisonics binaural effect.</param>
            <param name="effect">[out] The created Ambisonics binaural effect.</param>
            <returns>Status code indicating whether or not the operation succeeded.</returns>
        </member>
        <member name="M:SteamAudio.IPL.AmbisonicsBinauralEffectRetain(SteamAudio.IPL.AmbisonicsBinauralEffect)">
            <summary>
            Retains an additional reference to an Ambisonics binaural effect.
            </summary>
            <param name="effect">The Ambisonics binaural effect to retain a reference to.</param>
            <returns>The additional reference to the Ambisonics binaural effect.</returns>
        </member>
        <member name="M:SteamAudio.IPL.AmbisonicsBinauralEffectRelease(SteamAudio.IPL.AmbisonicsBinauralEffect@)">
            <summary>
            Releases a reference to an Ambisonics binaural effect.
            </summary>
            <param name="effect">The Ambisonics binaural effect to release a reference to.</param>
        </member>
        <member name="M:SteamAudio.IPL.AmbisonicsBinauralEffectReset(SteamAudio.IPL.AmbisonicsBinauralEffect)">
            <summary>
            Resets the internal processing state of an Ambisonics binaural effect.
            </summary>
            <param name="effect">The Ambisonics binaural effect to reset.</param>
        </member>
        <member name="M:SteamAudio.IPL.AmbisonicsBinauralEffectApply(SteamAudio.IPL.AmbisonicsBinauralEffect,SteamAudio.IPL.AmbisonicsBinauralEffectParams@,SteamAudio.IPL.AudioBuffer@,SteamAudio.IPL.AudioBuffer@)">
            <summary>
            Applies an Ambisonics binaural effect to an audio buffer.
            </summary>
            <param name="effect">The Ambisonics binaural effect to apply.</param>
            <param name="params">Parameters for applying the effect.</param>
            <param name="in">The input audio buffer. Must have as many channels as needed for the Ambisonics order
            specified in the parameters.</param>
            <param name="out">The output audio buffer. Must have 2 channels.</param>
            <returns>@c IPL_AUDIOEFFECTSTATE_TAILREMAINING if any tail samples remain in the effect's internal buffers, or
            @c IPL_AUDIOEFFECTSTATE_TAILCOMPLETE otherwise.</returns>
            <remarks>
            This effect CANNOT be applied in-place.
            </remarks>
        </member>
        <member name="M:SteamAudio.IPL.AmbisonicsBinauralEffectGetTailSize(SteamAudio.IPL.AmbisonicsBinauralEffect)">
            <summary>
            Returns the number of tail samples remaining in an Ambisonics binaural effect's internal buffers.
            </summary>
            <param name="effect">The Ambisonics binaural effect.</param>
            <returns>The number of tail samples remaining.</returns>
            <remarks>
            Tail samples are audio samples that should be played even after the input to the effect has stopped
            playing and no further input samples are available.
            </remarks>
        </member>
        <member name="M:SteamAudio.IPL.AmbisonicsBinauralEffectGetTail(SteamAudio.IPL.AmbisonicsBinauralEffect,SteamAudio.IPL.AudioBuffer@)">
            <summary>
            Retrieves a single frame of tail samples from an Ambisonics binaural effect's internal buffers.
            </summary>
            <param name="effect">The Ambisonics binaural effect.</param>
            <param name="out">The output audio buffer. Must have 2 channels.</param>
            <returns>@c IPL_AUDIOEFFECTSTATE_TAILREMAINING if any tail samples remain in the effect's internal buffers, or
            @c IPL_AUDIOEFFECTSTATE_TAILCOMPLETE otherwise.</returns>
            <remarks>
            After the input to the Ambisonics binaural effect has stopped, this function must be called instead of
            @c iplAmbisonicsBinauralEffectApply until the return value indicates that no more tail samples remain.
            </remarks>
        </member>
        <member name="M:SteamAudio.IPL.AmbisonicsRotationEffectCreate(SteamAudio.IPL.Context,SteamAudio.IPL.AudioSettings@,SteamAudio.IPL.AmbisonicsRotationEffectSettings@,SteamAudio.IPL.AmbisonicsRotationEffect@)">
            <summary>
            Creates an Ambisonics rotation effect.
            </summary>
            <param name="context">The context used to initialize Steam Audio.</param>
            <param name="audioSettings">Global audio processing settings.</param>
            <param name="effectSettings">The settings to use when creating the Ambisonics rotation effect.</param>
            <param name="effect">[out] The created Ambisonics rotation effect.</param>
            <returns>Status code indicating whether or not the operation succeeded.</returns>
        </member>
        <member name="M:SteamAudio.IPL.AmbisonicsRotationEffectRetain(SteamAudio.IPL.AmbisonicsRotationEffect)">
            <summary>
            Retains an additional reference to an Ambisonics rotation effect.
            </summary>
            <param name="effect">The Ambisonics rotation effect to retain a reference to.</param>
            <returns>The additional reference to the Ambisonics rotation effect.</returns>
        </member>
        <member name="M:SteamAudio.IPL.AmbisonicsRotationEffectRelease(SteamAudio.IPL.AmbisonicsRotationEffect@)">
            <summary>
            Releases a reference to an Ambisonics rotation effect.
            </summary>
            <param name="effect">The Ambisonics rotation effect to release a reference to.</param>
        </member>
        <member name="M:SteamAudio.IPL.AmbisonicsRotationEffectReset(SteamAudio.IPL.AmbisonicsRotationEffect)">
            <summary>
            Resets the internal processing state of an Ambisonics rotation effect.
            </summary>
            <param name="effect">The Ambisonics rotation effect to reset.</param>
        </member>
        <member name="M:SteamAudio.IPL.AmbisonicsRotationEffectApply(SteamAudio.IPL.AmbisonicsRotationEffect,SteamAudio.IPL.AmbisonicsRotationEffectParams@,SteamAudio.IPL.AudioBuffer@,SteamAudio.IPL.AudioBuffer@)">
            <summary>
            Applies an Ambisonics rotation effect to an audio buffer.
            </summary>
            <param name="effect">The Ambisonics rotation effect to apply.</param>
            <param name="params">Parameters for applying the effect.</param>
            <param name="in">The input audio buffer. Must have as many channels as needed for the Ambisonics order
            specified when creating the effect.</param>
            <param name="out">The output audio buffer. Must have as many channels as needed for the Ambisonics order
            specified when creating the effect.</param>
            <returns>@c IPL_AUDIOEFFECTSTATE_TAILCOMPLETE to indicate that this effect does not generate any tail samples.</returns>
            <remarks>
            This effect CANNOT be applied in-place.
            </remarks>
        </member>
        <member name="M:SteamAudio.IPL.AmbisonicsRotationEffectGetTailSize(SteamAudio.IPL.AmbisonicsRotationEffect)">
            <summary>
            Returns the number of tail samples remaining in an Ambisonics rotation effect's internal buffers.
            </summary>
            <param name="effect">The Ambisonics rotation effect.</param>
            <returns>The number of tail samples remaining.</returns>
            <remarks>
            Tail samples are audio samples that should be played even after the input to the effect has stopped
            playing and no further input samples are available.
            </remarks>
        </member>
        <member name="M:SteamAudio.IPL.AmbisonicsRotationEffectGetTail(SteamAudio.IPL.AmbisonicsRotationEffect,SteamAudio.IPL.AudioBuffer@)">
            <summary>
            Retrieves a single frame of tail samples from an Ambisonics rotation effect's internal buffers.
            </summary>
            <param name="effect">The Ambisonics rotation effect.</param>
            <param name="out">The output audio buffer. Must have as many channels as needed for the Ambisonics order
            specified when creating the effect.</param>
            <returns>@c IPL_AUDIOEFFECTSTATE_TAILREMAINING if any tail samples remain in the effect's internal buffers, or
            @c IPL_AUDIOEFFECTSTATE_TAILCOMPLETE otherwise.</returns>
            <remarks>
            After the input to the Ambisonics rotation effect has stopped, this function must be called instead of
            @c iplAmbisonicsRotationEffectApply until the return value indicates that no more tail samples remain.
            </remarks>
        </member>
        <member name="M:SteamAudio.IPL.AmbisonicsDecodeEffectCreate(SteamAudio.IPL.Context,SteamAudio.IPL.AudioSettings@,SteamAudio.IPL.AmbisonicsDecodeEffectSettings@,SteamAudio.IPL.AmbisonicsDecodeEffect@)">
            <summary>
            Creates an Ambisonics rotation effect.
            </summary>
            <param name="context">The context used to initialize Steam Audio.</param>
            <param name="audioSettings">Global audio processing settings.</param>
            <param name="effectSettings">The settings to use when creating the Ambisonics rotation effect.</param>
            <param name="effect">[out] The created Ambisonics rotation effect.</param>
            <returns>Status code indicating whether or not the operation succeeded.</returns>
        </member>
        <member name="M:SteamAudio.IPL.AmbisonicsDecodeEffectRetain(SteamAudio.IPL.AmbisonicsDecodeEffect)">
            <summary>
            Retains an additional reference to an Ambisonics rotation effect.
            </summary>
            <param name="effect">The Ambisonics rotation effect to retain a reference to.</param>
            <returns>The additional reference to the Ambisonics rotation effect.</returns>
        </member>
        <member name="M:SteamAudio.IPL.AmbisonicsDecodeEffectRelease(SteamAudio.IPL.AmbisonicsDecodeEffect@)">
            <summary>
            Releases a reference to an Ambisonics rotation effect.
            </summary>
            <param name="effect">The Ambisonics rotation effect to release a reference to.</param>
        </member>
        <member name="M:SteamAudio.IPL.AmbisonicsDecodeEffectReset(SteamAudio.IPL.AmbisonicsDecodeEffect)">
            <summary>
            Resets the internal processing state of an Ambisonics decode effect.
            </summary>
            <param name="effect">The Ambisonics decode effect to reset.</param>
        </member>
        <member name="M:SteamAudio.IPL.AmbisonicsDecodeEffectApply(SteamAudio.IPL.AmbisonicsDecodeEffect,SteamAudio.IPL.AmbisonicsDecodeEffectParams@,SteamAudio.IPL.AudioBuffer@,SteamAudio.IPL.AudioBuffer@)">
            <summary>
            Applies an Ambisonics decode effect to an audio buffer.
            </summary>
            <param name="effect">The Ambisonics decode effect to apply.</param>
            <param name="params">Parameters for applying the effect.</param>
            <param name="in">The input audio buffer. Must have as many channels as needed for the Ambisonics order
            specified when creating the effect.</param>
            <param name="out">The output audio buffer. Must have as many channels as needed for the speaker layout
            specified when creating the effect (if using panning) or 2 channels (if using
            binaural rendering).</param>
            <returns>@c IPL_AUDIOEFFECTSTATE_TAILREMAINING if any tail samples remain in the effect's internal buffers, or
            @c IPL_AUDIOEFFECTSTATE_TAILCOMPLETE otherwise.</returns>
            <remarks>
            This effect CANNOT be applied in-place.
            </remarks>
        </member>
        <member name="M:SteamAudio.IPL.AmbisonicsDecodeEffectGetTailSize(SteamAudio.IPL.AmbisonicsDecodeEffect)">
            <summary>
            Returns the number of tail samples remaining in an Ambisonics decode effect's internal buffers.
            </summary>
            <param name="effect">The Ambisonics decode effect.</param>
            <returns>The number of tail samples remaining.</returns>
            <remarks>
            Tail samples are audio samples that should be played even after the input to the effect has stopped
            playing and no further input samples are available.
            </remarks>
        </member>
        <member name="M:SteamAudio.IPL.AmbisonicsDecodeEffectGetTail(SteamAudio.IPL.AmbisonicsDecodeEffect,SteamAudio.IPL.AudioBuffer@)">
            <summary>
            Retrieves a single frame of tail samples from an Ambisonics decode effect's internal buffers.
            </summary>
            <param name="effect">The Ambisonics decode effect.</param>
            <param name="out">The output audio buffer. Must have as many channels as needed for the speaker layout
            specified when creating the effect (if using panning) or 2 channels (if using
            binaural rendering).</param>
            <returns>@c IPL_AUDIOEFFECTSTATE_TAILREMAINING if any tail samples remain in the effect's internal buffers, or
            @c IPL_AUDIOEFFECTSTATE_TAILCOMPLETE otherwise.</returns>
            <remarks>
            After the input to the Ambisonics decode effect has stopped, this function must be called instead of
            @c iplAmbisonicsDecodeEffectApply until the return value indicates that no more tail samples remain.
            </remarks>
        </member>
        <member name="M:SteamAudio.IPL.DirectEffectCreate(SteamAudio.IPL.Context,SteamAudio.IPL.AudioSettings@,SteamAudio.IPL.DirectEffectSettings@,SteamAudio.IPL.DirectEffect@)">
            <summary>
            Creates a direct effect.
            </summary>
            <param name="context">The context used to initialize Steam Audio.</param>
            <param name="audioSettings">Global audio processing settings.</param>
            <param name="effectSettings">The settings to use when creating the direct effect.</param>
            <param name="effect">[out] The created direct effect.</param>
            <returns>Status code indicating whether or not the operation succeeded.</returns>
        </member>
        <member name="M:SteamAudio.IPL.DirectEffectRetain(SteamAudio.IPL.DirectEffect)">
            <summary>
            Retains an additional reference to a direct effect.
            </summary>
            <param name="effect">The direct effect to retain a reference to.</param>
            <returns>The additional reference to the direct effect.</returns>
        </member>
        <member name="M:SteamAudio.IPL.DirectEffectRelease(SteamAudio.IPL.DirectEffect@)">
            <summary>
            Releases a reference to a direct effect.
            </summary>
            <param name="effect">The direct effect to release a reference to.</param>
        </member>
        <member name="M:SteamAudio.IPL.DirectEffectReset(SteamAudio.IPL.DirectEffect)">
            <summary>
            Resets the internal processing state of a direct effect.
            </summary>
            <param name="effect">The direct effect to reset.</param>
        </member>
        <member name="M:SteamAudio.IPL.DirectEffectApply(SteamAudio.IPL.DirectEffect,SteamAudio.IPL.DirectEffectParams@,SteamAudio.IPL.AudioBuffer@,SteamAudio.IPL.AudioBuffer@)">
            <summary>
            Applies a direct effect to an audio buffer.
            </summary>
            <param name="effect">The direct effect to apply.</param>
            <param name="params">Parameters for applying the effect.</param>
            <param name="in">The input audio buffer. Must have as many channels as specified when creating the effect.</param>
            <param name="out">The output audio buffer. Must have as many channels as specified when creating the effect.</param>
            <returns>@c IPL_AUDIOEFFECTSTATE_TAILREMAINING if any tail samples remain in the effect's internal buffers, or
            @c IPL_AUDIOEFFECTSTATE_TAILCOMPLETE otherwise.</returns>
            <remarks>
            This effect CAN be applied in-place.
            </remarks>
        </member>
        <member name="M:SteamAudio.IPL.DirectEffectGetTailSize(SteamAudio.IPL.DirectEffect)">
            <summary>
            Returns the number of tail samples remaining in a direct effect's internal buffers.
            </summary>
            <param name="effect">The direct effect.</param>
            <returns>The number of tail samples remaining.</returns>
            <remarks>
            Tail samples are audio samples that should be played even after the input to the effect has stopped
            playing and no further input samples are available.
            </remarks>
        </member>
        <member name="M:SteamAudio.IPL.DirectEffectGetTail(SteamAudio.IPL.DirectEffect,SteamAudio.IPL.AudioBuffer@)">
            <summary>
            Retrieves a single frame of tail samples from a direct effect's internal buffers.
            </summary>
            <param name="effect">The direct effect.</param>
            <param name="out">The output audio buffer. Must have as many channels as specified when creating the effect.</param>
            <returns>@c IPL_AUDIOEFFECTSTATE_TAILREMAINING if any tail samples remain in the effect's internal buffers, or
            @c IPL_AUDIOEFFECTSTATE_TAILCOMPLETE otherwise.</returns>
            <remarks>
            After the input to the direct effect has stopped, this function must be called instead of
            @c iplDirectEffectApply until the return value indicates that no more tail samples remain.
            </remarks>
        </member>
        <member name="M:SteamAudio.IPL.ReflectionEffectCreate(SteamAudio.IPL.Context,SteamAudio.IPL.AudioSettings@,SteamAudio.IPL.ReflectionEffectSettings@,SteamAudio.IPL.ReflectionEffect@)">
            <summary>
            Creates a reflection effect.
            </summary>
            <param name="context">The context used to initialize Steam Audio.</param>
            <param name="audioSettings">Global audio processing settings.</param>
            <param name="effectSettings">The settings to use when creating the reflection effect.</param>
            <param name="effect">[out] The created reflection effect.</param>
            <returns>Status code indicating whether or not the operation succeeded.</returns>
        </member>
        <member name="M:SteamAudio.IPL.ReflectionEffectRetain(SteamAudio.IPL.ReflectionEffect)">
            <summary>
            Retains an additional reference to a reflection effect.
            </summary>
            <param name="effect">The reflection effect to retain a reference to.</param>
            <returns>The additional reference to the reflection effect.</returns>
        </member>
        <member name="M:SteamAudio.IPL.ReflectionEffectRelease(SteamAudio.IPL.ReflectionEffect@)">
            <summary>
            Releases a reference to a reflection effect.
            </summary>
            <param name="effect">The reflection effect to release a reference to.</param>
        </member>
        <member name="M:SteamAudio.IPL.ReflectionEffectReset(SteamAudio.IPL.ReflectionEffect)">
            <summary>
            Resets the internal processing state of a reflection effect.
            </summary>
            <param name="effect">The reflection effect to reset.</param>
        </member>
        <member name="M:SteamAudio.IPL.ReflectionEffectApply(SteamAudio.IPL.ReflectionEffect,SteamAudio.IPL.ReflectionEffectParams@,SteamAudio.IPL.AudioBuffer@,SteamAudio.IPL.AudioBuffer@,SteamAudio.IPL.ReflectionMixer)">
            <summary>
            Applies a reflection effect to an audio buffer.
            </summary>
            <param name="effect">The reflection effect to apply.</param>
            <param name="params">Parameters for applying the effect.</param>
            <param name="in">The input audio buffer. Must have 1 channel.</param>
            <param name="out">The output audio buffer. Must have as many channels as the impulse response
            specified when creating the effect (for convolution, hybrid, and TAN) or at
            least 1 channel (for parametric).</param>
            <param name="mixer">If this is non-null, then the output of this effect will be mixed into the given
            mixer object instead of being returned in the @c out parameter. The mixed output can
            be retrieved elsewhere in the audio pipeline using @c iplReflectionMixerApply. This
            can have a performance benefit if using convolution. If using TAN, specifying
            a mixer is required.</param>
            <returns>@c IPL_AUDIOEFFECTSTATE_TAILREMAINING if any tail samples remain in the effect's internal buffers, or
            @c IPL_AUDIOEFFECTSTATE_TAILCOMPLETE otherwise.</returns>
            <remarks>
            This effect CANNOT be applied in-place.
            </remarks>
        </member>
        <member name="M:SteamAudio.IPL.ReflectionEffectGetTailSize(SteamAudio.IPL.ReflectionEffect)">
            <summary>
            Returns the number of tail samples remaining in a reflection effect's internal buffers.
            </summary>
            <param name="effect">The reflection effect.</param>
            <returns>The number of tail samples remaining.</returns>
            <remarks>
            Tail samples are audio samples that should be played even after the input to the effect has stopped
            playing and no further input samples are available.
            </remarks>
        </member>
        <member name="M:SteamAudio.IPL.ReflectionEffectGetTail(SteamAudio.IPL.ReflectionEffect,SteamAudio.IPL.AudioBuffer@,SteamAudio.IPL.ReflectionMixer)">
            <summary>
            Retrieves a single frame of tail samples from a reflection effect's internal buffers.
            </summary>
            <param name="effect">The reflection effect.</param>
            <param name="out">The output audio buffer. Must have as many channels as the impulse response
            specified when creating the effect (for convolution, hybrid, and TAN) or at
            least 1 channel (for parametric).</param>
            <param name="mixer">If this is non-null, then the tail samples will be mixed into the given
            mixer object instead of being returned in the @c out parameter. The mixed output can
            be retrieved elsewhere in the audio pipeline using @c iplReflectionMixerApply. This
            can have a performance benefit if using convolution. If using TAN, specifying
            a mixer is required.</param>
            <returns>@c IPL_AUDIOEFFECTSTATE_TAILREMAINING if any tail samples remain in the effect's internal buffers, or
            @c IPL_AUDIOEFFECTSTATE_TAILCOMPLETE otherwise.</returns>
            <remarks>
            After the input to the reflection effect has stopped, this function must be called instead of
            @c iplReflectionEffectApply until the return value indicates that no more tail samples remain.
            </remarks>
        </member>
        <member name="M:SteamAudio.IPL.ReflectionMixerCreate(SteamAudio.IPL.Context,SteamAudio.IPL.AudioSettings@,SteamAudio.IPL.ReflectionEffectSettings@,SteamAudio.IPL.ReflectionMixer@)">
            <summary>
            Creates a reflection effect mixer.
            </summary>
            <param name="context">The context used to initialize Steam Audio.</param>
            <param name="audioSettings">Global audio processing settings.</param>
            <param name="effectSettings">The settings used when creating the reflection effects that will be mixed into
            this reflection mixer.</param>
            <param name="mixer">[out] The created reflection mixer.</param>
            <returns>Status code indicating whether or not the operation succeeded.</returns>
        </member>
        <member name="M:SteamAudio.IPL.ReflectionMixerRetain(SteamAudio.IPL.ReflectionMixer)">
            <summary>
            Retains an additional reference to a reflection mixer.
            </summary>
            <param name="mixer">The reflection mixer to retain a reference to.</param>
            <returns>The additional reference to the reflection mixer.</returns>
        </member>
        <member name="M:SteamAudio.IPL.ReflectionMixerRelease(SteamAudio.IPL.ReflectionMixer@)">
            <summary>
            Releases a reference to a reflection mixer.
            </summary>
            <param name="mixer">The reflection mixer to release a reference to.</param>
        </member>
        <member name="M:SteamAudio.IPL.ReflectionMixerReset(SteamAudio.IPL.ReflectionMixer)">
            <summary>
            Resets the internal processing state of a reflection mixer.
            </summary>
            <param name="mixer">The reflection mixer to reset.</param>
        </member>
        <member name="M:SteamAudio.IPL.ReflectionMixerApply(SteamAudio.IPL.ReflectionMixer,SteamAudio.IPL.ReflectionEffectParams@,SteamAudio.IPL.AudioBuffer@)">
            <summary>
            Retrieves the contents of a reflection mixer and places it into an audio buffer.
            </summary>
            <param name="mixer">The reflection mixer to retrieve audio from.</param>
            <param name="params">Parameters for applying the effect.</param>
            <param name="out">The output audio buffer. Must have as many channels as the impulse response
            specified when creating the mixer.</param>
            <returns>@c IPL_AUDIOEFFECTSTATE_TAILREMAINING if any tail samples remain in the effect's internal buffers, or
            @c IPL_AUDIOEFFECTSTATE_TAILCOMPLETE otherwise.</returns>
        </member>
        <member name="M:SteamAudio.IPL.PathEffectCreate(SteamAudio.IPL.Context,SteamAudio.IPL.AudioSettings@,SteamAudio.IPL.PathEffectSettings@,SteamAudio.IPL.PathEffect@)">
            <summary>
            Creates a path effect.
            </summary>
            <param name="context">The context used to initialize Steam Audio.</param>
            <param name="audioSettings">Global audio processing settings.</param>
            <param name="effectSettings">The settings to use when creating the path effect.</param>
            <param name="effect">[out] The created path effect.</param>
            <returns>Status code indicating whether or not the operation succeeded.</returns>
        </member>
        <member name="M:SteamAudio.IPL.PathEffectRetain(SteamAudio.IPL.PathEffect)">
            <summary>
            Retains an additional reference to a path effect.
            </summary>
            <param name="effect">The path effect to retain a reference to.</param>
            <returns>The additional reference to the path effect.</returns>
        </member>
        <member name="M:SteamAudio.IPL.PathEffectRelease(SteamAudio.IPL.PathEffect@)">
            <summary>
            Releases a reference to a path effect.
            </summary>
            <param name="effect">The path effect to release a reference to.</param>
        </member>
        <member name="M:SteamAudio.IPL.PathEffectReset(SteamAudio.IPL.PathEffect)">
            <summary>
            Resets the internal processing state of a path effect.
            </summary>
            <param name="effect">The path effect to reset.</param>
        </member>
        <member name="M:SteamAudio.IPL.PathEffectApply(SteamAudio.IPL.PathEffect,SteamAudio.IPL.PathEffectParams@,SteamAudio.IPL.AudioBuffer@,SteamAudio.IPL.AudioBuffer@)">
            <summary>
            Applies a path effect to an audio buffer.
            </summary>
            <param name="effect">The path effect to apply.</param>
            <param name="params">Parameters for applying the effect.</param>
            <param name="in">The input audio buffer. Must have 1 channel.</param>
            <param name="out">The output audio buffer. Must have as many channels as needed for the
            Ambisonics order specified when creating the effect.</param>
            <returns>@c IPL_AUDIOEFFECTSTATE_TAILREMAINING if any tail samples remain in the effect's internal buffers, or
            @c IPL_AUDIOEFFECTSTATE_TAILCOMPLETE otherwise.</returns>
            <remarks>
            This effect CANNOT be applied in-place.
            </remarks>
        </member>
        <member name="M:SteamAudio.IPL.PathEffectGetTailSize(SteamAudio.IPL.PathEffect)">
            <summary>
            Returns the number of tail samples remaining in a path effect's internal buffers.
            </summary>
            <param name="effect">The path effect.</param>
            <returns>The number of tail samples remaining.</returns>
            <remarks>
            Tail samples are audio samples that should be played even after the input to the effect has stopped
            playing and no further input samples are available.
            </remarks>
        </member>
        <member name="M:SteamAudio.IPL.PathEffectGetTail(SteamAudio.IPL.PathEffect,SteamAudio.IPL.AudioBuffer@)">
            <summary>
            Retrieves a single frame of tail samples from a path effect's internal buffers.
            </summary>
            <param name="effect">The path effect.</param>
            <param name="out">The output audio buffer. Must have as many channels as needed for the
            Ambisonics order specified when creating the effect.</param>
            <returns>@c IPL_AUDIOEFFECTSTATE_TAILREMAINING if any tail samples remain in the effect's internal buffers, or
            @c IPL_AUDIOEFFECTSTATE_TAILCOMPLETE otherwise.</returns>
            <remarks>
            After the input to the path effect has stopped, this function must be called instead of
            @c iplPathEffectApply until the return value indicates that no more tail samples remain.
            </remarks>
        </member>
        <member name="M:SteamAudio.IPL.EnergyFieldCreate(SteamAudio.IPL.Context,SteamAudio.IPL.EnergyFieldSettings@,SteamAudio.IPL.EnergyField@)">
            <summary>
            Creates an energy field.
            </summary>
            <param name="context">The context used to initialize Steam Audio.</param>
            <param name="settings">The settings to use when creating the energy field.</param>
            <param name="energyField">[out] The created energy field.</param>
            <returns>Status code indicating whether or not the operation succeeded.</returns>
        </member>
        <member name="M:SteamAudio.IPL.EnergyFieldRetain(SteamAudio.IPL.EnergyField)">
            <summary>
            Retains an additional reference to an energy field.
            </summary>
            <param name="energyField">The energy field to retain a reference to.</param>
            <returns>The additional reference to the energy field.</returns>
        </member>
        <member name="M:SteamAudio.IPL.EnergyFieldRelease(SteamAudio.IPL.EnergyField@)">
            <summary>
            Releases a reference to an energy field.
            </summary>
            <param name="energyField">The energy field to release a reference to.</param>
        </member>
        <member name="M:SteamAudio.IPL.EnergyFieldGetNumChannels(SteamAudio.IPL.EnergyField)">
            <summary>
            Returns the number of channels in the energy field.
            </summary>
            <param name="energyField">The energy field.</param>
            <returns>The number of channels in the energy field.</returns>
        </member>
        <member name="M:SteamAudio.IPL.EnergyFieldGetNumBins(SteamAudio.IPL.EnergyField)">
            <summary>
            Returns the number of bins in the energy field.
            </summary>
            <param name="energyField">The energy field.</param>
            <returns>The number of bins in the energy field.</returns>
        </member>
        <member name="M:SteamAudio.IPL.EnergyFieldGetData(SteamAudio.IPL.EnergyField)">
            <summary>
            Returns a pointer to the data stored in the energy field.
            </summary>
            <param name="energyField">The energy field.</param>
            <returns>Pointer to #channels * #bands * #bins IPLfloat32 values stored in the energy field, in row-major order.</returns>
        </member>
        <member name="M:SteamAudio.IPL.EnergyFieldGetChannel(SteamAudio.IPL.EnergyField,System.Int32)">
            <summary>
            Returns a pointer to the data stored in the energy field for the given channel.
            </summary>
            <param name="energyField">The energy field.</param>
            <param name="channelIndex">Index of the channel.</param>
            <returns>Pointer to #bands * #bins IPLfloat32 values stored in the energy field for the given channel, in 
            row-major order.</returns>
        </member>
        <member name="M:SteamAudio.IPL.EnergyFieldGetBand(SteamAudio.IPL.EnergyField,System.Int32,System.Int32)">
            <summary>
            Returns a pointer to the data stored in the energy field for the given channel and band.
            </summary>
            <param name="energyField">The energy field.</param>
            <param name="channelIndex">Index of the channel.</param>
            <param name="bandIndex">Index of the band.</param>
            <returns>Pointer to #bins IPLfloat32 values stored in the energy field for the given channel and band, in row-major 
            order.</returns>
        </member>
        <member name="M:SteamAudio.IPL.EnergyFieldReset(SteamAudio.IPL.EnergyField)">
            <summary>
            Resets all values stored in an energy field to zero.
            </summary>
            <param name="energyField">The energy field.</param>
        </member>
        <member name="M:SteamAudio.IPL.EnergyFieldCopy(SteamAudio.IPL.EnergyField,SteamAudio.IPL.EnergyField)">
            <summary>
            Copies data from one energy field into another.
            </summary>
            <param name="src">The source energy field.</param>
            <param name="dst">The destination energy field.</param>
            <remarks>
            If the source and destination energy fields have different numbers of channels, only the smaller of the two
            numbers of channels will be copied.If the source and destination energy fields have different numbers of bins, only the smaller of the two numbers of
            bins will be copied.
            </remarks>
        </member>
        <member name="M:SteamAudio.IPL.EnergyFieldSwap(SteamAudio.IPL.EnergyField,SteamAudio.IPL.EnergyField)">
            <summary>
            Swaps the data contained in one energy field with the data contained in another energy field.
            </summary>
            <param name="a">The first energy field.</param>
            <param name="b">The second energy field.</param>
            <remarks>
            The two energy fields may contain different numbers of channels or bins.
            </remarks>
        </member>
        <member name="M:SteamAudio.IPL.EnergyFieldAdd(SteamAudio.IPL.EnergyField,SteamAudio.IPL.EnergyField,SteamAudio.IPL.EnergyField)">
            <summary>
            Adds the values stored in two energy fields, and stores the result in a third energy field.
            </summary>
            <param name="in1">The first input energy field.</param>
            <param name="in2">The second input energy field.</param>
            <param name="out">The output energy field.</param>
            <remarks>
            If the energy fields have different numbers of channels, only the smallest of the three numbers of channels will
            be added.If the energy fields have different numbers of bins, only the smallest of the three numbers of bins will
            be added.This function can be used for in-place addition, i.e. @c out may be equal to @c in1 or @c in2.
            </remarks>
        </member>
        <member name="M:SteamAudio.IPL.EnergyFieldScale(SteamAudio.IPL.EnergyField,System.Single,SteamAudio.IPL.EnergyField)">
            <summary>
            Scales the values stored in an energy field by a scalar, and stores the result in a second energy field.
            </summary>
            <param name="in">The input energy field.</param>
            <param name="scalar">The scalar value.</param>
            <param name="out">The output energy field.</param>
            <remarks>
            If the energy fields have different numbers of channels, only the smallest of the two numbers of channels will
            be scaled.If the energy fields have different numbers of bins, only the smallest of the two numbers of bins will
            be scaled.This function can be used for in-place scaling, i.e. @c out may be equal to @c in.
            </remarks>
        </member>
        <member name="M:SteamAudio.IPL.EnergyFieldScaleAccum(SteamAudio.IPL.EnergyField,System.Single,SteamAudio.IPL.EnergyField)">
            <summary>
            Scales the values stored in an energy field by a scalar, and adds the result to a second energy field.
            </summary>
            <param name="in">The input energy field.</param>
            <param name="scalar">The scalar value.</param>
            <param name="out">The output energy field.</param>
            <remarks>
            If the energy fields have different numbers of channels, only the smallest of the two numbers of channels will
            be added.If the energy fields have different numbers of bins, only the smallest of the two numbers of bins will
            be added.This function can be used for in-place operation, i.e. @c out may be equal to @c in.
            </remarks>
        </member>
        <member name="M:SteamAudio.IPL.ImpulseResponseCreate(SteamAudio.IPL.Context,SteamAudio.IPL.ImpulseResponseSettings@,SteamAudio.IPL.ImpulseResponse@)">
            <summary>
            Creates an impulse response.
            </summary>
            <param name="context">The context used to initialize Steam Audio.</param>
            <param name="settings">The settings to use when creating the impulse response.</param>
            <param name="impulseResponse">[out] The created impulse response.</param>
            <returns>Status code indicating whether or not the operation succeeded.</returns>
        </member>
        <member name="M:SteamAudio.IPL.ImpulseResponseRetain(SteamAudio.IPL.ImpulseResponse)">
            <summary>
            Retains an additional reference to an impulse response.
            </summary>
            <param name="impulseResponse">The impulse response to retain a reference to.</param>
            <returns>The additional reference to the impulse response.</returns>
        </member>
        <member name="M:SteamAudio.IPL.ImpulseResponseRelease(SteamAudio.IPL.ImpulseResponse@)">
            <summary>
            Releases a reference to an impulse response.
            </summary>
            <param name="impulseResponse">The impulse response to release a reference to.</param>
        </member>
        <member name="M:SteamAudio.IPL.ImpulseResponseGetNumChannels(SteamAudio.IPL.ImpulseResponse)">
            <summary>
            Returns the number of channels in the impulse response.
            </summary>
            <param name="impulseResponse">The impulse response.</param>
            <returns>The number of channels in the impulse response.</returns>
        </member>
        <member name="M:SteamAudio.IPL.ImpulseResponseGetNumSamples(SteamAudio.IPL.ImpulseResponse)">
            <summary>
            Returns the number of samples in the impulse response.
            </summary>
            <param name="impulseResponse">The impulse response.</param>
            <returns>The number of samples in the impulse response.</returns>
        </member>
        <member name="M:SteamAudio.IPL.ImpulseResponseGetData(SteamAudio.IPL.ImpulseResponse)">
            <summary>
            Returns a pointer to the data stored in the impulse response.
            </summary>
            <param name="impulseResponse">The impulse response.</param>
            <returns>Pointer to #channels * #samples IPLfloat32 values stored in the impulse response, in row-major order.</returns>
        </member>
        <member name="M:SteamAudio.IPL.ImpulseResponseGetChannel(SteamAudio.IPL.ImpulseResponse,System.Int32)">
            <summary>
            Returns a pointer to the data stored in the impulse response for the given channel.
            </summary>
            <param name="impulseResponse">The impulse response.</param>
            <param name="channelIndex">Index of the channel.</param>
            <returns>Pointer to #samples IPLfloat32 values stored in the impulse response for the given channel, in
            row-major order.</returns>
        </member>
        <member name="M:SteamAudio.IPL.ImpulseResponseReset(SteamAudio.IPL.ImpulseResponse)">
            <summary>
            Resets all values stored in an impulse response to zero.
            </summary>
            <param name="impulseResponse">The impulse response.</param>
        </member>
        <member name="M:SteamAudio.IPL.ImpulseResponseCopy(SteamAudio.IPL.ImpulseResponse,SteamAudio.IPL.ImpulseResponse)">
            <summary>
            Copies data from one impulse response into another.
            </summary>
            <param name="src">The source impulse response.</param>
            <param name="dst">The destination impulse response.</param>
            <remarks>
            If the source and destination impulse responses have different numbers of channels, only the smaller of the two
            numbers of channels will be copied.If the source and destination impulse responses have different numbers of samples, only the smaller of the two numbers of
            samples will be copied.
            </remarks>
        </member>
        <member name="M:SteamAudio.IPL.ImpulseResponseSwap(SteamAudio.IPL.ImpulseResponse,SteamAudio.IPL.ImpulseResponse)">
            <summary>
            Swaps the data contained in one impulse response with the data contained in another impulse response.
            </summary>
            <param name="a">The first impulse response.</param>
            <param name="b">The second impulse response.</param>
            <remarks>
            The two impulse responses may contain different numbers of channels or samples.
            </remarks>
        </member>
        <member name="M:SteamAudio.IPL.ImpulseResponseAdd(SteamAudio.IPL.ImpulseResponse,SteamAudio.IPL.ImpulseResponse,SteamAudio.IPL.ImpulseResponse)">
            <summary>
            Adds the values stored in two impulse responses, and stores the result in a third impulse response.
            </summary>
            <param name="in1">The first input impulse response.</param>
            <param name="in2">The second input impulse response.</param>
            <param name="out">The output impulse response.</param>
            <remarks>
            If the impulse responses have different numbers of channels, only the smallest of the three numbers of channels will
            be added.If the impulse responses have different numbers of samples, only the smallest of the three numbers of samples will
            be added.This function can be used for in-place addition, i.e. @c out may be equal to @c in1 or @c in2.
            </remarks>
        </member>
        <member name="M:SteamAudio.IPL.ImpulseResponseScale(SteamAudio.IPL.ImpulseResponse,System.Single,SteamAudio.IPL.ImpulseResponse)">
            <summary>
            Scales the values stored in an impulse response by a scalar, and stores the result in a second impulse response.
            </summary>
            <param name="in">The input impulse response.</param>
            <param name="scalar">The scalar value.</param>
            <param name="out">The output impulse response.</param>
            <remarks>
            If the impulse responses have different numbers of channels, only the smallest of the two numbers of channels will
            be scaled.If the impulse responses have different numbers of samples, only the smallest of the two numbers of samples will
            be scaled.This function can be used for in-place scaling, i.e. @c out may be equal to @c in.
            </remarks>
        </member>
        <member name="M:SteamAudio.IPL.ImpulseResponseScaleAccum(SteamAudio.IPL.ImpulseResponse,System.Single,SteamAudio.IPL.ImpulseResponse)">
            <summary>
            Scales the values stored in an impulse response by a scalar, and adds the result to a second impulse response.
            </summary>
            <param name="in">The input impulse response.</param>
            <param name="scalar">The scalar value.</param>
            <param name="out">The output impulse response.</param>
            <remarks>
            If the impulse responses have different numbers of channels, only the smallest of the two numbers of channels will
            be added.If the impulse responses have different numbers of samples, only the smallest of the two numbers of samples will
            be added.This function can be used for in-place operation, i.e. @c out may be equal to @c in.
            </remarks>
        </member>
        <member name="M:SteamAudio.IPL.ReconstructorCreate(SteamAudio.IPL.Context,SteamAudio.IPL.ReconstructorSettings@,SteamAudio.IPL.Reconstructor@)">
            <summary>
            Creates a reconstructor.
            </summary>
            <param name="context">The context used to initialize Steam Audio.</param>
            <param name="settings">The settings to use when creating the reconstructor.</param>
            <param name="reconstructor">[out] The created reconstructor.</param>
            <returns>Status code indicating whether or not the operation succeeded.</returns>
        </member>
        <member name="M:SteamAudio.IPL.ReconstructorRetain(SteamAudio.IPL.Reconstructor)">
            <summary>
            Retains an additional reference to a reconstructor.
            </summary>
            <param name="reconstructor">The reconstructor to retain a reference to.</param>
            <returns>The additional reference to the reconstructor.</returns>
        </member>
        <member name="M:SteamAudio.IPL.ReconstructorRelease(SteamAudio.IPL.Reconstructor@)">
            <summary>
            Releases a reference to a reconstructor.
            </summary>
            <param name="reconstructor">The reconstructor to release a reference to.</param>
        </member>
        <member name="M:SteamAudio.IPL.ReconstructorReconstruct(SteamAudio.IPL.Reconstructor,System.Int32,SteamAudio.IPL.ReconstructorInputs[],SteamAudio.IPL.ReconstructorSharedInputs@,SteamAudio.IPL.ReconstructorOutputs[])">
            <summary>
            Reconstructs one or more impulse responses as a single batch of work.
            </summary>
            <param name="reconstructor">The reconstructor to use.</param>
            <param name="numInputs">The number of impulse responses to reconstruct.</param>
            <param name="inputs">Pointer to @c numInputs input structures, each describing a single energy field from which
            to reconstruct a corresponding impulse response.</param>
            <param name="sharedInputs">Pointer to a single shared input structure, describing common inputs used across all
            impulse response reconstruction operations in this call.</param>
            <param name="outputs">Pointer to @c numInputs output structures, each describing a single impulse response object
            into which to write the corresponding reconstructed impulse response.</param>
        </member>
        <member name="M:SteamAudio.IPL.ProbeArrayCreate(SteamAudio.IPL.Context,SteamAudio.IPL.ProbeArray@)">
            <summary>
            Creates an empty probe array.
            </summary>
            <param name="context">The context used to initialize Steam Audio.</param>
            <param name="probeArray">[out] The created probe array.</param>
            <returns>Status code indicating whether or not the operation succeeded.</returns>
        </member>
        <member name="M:SteamAudio.IPL.ProbeArrayRetain(SteamAudio.IPL.ProbeArray)">
            <summary>
            Retains an additional reference to a probe array.
            </summary>
            <param name="probeArray">The probe array to retain a reference to.</param>
            <returns>The additional reference to the probe array.</returns>
        </member>
        <member name="M:SteamAudio.IPL.ProbeArrayRelease(SteamAudio.IPL.ProbeArray@)">
            <summary>
            Releases a reference to a probe array.
            </summary>
            <param name="probeArray">The probe array to release a reference to.</param>
        </member>
        <member name="M:SteamAudio.IPL.ProbeArrayGenerateProbes(SteamAudio.IPL.ProbeArray,SteamAudio.IPL.Scene,SteamAudio.IPL.ProbeGenerationParams@)">
            <summary>
            Generates probes and adds them to a probe array.
            </summary>
            <param name="scene">The scene in which to generate probes.</param>
            <param name="params">Parameters to use for generating probes.</param>
            <param name="probeArray">The array into which to add the generated probes.</param>
        </member>
        <member name="M:SteamAudio.IPL.ProbeArrayGetNumProbes(SteamAudio.IPL.ProbeArray)">
            <param name="probeArray">The probe array.</param>
            <returns>The number of probes in a probe array.</returns>
        </member>
        <member name="M:SteamAudio.IPL.ProbeArrayGetProbe(SteamAudio.IPL.ProbeArray,System.Int32)">
            <param name="probeArray">The probe array.</param>
            <param name="index">Index of the probe within the array.</param>
            <returns>The probe at a given index in a probe array.</returns>
        </member>
        <member name="M:SteamAudio.IPL.ProbeBatchCreate(SteamAudio.IPL.Context,SteamAudio.IPL.ProbeBatch@)">
            <summary>
            Creates an empty probe batch.
            </summary>
            <param name="context">The context used to initialize Steam Audio.</param>
            <param name="probeBatch">[out] The created probe batch.</param>
            <returns>Status code indicating whether or not the operation succeeded.</returns>
        </member>
        <member name="M:SteamAudio.IPL.ProbeBatchRetain(SteamAudio.IPL.ProbeBatch)">
            <summary>
            Retains an additional reference to a probe batch.
            </summary>
            <param name="probeBatch">The probe batch to retain a reference to.</param>
            <returns>The additional reference to the probe batch.</returns>
        </member>
        <member name="M:SteamAudio.IPL.ProbeBatchRelease(SteamAudio.IPL.ProbeBatch@)">
            <summary>
            Releases a reference to a probe batch.
            </summary>
            <param name="probeBatch">The probe batch to release a reference to.</param>
        </member>
        <member name="M:SteamAudio.IPL.ProbeBatchLoad(SteamAudio.IPL.Context,SteamAudio.IPL.SerializedObject,SteamAudio.IPL.ProbeBatch@)">
            <summary>
            Loads a probe batch from a serialized object. Typically, the serialized object will be created from a byte array
            loaded from disk or over the network.
            </summary>
            <param name="context">The context used to initialize Steam Audio.</param>
            <param name="serializedObject">The serialized object from which to load the probe batch.</param>
            <param name="probeBatch">[out] The created probe batch.</param>
            <returns>Status code indicating whether or not the operation succeeded.</returns>
        </member>
        <member name="M:SteamAudio.IPL.ProbeBatchSave(SteamAudio.IPL.ProbeBatch,SteamAudio.IPL.SerializedObject)">
            <summary>
            Saves a probe batch to a serialized object. Typically, the serialized object will then be saved to disk.
            </summary>
            <param name="serializedObject">The serialized object into which to save the probe batch.</param>
            <param name="probeBatch">The probe batch to save.</param>
        </member>
        <member name="M:SteamAudio.IPL.ProbeBatchGetNumProbes(SteamAudio.IPL.ProbeBatch)">
            <param name="probeBatch">The probe batch.</param>
            <returns>The number of probes in a probe batch.</returns>
        </member>
        <member name="M:SteamAudio.IPL.ProbeBatchAddProbe(SteamAudio.IPL.ProbeBatch,SteamAudio.IPL.Sphere)">
            <summary>
            Adds a probe to a batch. The new probe will be added as the last probe in the batch.
            </summary>
            <param name="probe">The probe to add.</param>
            <param name="probeBatch">The probe batch.</param>
        </member>
        <member name="M:SteamAudio.IPL.ProbeBatchAddProbeArray(SteamAudio.IPL.ProbeBatch,SteamAudio.IPL.ProbeArray)">
            <summary>
            Adds every probe in an array to a batch. The new probes will be added, in order, at the end of the batch.
            </summary>
            <param name="probeArray">The probe array containing the probes to add.</param>
            <param name="probeBatch">The probe batch.</param>
        </member>
        <member name="M:SteamAudio.IPL.ProbeBatchRemoveProbe(SteamAudio.IPL.ProbeBatch,System.Int32)">
            <summary>
            Removes a probe from a batch.
            </summary>
            <param name="index">Index of the probe to remove.</param>
            <param name="probeBatch">The probe batch.</param>
        </member>
        <member name="M:SteamAudio.IPL.ProbeBatchCommit(SteamAudio.IPL.ProbeBatch)">
            <summary>
            Commits all changes made to a probe batch since this function was last called (or since the probe batch was
            first created, if this function was never called). This function must be called after adding, removing, or
            updating any probes in the batch, for the changes to take effect.
            </summary>
            <param name="probeBatch">The probe batch.</param>
        </member>
        <member name="M:SteamAudio.IPL.ProbeBatchRemoveData(SteamAudio.IPL.ProbeBatch,SteamAudio.IPL.BakedDataIdentifier@)">
            <summary>
            Deletes a specific layer of data from a probe batch.
            </summary>
            <param name="identifier">The identifier of the baked data layer to delete.</param>
            <param name="probeBatch">The probe batch.</param>
        </member>
        <member name="M:SteamAudio.IPL.ProbeBatchGetDataSize(SteamAudio.IPL.ProbeBatch,SteamAudio.IPL.BakedDataIdentifier@)">
            <param name="probeBatch">The probe batch.</param>
            <param name="identifier">The identifier of the baked data layer.</param>
            <returns>The size (in bytes) of a specific baked data layer in a probe batch.</returns>
        </member>
        <member name="M:SteamAudio.IPL.ProbeBatchGetEnergyField(SteamAudio.IPL.ProbeBatch,SteamAudio.IPL.BakedDataIdentifier@,System.Int32,SteamAudio.IPL.EnergyField)">
            <summary>
            Retrieves a single energy field in a specific baked data layer of a specific probe in a probe batch.
            </summary>
            <param name="probeBatch">The probe batch.</param>
            <param name="identifier">The identifier of the baked data layer.</param>
            <param name="probeIndex">The index of the probe.</param>
            <param name="energyField">The energy field into which to copy the baked energy field.</param>
        </member>
        <member name="M:SteamAudio.IPL.ProbeBatchGetReverb(SteamAudio.IPL.ProbeBatch,SteamAudio.IPL.BakedDataIdentifier@,System.Int32,System.Single[])">
            <summary>
            Retrieves a single array of parametric reverb times in a specific baked data layer of a specific probe in a probe batch.
            </summary>
            <param name="probeBatch">The probe batch.</param>
            <param name="identifier">The identifier of the baked data layer.</param>
            <param name="probeIndex">The index of the probe.</param>
            <param name="reverbTimes">Pointer to an array containing at least 3 IPLfloat32 values, into which the baked reverb times
            will be copied.</param>
        </member>
        <member name="M:SteamAudio.IPL.ReflectionsBakerBake(SteamAudio.IPL.Context,SteamAudio.IPL.ReflectionsBakeParams@,SteamAudio.IPL.ProgressCallback,System.IntPtr)">
            <summary>
            Bakes a single layer of reflections data in a probe batch.
            </summary>
            <param name="context">The context used to initialize Steam Audio.</param>
            <param name="params">Parameters to use for baking reflections data.</param>
            <param name="progressCallback">(Optional) This function will be called by Steam Audio to notify your application
            as the bake progresses. Use this to display a progress bar or some other indicator
            that the bake is running.</param>
            <param name="userData">(Optional) Pointer to arbitrary data that will be sent to the progress callback
            when Steam Audio calls it.</param>
            <remarks>
            Only one bake can be in progress at any point in time.
            </remarks>
        </member>
        <member name="M:SteamAudio.IPL.ReflectionsBakerCancelBake(SteamAudio.IPL.Context)">
            <summary>
            Cancels any running bakes of reflections data.
            </summary>
            <param name="context">The context used to initialize Steam Audio.</param>
        </member>
        <member name="M:SteamAudio.IPL.PathBakerBake(SteamAudio.IPL.Context,SteamAudio.IPL.PathBakeParams@,SteamAudio.IPL.ProgressCallback,System.IntPtr)">
            <summary>
            Bakes a single layer of pathing data in a probe batch.
            </summary>
            <param name="context">The context used to initialize Steam Audio.</param>
            <param name="params">Parameters to use for baking pathing data.</param>
            <param name="progressCallback">(Optional) This function will be called by Steam Audio to notify your application
            as the bake progresses. Use this to display a progress bar or some other indicator
            that the bake is running.</param>
            <param name="userData">(Optional) Pointer to arbitrary data that will be sent to the progress callback
            when Steam Audio calls it.</param>
            <remarks>
            Only one bake can be in progress at any point in time.
            </remarks>
        </member>
        <member name="M:SteamAudio.IPL.PathBakerCancelBake(SteamAudio.IPL.Context)">
            <summary>
            Cancels any running bakes of pathing data.
            </summary>
            <param name="context">The context used to initialize Steam Audio.</param>
        </member>
        <member name="M:SteamAudio.IPL.SimulatorCreate(SteamAudio.IPL.Context,SteamAudio.IPL.SimulationSettings@,SteamAudio.IPL.Simulator@)">
            <summary>
            Creates a simulator.
            </summary>
            <param name="context">The context used to initialize Steam Audio.</param>
            <param name="settings">The settings to use when creating the simulator.</param>
            <param name="simulator">[out] The created simulator.</param>
            <returns>Status code indicating whether or not the operation succeeded.</returns>
        </member>
        <member name="M:SteamAudio.IPL.SimulatorRetain(SteamAudio.IPL.Simulator)">
            <summary>
            Retains an additional reference to a simulator.
            </summary>
            <param name="simulator">The simulator to retain a reference to.</param>
            <returns>The additional reference to the simulator.</returns>
        </member>
        <member name="M:SteamAudio.IPL.SimulatorRelease(SteamAudio.IPL.Simulator@)">
            <summary>
            Releases a reference to a simulator.
            </summary>
            <param name="simulator">The simulator to release a reference to.</param>
        </member>
        <member name="M:SteamAudio.IPL.SimulatorSetScene(SteamAudio.IPL.Simulator,SteamAudio.IPL.Scene)">
            <summary>
            Specifies the scene within which all subsequent simulations should be run.
            </summary>
            <param name="simulator">The simulator being used.</param>
            <param name="scene">The scene to use for simulations.</param>
            <remarks>
            Call @c iplSimulatorCommit after calling this function for the changes to take effect.This function cannot be called while any simulation is running.
            </remarks>
        </member>
        <member name="M:SteamAudio.IPL.SimulatorAddProbeBatch(SteamAudio.IPL.Simulator,SteamAudio.IPL.ProbeBatch)">
            <summary>
            Adds a probe batch for use in subsequent simulations. Sources that require baked data can then use the
            data contained in the specified probe batch.
            </summary>
            <param name="probeBatch">The probe batch to add.</param>
            <param name="simulator">The simulator being used.</param>
            <remarks>
            Call @c iplSimulatorCommit after calling this function for the changes to take effect.This function cannot be called while any simulation is running.
            </remarks>
        </member>
        <member name="M:SteamAudio.IPL.SimulatorRemoveProbeBatch(SteamAudio.IPL.Simulator,SteamAudio.IPL.ProbeBatch)">
            <summary>
            Removed a probe batch from use in subsequent simulations. Sources that require baked data will then stop using the
            data contained in the specified probe batch.
            </summary>
            <param name="probeBatch">The probe batch to remove.</param>
            <param name="simulator">The simulator being used.</param>
            <remarks>
            Call @c iplSimulatorCommit after calling this function for the changes to take effect.This function cannot be called while any simulation is running.
            </remarks>
        </member>
        <member name="M:SteamAudio.IPL.SimulatorSetSharedInputs(SteamAudio.IPL.Simulator,SteamAudio.IPL.SimulationFlags,SteamAudio.IPL.SimulationSharedInputs@)">
            <summary>
            Specifies simulation parameters that are not associated with any particular source.
            </summary>
            <param name="simulator">The simulator being used.</param>
            <param name="flags">The types of simulation for which to specify shared inputs. If, for example, direct
            and reflections simulations are being run on separate threads, you can call this
            function on the direct simulation thread with @c IPL_SIMULATIONFLAGS_DIRECT, and on the
            reflections simulation thread with @c IPL_SIMULATIONFLAGS_REFLECTIONS, without requiring
            any synchronization between the calls.</param>
            <param name="sharedInputs">The shared input parameters to set.</param>
        </member>
        <member name="M:SteamAudio.IPL.SimulatorCommit(SteamAudio.IPL.Simulator)">
            <summary>
            Commits changes to the scene or probe batches used for simulation.
            </summary>
            <param name="simulator">The simulator being used.</param>
            <remarks>
            Call this function after calling @c iplSimulatorSetScene, @c iplSimulatorAddProbeBatch, or
            @c iplSimulatorRemoveProbeBatch for the changes to take effect.This function cannot be called while any simulation is running.
            </remarks>
        </member>
        <member name="M:SteamAudio.IPL.SimulatorRunDirect(SteamAudio.IPL.Simulator)">
            <summary>
            Runs a direct simulation for all sources added to the simulator. This may include distance attenuation,
            air absorption, directivity, occlusion, and transmission.
            </summary>
            <param name="simulator">The simulator being used.</param>
            <remarks>
            This function should not be called from the audio processing thread if occlusion and/or transmission
            are enabled.
            </remarks>
        </member>
        <member name="M:SteamAudio.IPL.SimulatorRunReflections(SteamAudio.IPL.Simulator)">
            <summary>
            Runs a reflections simulation for all sources added to the simulator.
            </summary>
            <param name="simulator">The simulator being used.</param>
            <remarks>
            This function can be CPU intensive, and should be called from a separate thread in order to not
            block either the audio processing thread or the game's main update thread.
            </remarks>
        </member>
        <member name="M:SteamAudio.IPL.SimulatorRunPathing(SteamAudio.IPL.Simulator)">
            <summary>
            Runs a pathing simulation for all sources added to the simulator.
            </summary>
            <param name="simulator">The simulator being used.</param>
            <remarks>
            This function can be CPU intensive, and should be called from a separate thread in order to not
            block either the audio processing thread or the game's main update thread.
            </remarks>
        </member>
        <member name="M:SteamAudio.IPL.SourceCreate(SteamAudio.IPL.Simulator,SteamAudio.IPL.SourceSettings@,SteamAudio.IPL.Source@)">
            <summary>
            Creates a simulation source.
            </summary>
            <param name="simulator">The simulator with which this source will be used.</param>
            <param name="settings">The settings to use for creating the source.</param>
            <param name="source">[out] The created source.</param>
            <returns>Status code indicating whether or not the operation succeeded.</returns>
        </member>
        <member name="M:SteamAudio.IPL.SourceRetain(SteamAudio.IPL.Source)">
            <summary>
            Retains an additional reference to a source.
            </summary>
            <param name="source">The source to retain a reference to.</param>
            <returns>The additional reference to the source.</returns>
        </member>
        <member name="M:SteamAudio.IPL.SourceRelease(SteamAudio.IPL.Source@)">
            <summary>
            Releases a reference to a source.
            </summary>
            <param name="source">The source to release a reference to.</param>
        </member>
        <member name="M:SteamAudio.IPL.SourceAdd(SteamAudio.IPL.Source,SteamAudio.IPL.Simulator)">
            <summary>
            Adds a source to the set of sources processed by a simulator in subsequent simulations.
            </summary>
            <param name="simulator">The simulator being used.</param>
            <param name="source">The source to add.</param>
            <remarks>
            Call @c iplSimulatorCommit after calling this function for the changes to take effect.
            </remarks>
        </member>
        <member name="M:SteamAudio.IPL.SourceRemove(SteamAudio.IPL.Source,SteamAudio.IPL.Simulator)">
            <summary>
            Removes a source from the set of sources processed by a simulator in subsequent simulations.
            </summary>
            <param name="simulator">The simulator being used.</param>
            <param name="source">The source to remove.</param>
            <remarks>
            Call @c iplSimulatorCommit after calling this function for the changes to take effect.
            </remarks>
        </member>
        <member name="M:SteamAudio.IPL.SourceSetInputs(SteamAudio.IPL.Source,SteamAudio.IPL.SimulationFlags,SteamAudio.IPL.SimulationInputs@)">
            <summary>
            Specifies simulation parameters for a source.
            </summary>
            <param name="source">The source to specify parameters for.</param>
            <param name="flags">The types of simulation for which to specify inputs. If, for example, direct
            and reflections simulations are being run on separate threads, you can call this
            function on the direct simulation thread with @c IPL_SIMULATIONFLAGS_DIRECT, and on the
            reflections simulation thread with @c IPL_SIMULATIONFLAGS_REFLECTIONS, without requiring
            any synchronization between the calls.</param>
            <param name="inputs">The input parameters to set.</param>
        </member>
        <member name="M:SteamAudio.IPL.SourceGetOutputs(SteamAudio.IPL.Source,SteamAudio.IPL.SimulationFlags,SteamAudio.IPL.SimulationOutputs@)">
            <summary>
            Retrieves simulation results for a source.
            </summary>
            <param name="source">The source to retrieve results for.</param>
            <param name="flags">The types of simulation for which to retrieve results.</param>
            <param name="outputs">[out] The simulation results.</param>
        </member>
        <member name="M:SteamAudio.IPL.DistanceAttenuationCalculate(SteamAudio.IPL.Context,SteamAudio.IPL.Vector3,SteamAudio.IPL.Vector3,SteamAudio.IPL.DistanceAttenuationModel@)">
            <summary>
            Calculates the distance attenuation between a source and a listener.
            </summary>
            <param name="context">The context used to initialize Steam Audio.</param>
            <param name="source">The position of the source.</param>
            <param name="listener">The position of the listener.</param>
            <param name="model">The distance attenuation model to use.</param>
            <returns>The distance attenuation to apply, between @c 0 and @c 1.</returns>
        </member>
        <member name="M:SteamAudio.IPL.AirAbsorptionCalculate(SteamAudio.IPL.Context,SteamAudio.IPL.Vector3,SteamAudio.IPL.Vector3,SteamAudio.IPL.AirAbsorptionModel@,System.Single@)">
            <summary>
            Calculates the air absorption coefficients between a source and a listener.
            </summary>
            <param name="context">The context used to initialize Steam Audio.</param>
            <param name="source">The position of the source.</param>
            <param name="listener">The position of the listener.</param>
            <param name="model">The air absorption model to use.</param>
            <param name="airAbsorption">[out] The 3-band air absorption coefficients, each between @c 0 and @c 1.</param>
        </member>
        <member name="M:SteamAudio.IPL.DirectivityCalculate(SteamAudio.IPL.Context,SteamAudio.IPL.CoordinateSpace3,SteamAudio.IPL.Vector3,SteamAudio.IPL.Directivity@)">
            <summary>
            Calculates the attenuation of a source due to its directivity pattern and orientation relative to a listener.
            </summary>
            <param name="context">The context used to initialize Steam Audio.</param>
            <param name="source">The position and orientation of the source.</param>
            <param name="listener">The position of the listener.</param>
            <param name="model">The directivity pattern to use.</param>
            <returns>The directivity value to apply, between @c 0 and @c 1.</returns>
        </member>
    </members>
</doc>
