package osc

  1. Overview
  2. Docs

Types representing OSC packets.

type time = {
  1. seconds : int32;
    (*

    Number of seconds since midnight on January 1st, 1900.

    *)
  2. fraction : int32;
    (*

    Fractional part of the timestamp.

    *)
}

An NTP-style timestamp.

type timetag =
  1. | Immediate
    (*

    A special time tag value, indicating that associated OSC methods should be invoked immediately.

    *)
  2. | Time of time
    (*

    A time at which an OSC method should be invoked.

    *)

An OSC time tag.

type argument =
  1. | Float32 of float
    (*

    32-bit float argument.

    *)
  2. | Int32 of int32
    (*

    32-bit integer argument.

    *)
  3. | String of string
    (*

    String argument.

    *)
  4. | Blob of string
    (*

    Binary blob argument.

    *)
  5. | Timetag of timetag
    (*

    Timetag argument.

    *)

An argument contained by an OSC message.

type message = {
  1. address : string;
    (*

    The OSC address pattern to which the message is aimed.

    *)
  2. arguments : argument list;
    (*

    The arguments associated with the message.

    *)
}

An OSC message.

type bundle = {
  1. timetag : timetag;
    (*

    A timetag, representing the time at which any actions triggered by this bundle should begin.

    *)
  2. packets : packet list;
    (*

    The list of packets contained within this bundle.

    *)
}

An OSC bundle.

and packet =
  1. | Message of message
    (*

    A single OSC message.

    *)
  2. | Bundle of bundle
    (*

    An OSC bundle, containing a timetag and zero or more child packets.

    *)

An OSC packet.