protected override void ValueRead(OscMessageValues values) { var x = values.ReadFloatElement(0); var y = values.ReadFloatElement(1); var z = values.ReadFloatElement(2); m_Value = new Vector3(x, y, z); }
/// <summary>Create a new parser.</summary> /// <param name="fixedBuffer">The buffer to read messages from. Must be fixed in memory !</param> public OscParser(byte[] fixedBuffer) { Buffer = fixedBuffer; fixed(byte *ptr = fixedBuffer) { BufferPtr = ptr; BufferLongPtr = (long *)ptr; } MessageValues = new OscMessageValues(Buffer, MaxElementsPerMessage); }
void Monitor(BlobString address, OscMessageValues values) { if (m_UseAlt) { m_ToQueueAlt.Add(MessageToString(address.ToString(), values)); } else { m_ToQueue.Add(MessageToString(address.ToString(), values)); } m_NeedsRepaint = true; }
void HandleCallbacks(OscActionPair pair, OscMessageValues messageValues) { // call the value read method associated with this OSC address pair.ValueRead(messageValues); // if there's a main thread method, queue it if (pair.MainThreadQueued != null) { if (m_MainThreadCount >= m_MainThreadQueue.Length) { Array.Resize(ref m_MainThreadQueue, m_MainThreadCount + 16); } m_MainThreadQueue[m_MainThreadCount++] = pair.MainThreadQueued; } }
public static string MonitorMessageToString(BlobString address, OscMessageValues values) { k_Builder.Clear(); k_Builder.Append(address.ToString()); const string divider = " ,"; k_Builder.Append(divider); values.ForEachElement((i, type) => { k_Builder.Append((char)type); }); k_Builder.Append(" "); var lastIndex = values.ElementCount - 1; values.ForEachElement((i, type) => { var elementText = values.ReadStringElement(i); k_Builder.Append(elementText); if (i != lastIndex) { k_Builder.Append(' '); } }); return(k_Builder.ToString()); }
protected override void ValueRead(OscMessageValues values) { m_Value = values.ReadIntElement(0); }
protected abstract void ValueRead(OscMessageValues values);
protected override void ValueRead(OscMessageValues values) { LastReceivedBlobLength = values.ReadBlobElement(0, ref m_Buffer); }