package osc
- Alphabetic
- By Inheritance
- osc
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Type Members
- trait BrowserClientPlatform extends AnyRef
- trait BrowserReceiverPlatform extends AnyRef
- trait BrowserTransmitterPlatform extends AnyRef
- final case class Bundle(timeTag: TimeTag, packets: Packet*) extends Packet with Product with Serializable
- trait Channel extends ConfigLike with Closeable
- type Client = Bidi with Input with Output
- sealed trait Dump extends AnyRef
- class Message extends Packet
- sealed trait Packet extends AnyRef
- trait PacketCodec extends AnyRef
- trait Server extends Bidi
- final case class TimeTag(raw: Long) extends Product with Serializable
- sealed trait Transport extends AnyRef
Value Members
- case object Browser extends Transport with Product with Serializable
A simple direct invocation protocol for communication client-side within a browser.
A simple direct invocation protocol for communication client-side within a browser. Encoding and decoding goes through JavaScript's
Uint8Array
. - case object BuildInfo extends Product with Serializable
This object was generated by sbt-buildinfo.
- object Bundle extends Serializable
- object Channel
- object Client
- object Dump
- object Implicits
- object Message
- object Packet
- object PacketCodec
A packet codec defines how the translation between Java objects and OSC atoms is accomplished.
A packet codec defines how the translation between Java objects and OSC atoms is accomplished. For example, by default, when an OSC message is assembled for transmission, the encoder will translate a
java.lang.Integer
argument into a four byte integer with typetag'i'
. Or when a received message is being decoded, finding an atom typetagged'f'
, the decoder will create ajava.lang.Float
out of it.This example sounds trivial, but the codec is also able to handle type conversions. For instance, in the strict OSC 1.0 specification, only 32bit numeric atoms are defined (
'i'
and'f'
). A codec with modeMODE_STRICT_V1
will reject ajava.lang.Double
in the encoding process and not be able to decode a typetag'd'
. A codec with modeMODE_MODEST
automatically breaks down everything the 32bit, so ajava.lang.Double
gets encoded as 32bit'f'
and a received atom tagged'd'
becomes ajava.lang.Float
. Other configurations exist.Another important function of the codec is to specify the charset encoding of strings, something that was overseen in the OSC 1.0 spec. By default,
UTF-8
is used so all special characters can be safely encoded.Last but not least, using the
putDecoder
andputEncoder
methods, the codec can be extended to support additional Java classes or OSC typetags, without the need to subclassPacketCodec
. - object Receiver
- object Server
- case object TCP extends Transport with Product with Serializable
TCP
as a transport for OSC.TCP
as a transport for OSC. At the moment, packets are encoded in the OSC 1.0 format, regardless of of the configuration's packet codec. That means the 32-bit Int size followed by the actual plain packet is encoded. The OSC 1.1 draft suggests SLIP (cf. http://www.faqs.org/rfcs/rfc1055.html). This may be configurable in the future. - object TimeTag extends Serializable
- object Transmitter
- object Transport
- case object UDP extends Transport with Product with Serializable