2019-03-10 17:39:14 -04:00
|
|
|
|
using System;
|
|
|
|
|
using System.Collections.Generic;
|
|
|
|
|
using System.Linq;
|
|
|
|
|
using System.Runtime.InteropServices;
|
|
|
|
|
using System.Text;
|
|
|
|
|
using System.Threading.Tasks;
|
|
|
|
|
|
|
|
|
|
namespace Mesen.GUI.Config
|
|
|
|
|
{
|
|
|
|
|
[StructLayout(LayoutKind.Sequential)]
|
|
|
|
|
public class AudioConfig : BaseConfig<AudioConfig>
|
|
|
|
|
{
|
|
|
|
|
[MarshalAs(UnmanagedType.LPStr)] public string AudioDevice = "";
|
|
|
|
|
[MarshalAs(UnmanagedType.I1)] public bool EnableAudio = true;
|
|
|
|
|
[MarshalAs(UnmanagedType.I1)] public bool DisableDynamicSampleRate = false;
|
|
|
|
|
|
2019-05-20 14:41:24 -04:00
|
|
|
|
[MinMax(0, 100)] public UInt32 MasterVolume = 100;
|
2019-03-31 09:50:11 -04:00
|
|
|
|
[ValidValues(11025, 22050, 32000, 44100, 48000, 96000)] public UInt32 SampleRate = 48000;
|
2019-03-10 17:39:14 -04:00
|
|
|
|
[MinMax(15, 300)] public UInt32 AudioLatency = 60;
|
|
|
|
|
|
2020-07-02 10:34:41 -04:00
|
|
|
|
[MarshalAs(UnmanagedType.I1)] public bool EnableCubicInterpolation = false;
|
2020-04-28 17:56:57 -04:00
|
|
|
|
|
2019-03-10 17:39:14 -04:00
|
|
|
|
[MarshalAs(UnmanagedType.I1)] public bool MuteSoundInBackground = false;
|
|
|
|
|
[MarshalAs(UnmanagedType.I1)] public bool ReduceSoundInBackground = true;
|
|
|
|
|
[MarshalAs(UnmanagedType.I1)] public bool ReduceSoundInFastForward = false;
|
|
|
|
|
[MinMax(0, 100)] public int VolumeReduction = 75;
|
|
|
|
|
|
|
|
|
|
[MarshalAs(UnmanagedType.I1)] public bool EnableEqualizer = false;
|
|
|
|
|
[MinMax(-20.0, 20.0)] public double Band1Gain = 0;
|
|
|
|
|
[MinMax(-20.0, 20.0)] public double Band2Gain = 0;
|
|
|
|
|
[MinMax(-20.0, 20.0)] public double Band3Gain = 0;
|
|
|
|
|
[MinMax(-20.0, 20.0)] public double Band4Gain = 0;
|
|
|
|
|
[MinMax(-20.0, 20.0)] public double Band5Gain = 0;
|
|
|
|
|
[MinMax(-20.0, 20.0)] public double Band6Gain = 0;
|
|
|
|
|
[MinMax(-20.0, 20.0)] public double Band7Gain = 0;
|
|
|
|
|
[MinMax(-20.0, 20.0)] public double Band8Gain = 0;
|
|
|
|
|
[MinMax(-20.0, 20.0)] public double Band9Gain = 0;
|
|
|
|
|
[MinMax(-20.0, 20.0)] public double Band10Gain = 0;
|
|
|
|
|
[MinMax(-20.0, 20.0)] public double Band11Gain = 0;
|
|
|
|
|
[MinMax(-20.0, 20.0)] public double Band12Gain = 0;
|
|
|
|
|
[MinMax(-20.0, 20.0)] public double Band13Gain = 0;
|
|
|
|
|
[MinMax(-20.0, 20.0)] public double Band14Gain = 0;
|
|
|
|
|
[MinMax(-20.0, 20.0)] public double Band15Gain = 0;
|
|
|
|
|
[MinMax(-20.0, 20.0)] public double Band16Gain = 0;
|
|
|
|
|
[MinMax(-20.0, 20.0)] public double Band17Gain = 0;
|
|
|
|
|
[MinMax(-20.0, 20.0)] public double Band18Gain = 0;
|
|
|
|
|
[MinMax(-20.0, 20.0)] public double Band19Gain = 0;
|
|
|
|
|
[MinMax(-20.0, 20.0)] public double Band20Gain = 0;
|
|
|
|
|
|
|
|
|
|
public void ApplyConfig()
|
|
|
|
|
{
|
|
|
|
|
ConfigApi.SetAudioConfig(this);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|