public static T TestOSCValueParser <T>(T value, Func <BinaryReader, IOSCValue <T> > parser) { IOSCValue <T> val = OSCValue.Wrap(value) as IOSCValue <T>; BinaryReader reader = new BinaryReader(new MemoryStream(val.Bytes)); IOSCValue <T> parsed = parser.Invoke(reader); Assert.Equal(reader.BaseStream.Position, reader.BaseStream.Length); return(parsed.Contents); }
public OSCMessage(string address, params object[] values) { Address = new OSCString(address); Arguments = new List <IOSCValue>(); foreach (object obj in values) { if (obj is IOSCValue) { Arguments.Add(obj as IOSCValue); } else { Arguments.Add(OSCValue.Wrap(obj)); } } Bytes = GetBytes(); }