public static new OSCBundle Parse(BinaryReader reader) { OSCString bundleString = OSCString.Parse(reader); OSCTimeTag timeTag = OSCTimeTag.Parse(reader); List <OSCPacket> contents = new List <OSCPacket>(); while (reader.BaseStream.Position < reader.BaseStream.Length) { OSCInt size = OSCInt.Parse(reader); OSCPacket packet = OSCPacket.Parse(reader); contents.Add(packet); } return(new OSCBundle(timeTag.Contents, contents)); }
public static new OSCMessage Parse(BinaryReader reader) { OSCString address = OSCString.Parse(reader); OSCString typeTags = OSCString.Parse(reader); int valueCount = typeTags.Contents.Length - 1; List <IOSCValue> values = new List <IOSCValue>(); foreach (char current in typeTags.Contents.Substring(1)) { IOSCValue value = OSCValue.Parse(current, reader); values.Add(value); } return(new OSCMessage(address.Contents, values)); }
public void TestParsing(string value) { Assert.Equal(value, OSCValueTester.TestOSCValueParser(value, (reader) => OSCString.Parse(reader))); }