Exemple #1
0
        private void DecodePacket(byte[] input)
        {
            if (input.Length < 2)
            {
                throw new ArgumentOutOfRangeException(nameof(input));
            }

            UdpStreamMode = (UdpStreamMode)input[0];
            Duration      = input[1];
            switch (UdpStreamMode)
            {
            case UdpStreamMode.Drgb:
                DecodeDrgb(input.Skip(2).ToArray());
                break;

            case UdpStreamMode.Dnrgb:
                DecodeDnrgb(input.Skip(2).ToArray());
                break;

            case UdpStreamMode.Drgbw:
                DecodeDrgbw(input.Skip(2).ToArray());
                break;

            case UdpStreamMode.Warls:
                DecodeWarls(input.Skip(2).ToArray());
                break;

            default:
                throw new ArgumentOutOfRangeException(nameof(UdpStreamMode));
            }
        }
Exemple #2
0
 public ColorPacket(Color[] colors, UdpStreamMode mode = UdpStreamMode.Drgb)
 {
     UdpStreamMode = mode;
     Colors        = colors;
 }