Пример #1
0
 /// <summary>Constructor</summary>
 public X32ChannelBase()
 {
     Name  = "Unnamed";
     color = Constants.COLOR.WHITE;
     On    = true;
     Level = new X32Level(Constants.NO_LEVEL, 1024);
 }
Пример #2
0
        public virtual bool SetValuesFromOSC(string[] parameters, object value)
        {
            if (parameters[1] == "config")
            {
                bool setAValue = false;
                switch (parameters[2])
                {
                case "name":
                    Name      = (string)value;
                    setAValue = true;
                    break;

                case "color":
                    color     = (Constants.COLOR)(int) value;
                    setAValue = true;
                    break;

                default:
                    break;
                }

                return(setAValue);
            }
            else if (parameters[1] == "mix")
            {
                bool setAValue = false;
                switch (parameters[2])
                {
                case "on":
                    On        = Convert.ToBoolean(value);
                    setAValue = true;
                    break;

                case "fader":
                    Level.RawLevel = (float)value;
                    setAValue      = true;
                    break;

                //these cases are handled must be handled in a method in the subclass
                case "pan":
                case "st":
                case "mono":
                case "mlevel":
                    break;

                //sends
                default:
                    int send = Convert.ToInt32(parameters[2]) - 1;
                    switch (parameters[3])
                    {
                    case "on":
                        Sends[send].On = Convert.ToBoolean(value);
                        setAValue      = true;
                        break;

                    case "level":
                        Sends[send].Level.RawLevel = (float)value;
                        setAValue = true;
                        break;

                    case "pan":
                        Sends[send].m_Pan.Value     = (float)value;
                        Sends[send + 1].m_Pan.Value = -(float)value;
                        break;

                    case "type":
                        Sends[send].Type     = (Constants.MIX_TAP)(int) value;
                        Sends[send + 1].Type = (Constants.MIX_TAP)(int) value;
                        setAValue            = true;
                        break;
                    }
                    break;
                }
                return(setAValue);
            }
            return(false);
        }