Open Sound Control messages, as the bytes that go over the wire.
iex> TuningFork.Osc.encode("/play", [60, 0.8])
<<"/play", 0, 0, 0, ",if", 0, 0, 0, 0, 60, 63, 76, 204, 205>>
Summary
Functions
Several messages under one time tag.
The address and arguments a message carries.
A message as bytes.
Functions
Several messages under one time tag.
iex> bundle = TuningFork.Osc.bundle([{"/a", [1]}, {"/b", [2]}])
iex> <<"#bundle", 0, _rest::binary>> = bundleat is :now (immediately), a DateTime, or a two-element {seconds, fraction} NTP tag.
The address and arguments a message carries.
iex> TuningFork.Osc.decode(TuningFork.Osc.encode("/play", [60, "bd", true]))
{:ok, "/play", [60, "bd", true]}{:error, :not_a_message} for anything that is not a message this understands.
A message as bytes.
Each argument is an integer (i), float (f), binary (s), {:blob, bytes} (b),
true, false or nil (T, F, N), {:int64, n} (h) or {:double, f} (d).
iex> TuningFork.Osc.encode("/hush", [])
<<"/hush", 0, 0, 0, ",", 0, 0, 0>>