public List <ControllerMapping> GetMappings(string MidiDeviceName, MappingFilter filter) { List <ControllerMapping> mappings = new List <ControllerMapping>(); DataTable t = GetTable(MidiDeviceName); for (int i = 0; i < t.Rows.Count; i++) { ControllerMapping mapping = GetRow(MidiDeviceName, i); mapping.CatCmd = CatCmdDb.Get(mapping.CatCmd.CatCommandId); if (filter == MappingFilter.None) { mappings.Add(mapping); } else if (filter == MappingFilter.Active) { if (mapping.CatCmd.CatCommandId != CatCmd.None) { mappings.Add(mapping); } } else if (filter == MappingFilter.InActive) { if (mapping.CatCmd.CatCommandId == CatCmd.None) { mappings.Add(mapping); } } } return(mappings); }
public void UpdateOrAdd(string MidiDeviceName, ControllerMapping mapping) { if (UpdateRow(MidiDeviceName, mapping) == false) { AddRow(MidiDeviceName, mapping); } }
private void AddRow(string MidiDeviceName, ControllerMapping mapping) { DataTable t = GetTable(MidiDeviceName); DataRow dr = PopulateRow(t.NewRow(), mapping); t.Rows.Add(dr); }
public void DeleteRow(string MidiDeviceName, ControllerMapping mapping) { DataTable t = GetTable(MidiDeviceName); DataRow dr = t.Rows.Find(mapping.MidiControlId); if (dr != null) { t.Rows.Remove(dr); } }
public ControllerMapping GetMapping(string MidiDeviceName, int MidiControlId) { ControllerMapping mapping = null; DataTable t = GetTable(MidiDeviceName); DataRow dr = t.Rows.Find(MidiControlId); if (dr != null) { mapping = PopulateMapping(dr); } return(mapping); }
private bool UpdateRow(string MidiDeviceName, ControllerMapping mapping) { DataTable t = GetTable(MidiDeviceName); DataRow dr = t.Rows.Find(mapping.MidiControlId); if (dr != null) { dr = PopulateRow(dr, mapping); return(true); } return(false); }
public DataRow PopulateRow(DataRow dr, ControllerMapping mapping) { dr["MidiControlId"] = mapping.MidiControlId; dr["MidiControlName"] = mapping.MidiControlName; dr["MidiControlType"] = mapping.MidiControlType; dr["MinValue"] = mapping.MinValue; dr["MaxValue"] = mapping.MaxValue; dr["CatCmdId"] = (int)mapping.CatCmd.CatCommandId; dr["MidiOutCmdDown"] = mapping.MidiOutCmdDown; dr["MidiOutCmdUp"] = mapping.MidiOutCmdUp; dr["MidiOutCmdSetValue"] = mapping.MidiOutCmdSetValue; return(dr); }
private ControllerMapping PopulateMapping(DataRow dr) { ControllerMapping mapping = new ControllerMapping(); mapping.MidiControlId = (int)dr["MidiControlId"]; mapping.MidiControlName = (string)dr["MidiControlName"]; mapping.MidiControlType = FixUp.FixControlType(((int)dr["MidiControlType"])); mapping.MinValue = (int)dr["MinValue"]; mapping.MaxValue = (int)dr["MaxValue"]; mapping.CatCmdId = (CatCmd)dr["CatCmdId"]; mapping.CatCmd = CatCmdDb.Get(mapping.CatCmdId); mapping.MidiOutCmdDown = ConvertFromDBVal <string>(dr["MidiOutCmdDown"]); mapping.MidiOutCmdUp = ConvertFromDBVal <string>(dr["MidiOutCmdUp"]); mapping.MidiOutCmdSetValue = ConvertFromDBVal <string>(dr["MidiOutCmdSetValue"]); return(mapping); }
public ControllerMapping GetReverseMapping(string MidiDeviceName, CatCmd cmd) //-W2PA To allow flowing commands back to MIDI devices { ControllerMapping mapping = null; DataTable t = GetTable(MidiDeviceName); DataRow dr = t.Rows.Find(cmd); string sel = "CatCmdId = " + Convert.ToString((int)cmd); DataRow[] dr1 = t.Select(sel); if (dr1.Length == 0) { return(mapping); } if (dr1[0] != null) { mapping = PopulateMapping(dr1[0]); } return(mapping); }