Giter Site home page Giter Site logo

etclabs / oscmessenger Goto Github PK

View Code? Open in Web Editor NEW
1.0 4.0 0.0 15 KB

UNOFFICIAL - The purpose of OSCMessenger is to create a manufacturer/developer agnostic chat room that will allow users to communicate between devices and applications within an IP network.

oscmessenger's Introduction

OSCMessenger

The purpose of OSCMessenger is to create a manufacturer/developer agnostic chat room that will allow users to communicate between devices and applications within an IP network.

This document describes the integration methods of OSCMessenger via the Open Sound Control protocol (OSC).

The method for transmitting and receiving OSC packets is over UDP via the multicast IP address 239.254.0.1 on Port 3090.

All examples in this document will use the following format:

<OSC Address Pattern> = <OSC Argument 1>, <OSC Argument 2>, <OSC Argument 3> (etc…)

OSC Arguments will be specified in one of the following formats:

<OSC Argument Type: Description>

<OSC Argument Type: Example>

OSC UUID:

UUID’s uniquely identify each messenger client and message, and should be preserved within each client’s database. This allows you to uniquely identify who the message is coming from as well as which message you are referring to.

UUID’s will be specified as strings in the following format: XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX

Ex: “B0BAE0A0-3BBE-4004-888B-F61CA125D0B0”

Integrating Your App: Step 1 – Introductions:

After joining the multicast group 239.254.0.1 and listening to OSC messages on port 3090. Introduce yourself:

  • /messenger/me/introduce = <string: client OSC UID>, <string: user name>, <string: application name>

All clients will reply with:

  • /messenger/me/welcome = <string: client OSC UID>, <string: user name>, <string: application name>

Integrating Your App: Step 2 – Rooms:

When entering a room:

  • /messenger/me/room/<string: room name>/enter= <string: client OSC UID>, <string: user name>, <string: application name>

When exiting a room:

  • /messenger/me/room/<string: room name>/exit = <string: client OSC UID>, <string: user name>, <string: application name>

To query who is listening outside of a room:

  • /messenger/who/listening = <string: room name>

All clients listening outside of a room will reply with:

  • /messenger/me/listening = <string: client OSC UID>, <string: user name>, <string: application name>

To query who is listening within a room:

  • /messenger/who/listening/room = <string: room name>

All clients listening within the room will reply with:

  • /messenger/me/listening/room/<string: room name> = <string: client OSC UID>, <string: user name>, <string: application name>

Integrating Your App: Step 3 – Sending a message:

Sending a message outside of a room:

  • /messenger/me/say = <string: message OSC UID> <string: client OSC UID>, <string: message>

Send a message within a room:

  • /messenger/me/room/<string: room name>/say = <string: message OSC UID> <string: client OSC UID>, <string: message>

Integrating Your App: Step 4 – Farewell:

On a client’s departure from messenger, they should declare they are leaving with:

  • /messenger/me/farewell = <string: client OSC UID>, <string: user name>, <string: application name>

oscmessenger's People

Contributors

sammysmallman avatar

Stargazers

 avatar

Watchers

 avatar  avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.