/// <summary> /// Играет переданную ноту. /// </summary> /// <param name="note">Нота, которую необходимо проиграть.</param> public void PlayNote(MidiNote note) { Note = note; noteVelocity = note.Velocity / 128f; var noteFrequency = (float)Utilities.MidiNoteToFrequency(note.NoteNo); oscA.Reset(); oscB.Reset(); filter.Reset(); oscA.SetNoteFrequency(noteFrequency); oscB.SetNoteFrequency(noteFrequency); filter.SetNoteFrequency(noteFrequency); envA.TriggerAttack(); envB.TriggerAttack(); envFilter.TriggerAttack(); IsActive = true; }