// public static string UnpackString(this byte[] data, ref int startOscSubFrame) // { // int mult4 = startOscSubFrame * 4; // var s = Encoding.ASCII.GetString(data, mult4, data.CountNonZeos(mult4)); // startOscSubFrame += (s.Length / 4 + 1); // return s; // } public static string UnpackString(this byte[] data, OSCWordReader reader) { // int mult4 = startOscSubFrame * 4; Debug.Log("counting zeroes from " + reader.readIndex + " = " + data.CountNonZeos(reader.readIndex)); var s = Encoding.ASCII.GetString(data, reader.readIndex, data.CountNonZeos(reader.readIndex)); Debug.Log(" unpacked string " + s.Length + " " + s); reader.Advance(s.Length, data); reader.Align(data); return(s); }
public static List <System.Type> UnpackTypeTag(this zOSCMessage message, OSCWordReader reader) { UnityEngine.Debug.Log("Starting ubpack of typetags"); byte[] data = message.data; string typetagstring = data.UnpackString(reader); var list = new List <System.Type>(); while (data[reader.readIndex] != 0) { list.AddTypeFromChar((char)data[reader.readIndex]); reader.Advance(data); } return(list); }