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);
        }
Beispiel #2
0
        /// <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);
        }
Beispiel #3
0
        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;
        }
Beispiel #4
0
        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;
            }
        }
Beispiel #5
0
        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);
 }
Beispiel #7
0
 protected abstract void ValueRead(OscMessageValues values);
 protected override void ValueRead(OscMessageValues values)
 {
     LastReceivedBlobLength = values.ReadBlobElement(0, ref m_Buffer);
 }