Append() public method

public Append ( object value ) : void
value object
return void
示例#1
0
 public static OSCMessage frameMessage(int frame)
 {
     OSCMessage message = new OSCMessage("/tuio/2Dblb");
     message.Append("fseq");
     message.Append(frame);
     return message;
 }
 public static OSCMessage TUIOFseq(int fseq)
 {
     OSCMessage oscm = new OSCMessage("/tuio/2Dcur");
     oscm.Append("fseq");
     oscm.Append(fseq);
     return oscm;
 }
示例#3
0
        public static new OSCMessage Unpack(byte[] bytes, ref int start)
        {
            string     address = unpackString(bytes, ref start);
            OSCMessage msg     = new OSCMessage(address);

            char[] tags = unpackString(bytes, ref start).ToCharArray();
            foreach (char tag in tags)
            {
                if (tag == ',')
                {
                    continue;
                }
                else if (tag == INTEGER)
                {
                    msg.Append(unpackInt(bytes, ref start));
                }
                else if (tag == LONG)
                {
                    msg.Append(unpackLong(bytes, ref start));
                }
                else if (tag == DOUBLE)
                {
                    msg.Append(unpackFloat(bytes, ref start));
                }
                else if (tag == STRING || tag == SYMBOL)
                {
                    msg.Append(unpackString(bytes, ref start));
                }
                //else ; // TODO
            }

            return(msg);
        }
示例#4
0
 IEnumerator sendInfos()
 {
     while (true)
     {
         // GYRO
         OSC.NET.OSCMessage messageGyro = new OSC.NET.OSCMessage("gyro");
         messageGyro.Append(q.x);
         messageGyro.Append(q.y);
         messageGyro.Append(q.z);
         messageGyro.Append(q.w);
         messageGyro.Append(savedAngle);
         BroadcastMessage("TransmitMessage", messageGyro);
         //
         OSC.NET.OSCMessage messageAccel = new OSC.NET.OSCMessage("accel");
         messageAccel.Append(Input.acceleration.x);
         messageAccel.Append(Input.acceleration.y);
         messageAccel.Append(Input.acceleration.z);
         messageAccel.Append(Input.gyro.gravity.x);
         messageAccel.Append(Input.gyro.gravity.y);
         messageAccel.Append(Input.gyro.gravity.z);
         BroadcastMessage("TransmitMessage", messageAccel);
         //
         yield return(new WaitForSeconds(0.1f));
     }
 }
示例#5
0
 public static OSCMessage aliveMessage(ReadOnlyTouchPointCollection contacts)
 {
     OSCMessage message = new OSCMessage("/tuio/2Dcur");
     message.Append("alive");
     for (int i = 0; i < contacts.Count; i++)
     {
         message.Append(contacts[i].Id);
     }
     return message;
 }
示例#6
0
 public static OSCMessage aliveMessage(List<Contact> contacts)
 {
     OSCMessage message = new OSCMessage("/tuio/2Dblb");
     message.Append("alive");
     for (int i = 0; i < contacts.Count; i++)
     {
         message.Append(contacts[i].Id);
     }
     return message;
 }
        public static OSCMessage TUIOAlive(params object[] args)
        {
            OSCMessage oscm = new OSCMessage("/tuio/2Dcur");
            oscm.Append("alive");

            for (int I = 0; I < args.Length; I++)
            {
                oscm.Append(args[I]);
            }
            return oscm;
        }
示例#8
0
 public static OSCMessage setMessage(int s, float x, float y, float xVec, float yVec, float m)
 {
     OSCMessage message = new OSCMessage("/tuio/2Dcur");
     message.Append("set");
     message.Append(s);
     message.Append(x);
     message.Append(y);
     message.Append(xVec);
     message.Append(yVec);
     message.Append(m);
     return message;
 }
        public void processEventFrame()
        {
            // Create an new TUIO Bundle
                OSCBundle pBundle = new OSCBundle();

                // Create a fseq message and save it.  This is to associate a unique frame id with a bundle of SET and ALIVE.
                OSCMessage pMessageFseq = new OSCMessage("/tuio/2Dcur");
                pMessageFseq.Append("fseq");
                pMessageFseq.Append(++iFrame);//(int)e.Timestamp);
                pBundle.Append(pMessageFseq);

                // Create a alive message.
                OSCMessage pMessageAlive = new OSCMessage("/tuio/2Dcur");
                pMessageAlive.Append("alive");

                // Now we want to take the raw frame data and draw points based on its data.
                WiiContact contact;
                while (contactQueue.Count > 0)
                {
                    contact = contactQueue.Dequeue();
                    if ((contact.Type == ContactType.Hover || contact.Type == ContactType.EndFromHover))
                    {
                        //No hover yet
                    }
                    else
                    {
                        // Compile the set message.
                        OSCMessage pMessage = new OSCMessage("/tuio/2Dcur");
                        pMessage.Append("set");                 // set
                        pMessage.Append((int)contact.ID);           // session
                        pMessage.Append((float)contact.NormalPosition.X);   // x
                        pMessage.Append((float)contact.NormalPosition.Y);   // y
                        pMessage.Append(0f);                 // dx
                        pMessage.Append(0f);                 // dy
                        pMessage.Append(0f);                 // motion
                        pMessage.Append((float)contact.Size.X);   // height
                        pMessage.Append((float)contact.Size.Y);   // width

                        // Append it to the bundle.
                        pBundle.Append(pMessage);

                        // Append the alive message for this contact to tbe bundle.
                        pMessageAlive.Append((int)contact.ID);
                    }
                }

                // Save the alive message.
                pBundle.Append(pMessageAlive);

                // Send the message off.
                this.pUDPWriter.Send(pBundle);
        }
示例#10
0
        private void buttonSend_Click(object sender, System.EventArgs e)
        {
            OSCMessage msg = new OSCMessage(textBoxSendAddress.Text);

            try
            {
                msg.Append(int.Parse(textBoxSendData.Text));
            }
            catch
            {
                msg.Append(textBoxSendData.Text);
            }

            transmitter.Send(msg);
        }
示例#11
0
 public static OSCMessage setMessage(int s, int i, float x, float y, float a, float xVec, float yVec, float A, float m, float r)
 {
     OSCMessage message = new OSCMessage("/tuio/2Dobj");
     message.Append("set");
     message.Append(s);
     message.Append(i);
     message.Append(x);
     message.Append(y);
     message.Append(a);
     message.Append(xVec);
     message.Append(yVec);
     message.Append(A);
     message.Append(m);
     message.Append(r);
     return message;
 }
示例#12
0
        public static OSCMessage Unpack(byte[] bytes, ref int start, bool extendedMode = false)
        {
            string address = unpackString(bytes, ref start);
            //Console.WriteLine("address: " + address);
            OSCMessage msg = new OSCMessage(address, extendedMode);

            char[] tags = unpackString(bytes, ref start).ToCharArray();
            //Console.WriteLine("tags: " + new string(tags));
            foreach (char tag in tags)
            {
                //Console.WriteLine("tag: " + tag + " @ "+start);
                if (tag == ',')
                {
                    continue;
                }
                else if (tag == INTEGER)
                {
                    msg.Append(unpackInt(bytes, ref start));
                }
                else if (tag == LONG)
                {
                    msg.Append(unpackLong(bytes, ref start));
                }
                else if (tag == DOUBLE)
                {
                    msg.Append(unpackDouble(bytes, ref start));
                }
                else if (tag == FLOAT)
                {
                    msg.Append(unpackFloat(bytes, ref start));
                }
                else if (tag == STRING || tag == SYMBOL)
                {
                    msg.Append(unpackString(bytes, ref start));
                }

                else if (tag == CHAR)
                {
                    msg.Append(unpackChar(bytes, ref start));
                }
                else if (tag == BLOB)
                {
                    msg.Append(unpackBlob(bytes, ref start));
                }
                //else if (tag == COLOR) msg.Append(unpackColor(bytes, ref start));
                else if (tag == TIMETAG)
                {
                    msg.Append(unpackTimeTag(bytes, ref start));
                }

                else
                {
                    Console.WriteLine("unknown tag: " + tag);
                }
            }
            return(msg);
        }
示例#13
0
 public static OSCMessage setMessage(int s, float x, float y, float a, float w, float h, float f, float xVec, float yVec, float A, float m, float r)
 {
     OSCMessage message = new OSCMessage("/tuio/2Dblb");
     message.Append("set");
     message.Append(s);
     message.Append(x);
     message.Append(y);
     message.Append(a);
     message.Append(w);
     message.Append(h);
     message.Append(f);
     message.Append(xVec);
     message.Append(yVec);
     message.Append(A);
     message.Append(m);
     message.Append(r);
     return message;
 }
示例#14
0
        public static OSCMessage Unpack(byte[] bytes, ref int start)
        {
            string address = unpackString(bytes, ref start);

            Console.WriteLine("address: " + address);
            OSCMessage msg = new OSCMessage(address);

            char[] tags = unpackString(bytes, ref start).ToCharArray();
            Console.WriteLine("tags: " + new string(tags));
            foreach (char tag in tags)
            {
                Console.WriteLine("tag: " + tag + " @ " + start);
                if (tag == ',')
                {
                    continue;
                }
                else if (tag == INTEGER)
                {
                    msg.Append(unpackInt(bytes, ref start));
                }
                else if (tag == LONG)
                {
                    msg.Append(unpackLong(bytes, ref start));
                }
                else if (tag == DOUBLE)
                {
                    msg.Append(unpackDouble(bytes, ref start));
                }
                else if (tag == FLOAT)
                {
                    msg.Append(unpackFloat(bytes, ref start));
                }
                else if (tag == STRING || tag == SYMBOL)
                {
                    msg.Append(unpackString(bytes, ref start));
                }
                else
                {
                    Console.WriteLine("unknown tag: " + tag);
                }
            }

            return(msg);
        }
示例#15
0
        public static OSCMessage Unpack(byte[] bytes, ref int start)
        {
            string address = unpackString(bytes, ref start);
            OSCMessage msg = new OSCMessage(address);

            char[] tags = unpackString(bytes, ref start).ToCharArray();
            foreach(char tag in tags)
            {
                if(tag == ',') continue;
                else if(tag == INTEGER) msg.Append(unpackInt(bytes, ref start));
                else if(tag == LONG) msg.Append(unpackLong(bytes, ref start));
                else if(tag == DOUBLE) msg.Append(unpackFloat(bytes, ref start));
                else if (tag == FLOAT) msg.Append(unpackFloat(bytes, ref start));
                else if (tag == STRING || tag == SYMBOL) msg.Append(unpackString(bytes, ref start));
                //else ; // TODO
            }

            return msg;
        }
示例#16
0
        public void processEventFrame(FrameEventArgs e)
        {
            // Create an new TUIO Bundle
                OSCBundle pBundle = new OSCBundle();

                // Create a fseq message and save it.  This is to associate a unique frame id with a bundle of SET and ALIVE.
                OSCMessage pMessageFseq = new OSCMessage("/tuio/2Dcur");
                pMessageFseq.Append("fseq");
                pMessageFseq.Append(++iFrame);//(int)e.Timestamp);
                pBundle.Append(pMessageFseq);

                // Create a alive message.
                OSCMessage pMessageAlive = new OSCMessage("/tuio/2Dcur");
                pMessageAlive.Append("alive");

                // Now we want to take the raw frame data and draw points based on its data.
                foreach (WiiContact pContact in e.Contacts)
                {
                    // Compile the set message.
                    OSCMessage pMessage = new OSCMessage("/tuio/2Dcur");
                    pMessage.Append("set");                 // set
                    pMessage.Append((int)pContact.ID);           // session
                    pMessage.Append((float)pContact.NormalPosition.X);   // x
                    pMessage.Append((float)pContact.NormalPosition.Y);   // y
                    pMessage.Append(0f);                 // dx
                    pMessage.Append(0f);                 // dy
                    pMessage.Append(0f);                 // motion
                    pMessage.Append((float)pContact.Size.X);   // height
                    pMessage.Append((float)pContact.Size.Y);   // width

                    // Append it to the bundle.
                    pBundle.Append(pMessage);

                    // Append the alive message for this contact to tbe bundle.
                    pMessageAlive.Append((int)pContact.ID);
                }

                // Save the alive message.
                pBundle.Append(pMessageAlive);

                // Send the message off.
                this.pUDPWriter.Send(pBundle);
        }
示例#17
0
        public static OSCMessage Unpack(byte[] bytes, ref int start)
        {
            string address = unpackString(bytes, ref start);
            //Console.WriteLine("address: " + address);
            OSCMessage msg = new OSCMessage(address);

            char[] tags = unpackString(bytes, ref start).ToCharArray();
            //Console.WriteLine("tags: " + new string(tags));
            foreach(char tag in tags)
            {
                //Console.WriteLine("tag: " + tag + " @ "+start);
                if(tag == ',') continue;
                else if(tag == INTEGER) msg.Append(unpackInt(bytes, ref start));
                else if(tag == LONG) msg.Append(unpackLong(bytes, ref start));
                else if(tag == DOUBLE) msg.Append(unpackDouble(bytes, ref start));
                else if(tag == FLOAT) msg.Append(unpackFloat(bytes, ref start));
                else if(tag == STRING || tag == SYMBOL) msg.Append(unpackString(bytes, ref start));
                else Console.WriteLine("unknown tag: "+tag);
            }

            return msg;
        }
示例#18
0
        /// <summary>
        /// Forward the given touch message.
        /// </summary>
        /// <param name="?"></param>
        public void Forward(TouchMessage Message)
        {
            // Skip bad messages
            if (Message == null)
                return;

            // If we have a bad startup condition.
            if (pUDPWriter == null)
                return;

            // Create an new TUIO Bundle
            OSCBundle pBundle = new OSCBundle();

            // Create a fseq message and save it.  This is to associate a unique frame id with a bundle of SET and ALIVE.
            OSCMessage pMessageFseq = new OSCMessage("/tuio/2Dcur");
            pMessageFseq.Append("fseq");
            pMessageFseq.Append(++iFrame);
            pBundle.Append(pMessageFseq);

            // Create a alive message.
            OSCMessage pMessageAlive = new OSCMessage("/tuio/2Dcur");
            pMessageAlive.Append("alive");

            // Compile the set message.
            OSCMessage pMessage = new OSCMessage("/tuio/2Dcur");
            pMessage.Append("set");                             // set
            pMessage.Append((int)Message.ID);                   // session
            pMessage.Append((float)Message.X);                  // x
            pMessage.Append((float)Message.Y);                  // y
            pMessage.Append(0f);                                // dx
            pMessage.Append(0f);                                // dy
            pMessage.Append(0f);                                // motion
            pMessage.Append(1f);                                // height
            pMessage.Append(1f);                                // width

            // Append it to the bundle.
            pBundle.Append(pMessage);

            // Append the alive message for this contact to tbe bundle.
            pMessageAlive.Append((int)Message.ID);

            // Save the alive message.
            pBundle.Append(pMessageAlive);

            // Send the message off.
            this.pUDPWriter.Send(pBundle);
        }
        private void sendCursorBundle(ref OSCBundle bundle, int fseq)
        {
            OSCMessage msg = new OSCMessage("/tuio/2Dcur");
            msg.Append("fseq");
            msg.Append(fseq);

            bundle.Append(msg);

            this.socket.Send(bundle);
        }
        private void sendEmptyCursorBundle()
        {
            OSCBundle bundle = new OSCBundle();

            OSCMessage msg1 = new OSCMessage("/tuio/2Dcur");
            msg1.Append("alive");

            bundle.Append(msg1);

            OSCMessage msg2 = new OSCMessage("/tuio/2Dcur");
            msg2.Append("fseq");
            msg2.Append(-1);

            bundle.Append(msg2);

            this.socket.Send(bundle);
        }
示例#21
0
        public static OSCMessage sourceMessage()
        {
            StringCollection localIP = Helper.getLocalIP();

            OSCMessage message = new OSCMessage("/tuio/2Dblb");
            message.Append("source");
            message.Append("surface@" + localIP[3]);
            return message;
        }
        private void startCursorBundle(ref OSCBundle bundle)
        {
            bundle = new OSCBundle();

            OSCMessage msg = new OSCMessage("/tuio/2Dcur");
            msg.Append("alive");
            foreach (TuioCursor tcur in this.cursorList)
                msg.Append(tcur.SessionID);

            bundle.Append(msg);
        }
示例#23
0
        private void SendStatusUpdate()
        {
            OSCBundle bundle = new OSCBundle();

            OSCMessage message = new OSCMessage("/tuio/2Dcur");
            message.Append("source");
            message.Append("MultiPoint TUIO");

            bundle.Append(message);
            //_oscTransmitter.Send(message);

            message = new OSCMessage("/tuio/2Dcur");
            message.Append("alive");

            foreach (Cursor c in _cursors.Values)
            {
                message.Append(c.SessionID);
            }

            bundle.Append(message);
            //_oscTransmitter.Send(message);

            foreach (Cursor c in _cursors.Values)
            {
                float xPos = (float)((1 / (double)_windowWidth) * (c.Position.X - _windowLeft));
                float yPos = (float)((1 / (double)_windowHeight) * (c.Position.Y - _windowTop));

                message = new OSCMessage("/tuio/2Dcur");
                message.Append("set");
                message.Append(c.SessionID);
                message.Append(xPos);
                message.Append(yPos);
                message.Append(0.0f);
                message.Append(0.0f);
                message.Append(0.0f);

                bundle.Append(message as OSCPacket);
            }

            message = new OSCMessage("/tuio/2Dcur");
            message.Append("fseq");
            message.Append(_messageCounter);
            _messageCounter++;

            bundle.Append(message as OSCPacket);

            _oscTransmitter.Send(bundle);
        }
示例#24
0
        private void buttonSend_Click(object sender, System.EventArgs e)
        {
            OSCMessage msg = new OSCMessage(textBoxSendAddress.Text);
            try
            {
                msg.Append(int.Parse(textBoxSendData.Text));
            }
            catch
            {
                msg.Append(textBoxSendData.Text);
            }

            transmitter.Send(msg);
        }
        private void interpretAccelerationData(double accX, double accY, double accZ)
        {
            accX *= GfCnv;
            accY *= GfCnv;
            accZ *= GfCnv;

            this.accelXLabel.Text = String.Format("{0}", accX);
            this.accelYLabel.Text = String.Format("{0}", accY);
            this.accelZLabel.Text = String.Format("{0}", accZ);

            robotViewControl1.setAccelerometerData(accX, accY, accZ);

            if (oscTransmitter != null)
            {
                OSCMessage oscAccelData = new OSCMessage("/accel-g");
                oscAccelData.Append((float)(accX * 5.0d));
                oscAccelData.Append((float)(accY * 5.0d));
                oscAccelData.Append((float)(accZ * 5.0d));

                oscTransmitter.Send(oscAccelData);
            }
        }
        private void addCursorMessage(ref OSCBundle bundle, TuioCursor tcur)
        {
            OSCMessage msg = new OSCMessage("/tuio/2Dcur");
            msg.Append("set");
            msg.Append(tcur.SessionID);
            msg.Append(tcur.X);
            msg.Append(tcur.Y);
            msg.Append(tcur.XSpeed);
            msg.Append(tcur.YSpeed);
            msg.Append(tcur.MotionAccel);

            bundle.Append(msg);
        }
示例#27
0
 public static OSCMessage sourceMessage()
 {
     string localIP = Helper.getLocalIP();
     OSCMessage message = new OSCMessage("/tuio/2Dcur");
     message.Append("source");
     message.Append("surface@" + localIP);
     return message;
 }