private static void CloseMidiDevices() { foreach (var midiInputDevice in MidiInsWithDevices.Keys) { foreach (var midiConsumer in MidiConsumers) { midiInputDevice.MessageReceived -= midiConsumer.MessageReceivedHandler; midiInputDevice.ErrorReceived -= midiConsumer.ErrorReceivedHandler; } try { midiInputDevice.Stop(); midiInputDevice.Close(); midiInputDevice.Dispose(); } catch (Exception e) { Log.Debug("exception: " + e); } } MidiInsWithDevices.Clear(); MidiInsByDeviceIdHash.Clear(); }
public static MidiIn GetMidiInForProductNameHash(int hash) { MidiInsByDeviceIdHash.TryGetValue(hash, out var midiIn); return(midiIn); }