zosc 0.1-alpha
C++ Open Soud Control Library
Loading...
Searching...
No Matches
zosc

‍zosc 0.1-alpha

ZOSC Logo

zosc 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.


Features 🚀

ZoscMessage

  • 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.

ZoscBundle

  • Nest OSC messages and bundles hierarchically.
  • Use NTP-compatible TimeTags for precise scheduling.
  • Serialize and deserialize bundles into OSC formats.

ZoscReceiver

  • 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.

ZoscSender

  • Send OSC messages and bundles over UDP.
  • Supports raw OSC-encoded data transmission.
  • Optimized for low-latency networking.

Usage 🔧

Requirements

  • C++17 or later
  • ASIO library (standalone or via Boost)

Building Zosc

  1. Clone the repository:
    git clone https://github.com/PedroZappa/zosc.git
    cd zosc
  2. Build the library:
    make
    Include the Zosc headers in your project. Zosc is a header-only library, so no additional build steps are required.

Documentation 📖

The full documentation for zosc is available online. You can view it by clicking the link below:

View Documentation

Alternatively, you can also generate the documentation locally by running Doxygen and opening the index.html file in a browser.


References 📖


License 🔏

This work is published under the terms of The Unlicense.