Example #1
0
        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);
        }
Example #2
0
 public void UpdateOrAdd(string MidiDeviceName, ControllerMapping mapping)
 {
     if (UpdateRow(MidiDeviceName, mapping) == false)
     {
         AddRow(MidiDeviceName, mapping);
     }
 }
Example #3
0
        private void AddRow(string MidiDeviceName, ControllerMapping mapping)
        {
            DataTable t  = GetTable(MidiDeviceName);
            DataRow   dr = PopulateRow(t.NewRow(), mapping);

            t.Rows.Add(dr);
        }
Example #4
0
        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);
            }
        }
Example #5
0
        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);
        }
Example #6
0
        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);
        }
Example #7
0
 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);
 }
Example #8
0
        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);
        }
Example #9
0
        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);
        }