* Update audio renderer to REV13: Add support for compressor statistics and volume reset * XML docs * Disable stats reset * Wrong comment * Fix more XML docs * PR feedback
38 lines
1.1 KiB
C#
38 lines
1.1 KiB
C#
using Ryujinx.Common.Memory;
|
|
using System.Runtime.InteropServices;
|
|
|
|
namespace Ryujinx.Audio.Renderer.Parameter.Effect
|
|
{
|
|
/// <summary>
|
|
/// Effect result state for <seealso cref="Common.EffectType.Compressor"/>.
|
|
/// </summary>
|
|
[StructLayout(LayoutKind.Sequential, Pack = 1)]
|
|
public struct CompressorStatistics
|
|
{
|
|
/// <summary>
|
|
/// Maximum input mean value since last reset.
|
|
/// </summary>
|
|
public float MaximumMean;
|
|
|
|
/// <summary>
|
|
/// Minimum output gain since last reset.
|
|
/// </summary>
|
|
public float MinimumGain;
|
|
|
|
/// <summary>
|
|
/// Last processed input sample, per channel.
|
|
/// </summary>
|
|
public Array6<float> LastSamples;
|
|
|
|
/// <summary>
|
|
/// Reset the statistics.
|
|
/// </summary>
|
|
/// <param name="channelCount">Number of channels to reset.</param>
|
|
public void Reset(ushort channelCount)
|
|
{
|
|
MaximumMean = 0.0f;
|
|
MinimumGain = 1.0f;
|
|
LastSamples.AsSpan()[..channelCount].Clear();
|
|
}
|
|
}
|
|
}
|