ampOSC manual
Clients and subscriptions
The OSC server starts by itself and needs no setting up. The one decision worth making is whether every client hears everything, or only what it asked for.
The OSC server
The gear on the OSC Server row opens one sheet: a UDP Port — 8765 by default — an Enable Subscriptions toggle, and the host address and Bonjour name for reference.
There is no handshake and no password. Send a message to the port and you are a client.
Finding it with Bonjour
ampOSC advertises itself on the local network as _osc._udp under the name
ampOSC, so a client that browses for OSC services can find it without
anyone typing an address. The Host line in the sheet is what to type if yours cannot.
Talking to it
Point your client at the address in the OSC Server row, over UDP. Paths are case-insensitive and every index is 1-based.
/Input/1/Level ,f -6.0 set input 1 to -6 dB
/Input/1/Level ask for it
/Input/1/Mute ,T mute
/Scene/Recall ,i 42 recall scene 42
/Input/1-48/Level address a whole range at once Any number of clients can connect at once, each identified by its address and port. The full address list is the OSC reference, and everything there works from AppleScript too.
Flood or subscription
Enable Subscriptions changes what the server does with a value when it changes at the desk. It is on by default.
Subscription mode — the default
A client is sent only what it has asked for. Two ways to ask:
/Input/1/Level a GET, which also subscribes you
/Subscribe/Input/*/Level subscribe without asking for a value first
/Unsubscribe/Input/1/Level stop
/Unsubscribe/* stop everything Asking for a value also subscribes you to it, which is the quickest way to get a control surface in sync and keep it there — one message per range, and a client can cover a whole desk in a handful of packets. Subscriptions last until dropped; there is no keepalive.
Flood mode
Turn the switch off and every value change goes to every client that has
ever sent a message. Nobody has to ask for anything, /Subscribe does nothing,
and the Subscriptions tile reads ALL rather than a number.
This suits a single client that wants the whole desk, and it is a quick way to get something working. On a large desk with several clients it is a lot of traffic most of them throw away.
Worth knowing when reading a client's code: the same client behaves differently under the two modes without changing a line. A surface that never subscribes is silent in the default subscription mode and fully fed the moment somebody switches to flood.
The subscription list
The Subscriptions tile opens a list grouped by client — the client's address and port, its subscription count, and every path it holds.
Export writes the list to a file, which is a quick way to capture what a surface actually asked for. Clear All drops every subscription on the server; clients that want them back have to ask again.
The client list
The Clients tile lists everything that has sent at least one message, with the number of subscriptions each holds and an × to drop it.
In flood mode that number is not zero — it is everything. A flood client is
treated as subscribed to the whole desk, so it shows the full addressable count while the
panel tile reads ALL. Those are the same fact said two ways, not a
disagreement.
A client appears on first contact and stays listed. If the list reads No active clients while your surface is plainly sending, nothing is arriving — check the port, then the firewall, then whether the client is aimed at the right address.