private void applyTone() { var ts = new Synthesizer.ToneSet(); ts.Add(param.Clone()); syntheStation.Synthesizers[portNo].Channel[chNo].ProgramChange(ts); inputField.text = param.ToString(); }
private void loadTone(ToneParamPM8 tone) { param = (ToneParamPM8)tone.Clone(); { var obj = transform.Find("Panel/FM").gameObject; setSliderValue(obj, "Algorithm", "al:", 0, 7, param.Al); setSliderValue(obj, "Feedback", "fb:", 0, 7, param.Fb); setSliderValue(obj, "WaveForm", "lw:", 0, 7, param.Lfo.WS); setSliderValue(obj, "Frequency", "lf:", 0, 127, param.Lfo.LF); setSliderValue(obj, "PMPower", "lp:", 0, 127, param.Lfo.LP); setSliderValue(obj, "AMPower", "la:", 0, 127, param.Lfo.LA); if (param.Extended) { setSliderValue(obj, "AttackRate", "ar:", 0, 127, param.Lfo.Env.ExAR); setSliderValue(obj, "DecayRate", "dr:", 0, 127, param.Lfo.Env.ExDR); setSliderValue(obj, "SustainLevel", "sl:", 0, 127, param.Lfo.Env.ExSL); setSliderValue(obj, "SustainRate", "sr:", 0, 127, param.Lfo.Env.ExSR); setSliderValue(obj, "ReleaseRate", "rr:", 0, 127, param.Lfo.Env.ExRR); } else { setSliderValue(obj, "AttackRate", "ar:", 0, 31, param.Lfo.Env.AR); setSliderValue(obj, "DecayRate", "dr:", 0, 31, param.Lfo.Env.DR); setSliderValue(obj, "SustainLevel", "sl:", 0, 15, param.Lfo.Env.SL); setSliderValue(obj, "SustainRate", "sr:", 0, 31, param.Lfo.Env.SR); setSliderValue(obj, "ReleaseRate", "rr:", 0, 15, param.Lfo.Env.RR); } } for (int i = 0; i < 4; i++) { int n = i; var obj = transform.Find("Panel/OP" + (i + 1)).gameObject; setSliderValue(obj, "WaveStyle", "ws:", 0, 7, param.Op[n].WS); setSliderValue(obj, "AMEnable", "ae:", 0, 1, param.Op[n].AE); setSliderValue(obj, "Multiple", "ml:", 0, 15, param.Op[n].Ml); setSliderValue(obj, "Detune", "dt:", 0, 7, param.Op[n].Dt); setSliderValue(obj, "KeyScale", "ks:", 0, 3, param.Op[n].Env.KS); setSliderValue(obj, "VelocitySense", "vs:", 0, 7, param.Op[n].Env.VS); setSliderValue(obj, "TotalLevel", "tl:", 0, 127, param.Op[n].Env.TL); if (param.Extended) { setSliderValue(obj, "AttackRate", "ar:", 0, 127, param.Op[n].Env.ExAR); setSliderValue(obj, "DecayRate", "dr:", 0, 127, param.Op[n].Env.ExDR); setSliderValue(obj, "SustainLevel", "sl:", 0, 127, param.Op[n].Env.ExSL); setSliderValue(obj, "SustainRate", "sr:", 0, 127, param.Op[n].Env.ExSR); setSliderValue(obj, "ReleaseRate", "rr:", 0, 127, param.Op[n].Env.ExRR); } else { setSliderValue(obj, "AttackRate", "ar:", 0, 31, param.Op[n].Env.AR); setSliderValue(obj, "DecayRate", "dr:", 0, 31, param.Op[n].Env.DR); setSliderValue(obj, "SustainLevel", "sl:", 0, 15, param.Op[n].Env.SL); setSliderValue(obj, "SustainRate", "sr:", 0, 31, param.Op[n].Env.SR); setSliderValue(obj, "ReleaseRate", "rr:", 0, 15, param.Op[n].Env.RR); } } { var extend = transform.Find("Panel/Extend").GetComponent <Toggle>(); extend.isOn = param.Extended; } applyTone(); }