예제 #1
0
        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);
            }
        }
예제 #2
0
 private void refreshDevice_Click(object sender, RoutedEventArgs e)
 {
     foreach (var item in MidiDeviceList)
     {
         item.Dispose();
     }
     MidiDeviceList.Clear();
     InitializeDevice();
     midiDeviceSelect.SelectedIndex = 0;
 }