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()); }
protected override bool FillMessage(OSCMessage message) { message.AddValue(OSCValue.Null()); return(true); }