Exemplo n.º 1
0
        protected override void ValueToOSCValues(List <OSCValue> values, object value)
        {
            var members = GetMembers(value.GetType());

            foreach (var memberInfo in members)
            {
                var property = OSCReflectionProperty.Create(value, memberInfo);
                if (property != null)
                {
                    var propertyValue = property.GetValue();
                    if (propertyValue == null)
                    {
                        values.Add(OSCValue.Null());

                        continue;
                    }

                    OSCSerializer.Pack(values, propertyValue);
                }
                else
                {
                    throw new NullReferenceException("Property not found!");
                }
            }
        }
        public static OSCValue CreateOSCValue(OSCValueType valueType)
        {
            switch (valueType)
            {
            case OSCValueType.Unknown:
                return(null);

            case OSCValueType.Int:
                return(OSCValue.Int(0));

            case OSCValueType.Long:
                return(OSCValue.Long(0));

            case OSCValueType.True:
                return(OSCValue.Bool(true));

            case OSCValueType.False:
                return(OSCValue.Bool(false));

            case OSCValueType.Float:
                return(OSCValue.Float(0));

            case OSCValueType.Double:
                return(OSCValue.Double(0));

            case OSCValueType.String:
                return(OSCValue.String(""));

            case OSCValueType.Null:
                return(OSCValue.Null());

            case OSCValueType.Impulse:
                return(OSCValue.Impulse());

            case OSCValueType.Blob:
                return(OSCValue.Blob(new byte[0]));

            case OSCValueType.Char:
                return(OSCValue.Char(' '));

            case OSCValueType.Color:
                return(OSCValue.Color(Color.white));

            case OSCValueType.TimeTag:
                return(OSCValue.TimeTag(DateTime.Now));

            case OSCValueType.Midi:
                return(OSCValue.Midi(new OSCMidi(0, 0, 0, 0)));

            case OSCValueType.Array:
                return(OSCValue.Array());

            default:
                throw new ArgumentOutOfRangeException();
            }
        }
 public void SendNull()
 {
     Send(_nullAddress, OSCValue.Null());
 }
Exemplo n.º 4
0
        protected override bool FillMessage(OSCMessage message)
        {
            message.AddValue(OSCValue.Null());

            return(true);
        }