zosclib is a C++ library for working with the Open Sound Control (OSC) protocol. It provides tools for creating, sending, receiving, and processing OSC messages and bundles with a simple and intuitive API.
- Create and manage OSC messages with address patterns.
- Supports multiple argument types:
int32_t
float
std::string
std::vector<uint8_t>
uint32_t
- Serialize and deserialize OSC-compliant byte streams.
- Nest OSC messages and bundles hierarchically.
- Use NTP-compatible TimeTags for precise scheduling.
- Serialize and deserialize bundles into OSC formats.
- Listen for incoming OSC messages and bundles on a specified UDP port.
- Use callback functions for customized message and bundle processing.
- Operates asynchronously using the ASIO library.
- Send OSC messages and bundles over UDP.
- Supports raw OSC-encoded data transmission.
- Optimized for low-latency networking.
- C++17 or later
- ASIO library (via Boost)
- Clone the repository:
git clone https://github.com/PedroZappa/zosclib.git cd zosclib
- Build the library:
make
Include the zosclib headers in your project. Zosclib is a header-only library, so no additional build steps are required.
The full documentation for zosclib is available online. You can view it by clicking the link below:
Alternatively, you can also generate the documentation locally by running Doxygen and opening the
index.html
file in a browser.
- Open Sound Control
- OSC Syntax
- Open Sound Control Wikipedia
- Best Practices for OSC STANFORD
- OSCQuery Proposal
- mhroth/tinyosc
This work is published under the terms of The Unlicense.