/// <summary> /// Constructor: Empty device lists, start the device watchers and /// set initial states for buttons /// </summary> public MidiDeviceEnumerationTests() { InitializeComponent(); rootGrid.DataContext = this; // Start with a clean slate ClearAllDeviceValues(); // Ensure Auto-detect devices toggle is on deviceAutoDetectToggle.IsOn = true; // Set up the MIDI input and output device watchers _midiInDeviceWatcher = new MidiDeviceWatcher(MidiInPort.GetDeviceSelector(), Dispatcher, inputDevices, InputDevices); _midiOutDeviceWatcher = new MidiDeviceWatcher(MidiOutPort.GetDeviceSelector(), Dispatcher, outputDevices, OutputDevices); // Start watching for devices _midiInDeviceWatcher.Start(); _midiOutDeviceWatcher.Start(); // Disable manual enumeration buttons listInputDevicesButton.IsEnabled = false; listOutputDevicesButton.IsEnabled = false; Unloaded += MidiDeviceEnumerationTests_Unloaded; }
/// <summary> /// Constructor: Start the device watcher and populate MIDI message types /// </summary> public MidiDeviceOutputTests() { InitializeComponent(); rootGrid.DataContext = this; // Initialize the list of active MIDI output devices _midiOutPorts = new List <IMidiOutPort>(); // Set up the MIDI output device watcher _midiOutDeviceWatcher = new MidiDeviceWatcher(MidiOutPort.GetDeviceSelector(), Dispatcher, outputDevices, OutputDevices); // Start watching for devices _midiOutDeviceWatcher.Start(); // Populate message types into list PopulateMessageTypes(); Unloaded += MidiDeviceOutputTests_Unloaded; }