private static void UpdateDevices() { int count = MidiInput.Count; CloseAllConnections(); int index = 0; foreach (string dev in MidiInput.GetDeviceList()) { if (Maps.ContainsKey(dev)) { MidiMap map = Maps[dev]; int outIndex = MidiOutput.GetDeviceIdByName(dev); map.ConnectDevice(index, outIndex); } else { // Can't find map so create a new default map MidiMap map = new MidiMap(); map.Name = dev; map.Dirty = true; int outIndex = MidiOutput.GetDeviceIdByName(dev); map.ConnectDevice(index, outIndex); map.UpdateMapLinks(); Maps[map.Name] = map; } index++; } MidiSetup.UpdateDeviceList(); MidiInputCount = count; }
public static void LoadMap(string filename, bool update) { XmlSerializer serializer = new XmlSerializer(typeof(MidiMap)); FileStream fs = new FileStream(filename, FileMode.Open); MidiMap map = (MidiMap)serializer.Deserialize(fs); Maps[map.Name] = map; map.Dirty = true; fs.Close(); map.UpdateMapLinks(); if (update) { UpdateDevices(); } }
private static void UpdateDevices() { var count = MidiInput.Count; CloseAllConnections(); var index = 0; foreach (var dev in MidiInput.GetDeviceList()) { if (Maps.ContainsKey(dev)) { var map = Maps[dev]; var outIndex = MidiOutput.GetDeviceIdByName(dev); map.ConnectDevice(index, outIndex); } else { // Can't find map so create a new default map var map = new MidiMap(); map.Name = dev; map.Dirty = true; var outIndex = MidiOutput.GetDeviceIdByName(dev); map.ConnectDevice(index, outIndex); map.UpdateMapLinks(); Maps[map.Name] = map; } index++; } MidiSetup.UpdateDeviceList(); MidiInputCount = count; }