private void toolStripButtonOpen_Click(object sender, EventArgs e) { OpenFileDialog ofd = new OpenFileDialog(); ofd.CheckFileExists = true; ofd.CheckPathExists = true; ofd.DefaultExt = "xml"; if (ofd.ShowDialog(this) == DialogResult.OK) _currentFilename = ofd.FileName; SN76477 sn = this.LoadFile(_currentFilename); if (sn != null) { _sn = sn; DisplayConfiguration(_sn); DisplayApplicationTitle(); } }
private void DisplayConfiguration(SN76477 sn) { SetResistanceToCombobox(sn.SLFRES, cbSLFRES); trackBarSLFRES.Minimum = 0; trackBarSLFRES.Maximum = (int)sn.SLFRESVARMAX; trackBarSLFRES.Value = (int)sn.SLFRESVAR; SetCapacitanceToCombobox(sn.SLFCAP, cbSLFCAP); DisplaySLFData(sn); SetResistanceToCombobox(sn.VCORES, cbVCORES); trackBarVCORES.Minimum = 0; trackBarVCORES.Maximum = (int)sn.VCORESVARMAX; trackBarVCORES.Value = (int)sn.VCORESVAR; SetCapacitanceToCombobox(sn.VCOCAP, cbVCOCAP); SetVoltageToTrackBar(sn.VCOEXTVOLTAGE, trackBarVCOEXT); SetVoltageToTrackBar(sn.VCOPITCHVOLTAGE, trackBarVCOPITCH); if (sn.VCOSELECT == 0) checkBoxVCOEXT.Checked = true; else checkBoxVCOEXT.Checked = false; DisplayVCOData(sn); SetResistanceToCombobox(sn.NOISECLOCKRES, cbNOISEGENRES); trackBarNOISEGENRES.Minimum = 0; trackBarNOISEGENRES.Maximum = (int)sn.NOISECLOCKRESVARMAX; trackBarNOISEGENRES.Value = (int)sn.NOISECLOCKRESVAR; SetResistanceToCombobox(sn.NOISEFILTERRES, cbNOISEFILTERRES); trackBarNOISEFILTERRES.Minimum = 0; trackBarNOISEFILTERRES.Maximum = (int)sn.NOISEFILTERRESVARMAX; trackBarNOISEFILTERRES.Value = (int)sn.NOISEFILTERRESVAR; SetCapacitanceToCombobox(sn.NOISEFILTERCAP, cbNOISEFILTERCAP); DisplayNoiseData(sn); SetResistanceToCombobox(sn.ONESHOTRES, cbONESHOTRES); trackBarONESHOTRES.Minimum = 0; trackBarONESHOTRES.Maximum = (int)sn.ONESHOTRESVARMAX; trackBarONESHOTRES.Value = (int)sn.ONESHOTRESVAR; SetCapacitanceToCombobox(sn.ONESHOTCAP, cbONESHOTCAP); DisplayOneShotData(sn); SetCapacitanceToCombobox(sn.ENVCAP, cbENVCAP); SetResistanceToCombobox(sn.ENVATKRES, cbENVATKRES); trackBarENVATKRES.Minimum = 0; trackBarENVATKRES.Maximum = (int)sn.ENVATKRESVARMAX; trackBarENVATKRES.Value = (int)sn.ENVATKRESVAR; SetResistanceToCombobox(sn.ENVDECRES, cbENVDECRES); trackBarENVDECRES.Minimum = 0; trackBarENVDECRES.Maximum = (int)sn.ENVDECRESVARMAX; trackBarENVDECRES.Value = (int)sn.ENVDECRESVAR; DisplayEnvelopeData(sn); SetResistanceToCombobox(sn.FEEDBACKRES, cbFEEDBACKRES); SetResistanceToCombobox(sn.AMPLITUDERES, cbAMPLITUDERES); checkBoxMIXVCO.Checked = false; checkBoxMIXSLF.Checked = false; checkBoxMIXNOISE.Checked = false; if (sn.MixerMode == MixerMode.VCO) { checkBoxMIXVCO.Checked = true; } else if (sn.MixerMode == MixerMode.SLF) { checkBoxMIXSLF.Checked = true; } else if (sn.MixerMode == MixerMode.NOISE) { checkBoxMIXNOISE.Checked = true; } else if (sn.MixerMode == MixerMode.VCO_NOISE) { checkBoxMIXVCO.Checked = true; checkBoxMIXNOISE.Checked = true; } else if (sn.MixerMode == MixerMode.SLF_NOISE) { checkBoxMIXSLF.Checked = true; checkBoxMIXNOISE.Checked = true; } else if (sn.MixerMode == MixerMode.SLF_VCO_NOISE) { checkBoxMIXVCO.Checked = true; checkBoxMIXSLF.Checked = true; checkBoxMIXNOISE.Checked = true; } else if (sn.MixerMode == MixerMode.SLF_VCO) { checkBoxMIXVCO.Checked = true; checkBoxMIXSLF.Checked = true; } rbENVVCO.Checked = false; rbENVMIXER.Checked = false; rbENVONESHOT.Checked = false; rbENVVCOALT.Checked = false; if (sn.EnvelopeMode == EnvelopeMode.VCO) rbENVVCO.Checked = true; else if (sn.EnvelopeMode == EnvelopeMode.VCO_ALTERNATING) rbENVVCOALT.Checked = true; else if (sn.EnvelopeMode == EnvelopeMode.MIXER) rbENVMIXER.Checked = true; else if (sn.EnvelopeMode == EnvelopeMode.ONESHOT) rbENVONESHOT.Checked = true; }
private void toolStripButtonNew_Click(object sender, EventArgs e) { _sn = new SN76477(); _currentFilename = "<new>"; DisplayConfiguration(_sn); }
private void DisplayOutputData(SN76477 sn) { labelOutputVoltageMinMax.Text = String.Format("{0}V - {1}V (clip {2}V)", Math.Round(sn.OUTVOLTAGEMIN,2), Math.Round(sn.OUTVOLTAGEMAX,2),3.51); }
private void DisplayVCOData(SN76477 sn) { if (_sn.VCO_FrequencyMin < 1) labelVCOFrequency.Text = (Math.Round(1 / _sn.VCO_FrequencyMin, 2)).ToString() + " sec"; else labelVCOFrequency.Text = (Math.Round(_sn.VCO_FrequencyMin,2)).ToString() + " Hz"; labelVCORESTOTAL.Text = (Math.Round((sn.VCORES + sn.VCORESVAR) / 1000, 0)).ToString() + " kΩ"; labelVCOEXTVoltage.Text = (Math.Round(sn.VCOEXTVOLTAGE,2)).ToString() + " V"; labelVCOEXTFrequency.Text = (Math.Round(sn.VCO_ExternalVoltage_Frequency, 2)).ToString() + " Hz"; labelVCOPitchVoltage.Text = (Math.Round(sn.VCOPITCHVOLTAGE,2)).ToString() + " V"; labelVCOPitchDutyCycle.Text = (Math.Round(sn.VCO_DutyCycle, 2)).ToString() + " %"; }
private void DisplayNoiseData(SN76477 sn) { labelNoiseFrequency.Text = (Math.Round(sn.NoiseGenerator_Frequency, 2)).ToString() + " Hz"; labelNoiseFilterFrequency.Text = (Math.Round(sn.NoiseFilter_Frequency, 2)).ToString() + " Hz"; labelNOISEGENRESTOTAL.Text = (Math.Round((sn.NOISECLOCKRES + sn.NOISECLOCKRESVAR) / 1000, 0)).ToString() + " kΩ"; labelNOISEFILTERRESTOTAL.Text = (Math.Round((sn.NOISEFILTERRES + sn.NOISEFILTERRESVAR) / 1000, 0)).ToString() + " kΩ"; }
private void DisplayEnvelopeData(SN76477 sn) { labelAttackLength.Text = (Math.Round(sn.Attack_Time, 2)).ToString() + " sec"; labelDecayLength.Text = (Math.Round(sn.Decay_Time, 2)).ToString() + " sec"; labelATKRESTOTAL.Text = (Math.Round((sn.ENVATKRES + sn.ENVATKRESVAR) / 1000, 0)).ToString() + " kΩ"; labelDECRESTOTAL.Text = (Math.Round((sn.ENVDECRES + sn.ENVDECRESVAR) / 1000, 0)).ToString() + " kΩ"; }
private void DisplaySLFData(SN76477 sn) { labelSLFFrequency.Text = (Math.Round(sn.SLF_Frequency,2)).ToString() + " Hz"; labelSLFRESTOTAL.Text = (Math.Round((sn.SLFRES+sn.SLFRESVAR)/1000,0)).ToString() + " kΩ"; }
private void DisplayOneShotData(SN76477 sn) { labelOneShotLength.Text = (Math.Round(sn.OneShotTime, 2)).ToString() + " sec"; labelONESHOTRESTOTAL.Text = (Math.Round((sn.ONESHOTRES + sn.ONESHOTRESVAR) / 1000, 0)).ToString() + " kΩ"; }
private void EmulatorForm_Load(object sender, EventArgs e) { _directSoundDevice = new Device(); _directSoundDevice.SetCooperativeLevel(this, CooperativeLevel.Priority); SetWiderstandsreihe(12, 1000, 10000000, this.cbSLFRES); SetWiderstandsreihe(12, 1000, 10000000, this.cbVCORES); SetWiderstandsreihe(12, 2700, 1000000, this.cbNOISEFILTERRES); SetWiderstandsreihe(12, 10000, 3300000, this.cbNOISEGENRES); SetWiderstandsreihe(12, 2700, 10000000, this.cbNOISEFILTERRES); SetWiderstandsreihe(12, 10000, 10000000, this.cbONESHOTRES); SetWiderstandsreihe(12, 1000, 10000000, this.cbENVATKRES); SetWiderstandsreihe(12, 1000, 10000000, this.cbENVDECRES); SetWiderstandsreihe(12, 1000, 10000000, this.cbFEEDBACKRES); SetWiderstandsreihe(12, 1000, 10000000, this.cbAMPLITUDERES); SetKondensatorreihe(0, 100000, this.cbENVCAP); SetKondensatorreihe(0, 100000, this.cbNOISEFILTERCAP); SetKondensatorreihe(0, 100000, this.cbONESHOTCAP); SetKondensatorreihe(0, 100000, this.cbSLFCAP); SetKondensatorreihe(0, 100000, this.cbVCOCAP); _sn = this.LoadFile(_xml_file_standard); if (_sn == null) _sn = new SN76477(); DisplayConfiguration(_sn); }