aboutsummaryrefslogtreecommitdiff
path: root/src/Ryujinx.Audio/Renderer/Parameter/ISplitterDestinationInParameter.cs
blob: 7ee49f11a635f37a64184af3698a9b3e4b75997f (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
using Ryujinx.Common.Memory;
using System;

namespace Ryujinx.Audio.Renderer.Parameter
{
    /// <summary>
    /// Generic interface for the splitter destination parameters.
    /// </summary>
    public interface ISplitterDestinationInParameter
    {
        /// <summary>
        /// Target splitter destination data id.
        /// </summary>
        int Id { get; }

        /// <summary>
        /// The mix to output the result of the splitter.
        /// </summary>
        int DestinationId { get; }

        /// <summary>
        /// Biquad filter parameters.
        /// </summary>
        Array2<BiquadFilterParameter> BiquadFilters { get; }

        /// <summary>
        /// Set to true if in use.
        /// </summary>
        bool IsUsed { get; }

        /// <summary>
        /// Set to true to force resetting the previous mix volumes.
        /// </summary>
        bool ResetPrevVolume { get; }

        /// <summary>
        /// Mix buffer volumes.
        /// </summary>
        /// <remarks>Used when a splitter id is specified in the mix.</remarks>
        Span<float> MixBufferVolume { get; }

        /// <summary>
        /// Check if the magic is valid.
        /// </summary>
        /// <returns>Returns true if the magic is valid.</returns>
        bool IsMagicValid();
    }
}