private void InitializeDevice() { foreach (var item in InputDevice.GetAll()) { item.EventReceived += (sender, ee) => { switch (ee.Event) { case NoteOnEvent @event: { Logger.Trace($"keyboard: {@event.NoteNumber} pressed"); KeyController.KeyboardPress(@event.NoteNumber); break; } case NoteOffEvent @event: { Logger.Trace($"keyboard: {@event.NoteNumber} release"); KeyController.KeyboardRelease(@event.NoteNumber); break; } } }; MidiDeviceList.Add(item); } }
private void refreshDevice_Click(object sender, RoutedEventArgs e) { foreach (var item in MidiDeviceList) { item.Dispose(); } MidiDeviceList.Clear(); InitializeDevice(); midiDeviceSelect.SelectedIndex = 0; }