73 lines
1.8 KiB
C#
73 lines
1.8 KiB
C#
using System;
|
|
using System.Windows.Forms;
|
|
using BizHawk.Emulation.Cores.Computers.AmstradCPC;
|
|
|
|
namespace BizHawk.Client.EmuHawk
|
|
{
|
|
public partial class AmstradCpcAudioSettings : Form
|
|
{
|
|
private readonly MainForm _mainForm;
|
|
private readonly AmstradCPC.AmstradCPCSettings _settings;
|
|
|
|
public AmstradCpcAudioSettings(
|
|
MainForm mainForm,
|
|
AmstradCPC.AmstradCPCSettings settings)
|
|
{
|
|
_mainForm = mainForm;
|
|
_settings = settings;
|
|
|
|
InitializeComponent();
|
|
}
|
|
|
|
private void IntvControllerSettings_Load(object sender, EventArgs e)
|
|
{
|
|
// AY panning config
|
|
var panTypes = Enum.GetNames(typeof(AY38912.AYPanConfig));
|
|
foreach (var val in panTypes)
|
|
{
|
|
panTypecomboBox1.Items.Add(val);
|
|
}
|
|
panTypecomboBox1.SelectedItem = _settings.AYPanConfig.ToString();
|
|
|
|
// tape volume
|
|
tapeVolumetrackBar.Value = _settings.TapeVolume;
|
|
|
|
// ay volume
|
|
ayVolumetrackBar.Value = _settings.AYVolume;
|
|
}
|
|
|
|
private void OkBtn_Click(object sender, EventArgs e)
|
|
{
|
|
bool changed =
|
|
_settings.AYPanConfig.ToString() != panTypecomboBox1.SelectedItem.ToString()
|
|
|| _settings.TapeVolume != tapeVolumetrackBar.Value
|
|
|| _settings.AYVolume != ayVolumetrackBar.Value;
|
|
|
|
if (changed)
|
|
{
|
|
_settings.AYPanConfig = (AY38912.AYPanConfig)Enum.Parse(typeof(AY38912.AYPanConfig), panTypecomboBox1.SelectedItem.ToString());
|
|
|
|
_settings.TapeVolume = tapeVolumetrackBar.Value;
|
|
_settings.AYVolume = ayVolumetrackBar.Value;
|
|
|
|
_mainForm.PutCoreSettings(_settings);
|
|
|
|
DialogResult = DialogResult.OK;
|
|
Close();
|
|
}
|
|
else
|
|
{
|
|
DialogResult = DialogResult.OK;
|
|
Close();
|
|
}
|
|
}
|
|
|
|
private void CancelBtn_Click(object sender, EventArgs e)
|
|
{
|
|
_mainForm.AddOnScreenMessage("Misc settings aborted");
|
|
DialogResult = DialogResult.Cancel;
|
|
Close();
|
|
}
|
|
}
|
|
}
|