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; }
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); }
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)); } }
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; }
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; }
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); }
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); }
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; }
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); }
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; }
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); }
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; }
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); }
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; }
/// <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); }
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); }
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); }
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); }
public static OSCMessage sourceMessage() { string localIP = Helper.getLocalIP(); OSCMessage message = new OSCMessage("/tuio/2Dcur"); message.Append("source"); message.Append("surface@" + localIP); return message; }