/// <summary> /// /// </summary> public override void KeyOn() { base.KeyOn(); parentModule.hardReset(); parentModule.SP0256SetClock((int)Math.Round(3120000d * (CalcCurrentFrequency() / 440d))); var tb = NoteOnEvent.Tag as NoteOnTimbreInfo; if (tb?.Tag is string all) { var lpcd = extractAllophones(all); if (lpcd != null) { foreach (var data in lpcd) { parentModule.SP0256AldW(data); } } } else { var lpcd = timbre.RawAllophones; if (lpcd != null) { foreach (var data in lpcd) { parentModule.SP0256AldW(data); } } } }
internal override void ProcessAllSoundOff() { var me = new ControlChangeEvent((SevenBitNumber)120, (SevenBitNumber)0); ProcessControlChange(me); parentModule.hardReset(); }