BizHawk/BizHawk.Client.EmuHawk/config/NES/NESSoundConfig.cs

108 lines
2.5 KiB
C#

using System;
using System.Windows.Forms;
using BizHawk.Emulation.Cores.Nintendo.NES;
using BizHawk.Emulation.Common;
namespace BizHawk.Client.EmuHawk
{
public partial class NESSoundConfig : Form, IToolForm
{
[RequiredService]
private NES NES { get; set; }
private NES.NESSettings _oldSettings;
private NES.NESSettings _settings;
public bool AskSaveChanges() { return true; }
public bool UpdateBefore => false;
public void UpdateValues()
{
}
public void NewUpdate(ToolFormUpdateType type) { }
public void FastUpdate()
{
}
public void Restart()
{
NESSoundConfig_Load(null, null);
}
public NESSoundConfig()
{
InitializeComponent();
// get baseline maxes from a default config object
var d = new NES.NESSettings();
trackBar1.Maximum = d.Square1;
trackBar2.Maximum = d.Square2;
trackBar3.Maximum = d.Triangle;
trackBar4.Maximum = d.Noise;
trackBar5.Maximum = d.DMC;
}
private void NESSoundConfig_Load(object sender, EventArgs e)
{
_oldSettings = NES.GetSettings();
_settings = _oldSettings.Clone();
trackBar1.Value = _settings.Square1;
trackBar2.Value = _settings.Square2;
trackBar3.Value = _settings.Triangle;
trackBar4.Value = _settings.Noise;
trackBar5.Value = _settings.DMC;
}
private void Ok_Click(object sender, EventArgs e)
{
Close();
}
private void Cancel_Click(object sender, EventArgs e)
{
// restore previous value
NES.PutSettings(_oldSettings);
Close();
}
private void TrackBar1_ValueChanged(object sender, EventArgs e)
{
label6.Text = trackBar1.Value.ToString();
_settings.Square1 = trackBar1.Value;
NES.PutSettings(_settings);
}
private void TrackBar2_ValueChanged(object sender, EventArgs e)
{
label7.Text = trackBar2.Value.ToString();
_settings.Square2 = trackBar2.Value;
NES.PutSettings(_settings);
}
private void TrackBar3_ValueChanged(object sender, EventArgs e)
{
label8.Text = trackBar3.Value.ToString();
_settings.Triangle = trackBar3.Value;
NES.PutSettings(_settings);
}
private void TrackBar4_ValueChanged(object sender, EventArgs e)
{
label9.Text = trackBar4.Value.ToString();
_settings.Noise = trackBar4.Value;
NES.PutSettings(_settings);
}
private void TrackBar5_ValueChanged(object sender, EventArgs e)
{
label10.Text = trackBar5.Value.ToString();
_settings.DMC = trackBar5.Value;
NES.PutSettings(_settings);
}
}
}