예제 #1
0
        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();
        }
예제 #2
0
        public void TeardownWatchers()
        {
            inputDeviceWatcher.StopWatcher();
            inputDeviceWatcher = null;

            outputDeviceWatcher.StopWatcher();
            outputDeviceWatcher = null;

            midiInPort.MessageReceived -= MidiInPort_MessageReceived;
            midiInPort.Dispose();
            midiInPort = null;

            midiOutPort.Dispose();
            midiOutPort = null;
        }