private void midiInConfirmButton_Click(object sender, EventArgs e) { if (inReady) { midiInput.Stop(); midiInput.Close(); midiInput.Dispose(); midiInDevicesCB.Enabled = true; refreshMidiInButton.Enabled = true; midiInConfirmButton.ImageIndex = 0; inReady = false; checkReady(true); } else { midiInDevicesCB.Enabled = false; refreshMidiInButton.Enabled = false; midiInput = new MidiIn(midiInDevicesCB.SelectedIndex); midiInput.MessageReceived += midiInput_MessageReceived; midiInput.ErrorReceived += midiInput_ErrorReceived; midiInput.Start(); midiInConfirmButton.ImageIndex = 1; inReady = true; checkReady(true); } }
public void CloseIn() { if (midiIn != null) { midiIn.Stop(); midiIn.OnLongMsg -= OnLongMessage; midiIn.OnShortMsg -= OnShortMessage; midiIn.Close(); midiIn = null; } }
private void CleanupMidiPort() { if (_attachedMidiPort == null) { return; } _logService.Information("Disconnecting already attached MIDI port"); _attachedMidiPort.Stop(); _attachedMidiPort.Close(); _attachedMidiPort.Dispose(); _attachedMidiPort.MessageReceived -= ProcessMidiMessage; _attachedMidiPort.ErrorReceived -= LogMidiError; }
private void MIDIInputTest_FormClosed(object sender, FormClosedEventArgs e) { try { midiInput.Stop(); midiInput.Close(); midiInput.Dispose(); } catch (NullReferenceException) { //Do Nothing }catch (NAudio.MmException) { //MIDI Device was disconnected before stopping } }
protected override void OnStop() { foreach (var plugin in Plugins) { plugin.HostShutdown(); } MidiIn?.Close(); MidiIn?.Dispose(); OscOut?.Close(); OscOut?.Dispose(); OscIn?.Close(); OscIn?.Dispose(); }
public void Init(int inDeviceNo, int outDeviceNo) { if (_initialized) { _inDevice.Stop(); _inDevice.Close(); _inDevice.Dispose(); _outDevice.Close(); _outDevice.Dispose(); } _inDevice = new MidiIn(inDeviceNo); _outDevice = new MidiOut(outDeviceNo); _inDevice.MessageReceived += MessageReceived; _inDevice.ErrorReceived += ErrorReceived; _inDevice.Start(); _initialized = true; }