public void SetupWatchersAndPorts() { Action enumerationInComplete = new Action(delegate() { Action enumerationOutComplete = new Action(delegate() { SetupMidiPorts(); }); outputDeviceWatcher = new MyMidiDeviceWatcher(MidiOutPort.GetDeviceSelector(), enumerationOutComplete); outputDeviceWatcher.StartWatcher(); }); inputDeviceWatcher = new MyMidiDeviceWatcher(MidiInPort.GetDeviceSelector(), enumerationInComplete); inputDeviceWatcher.StartWatcher(); }
public void TeardownWatchers() { inputDeviceWatcher.StopWatcher(); inputDeviceWatcher = null; outputDeviceWatcher.StopWatcher(); outputDeviceWatcher = null; midiInPort.MessageReceived -= MidiInPort_MessageReceived; midiInPort.Dispose(); midiInPort = null; midiOutPort.Dispose(); midiOutPort = null; }