/page-list   /toc   /spec/1.0   /spec/1.1   /implementations   /publications   /about
(contents of this file: links to each section)


status: Active/Legacy (as of 15-Mar-21)

Status details: Last site update in 2015

Project Type: Programming Language Library

Project URL:

OSC Documentation URL:


(I didn’t write this.) This is a very minimalistic OSC 1.0 library written completely in C++ and released under the zlib license. There is one header file for most of the implementation, one for UDP transport, and two supplementary files (a simple test and demo). It’s robust with respect to malformed packets, doesn’t throw exceptions, and doesn’t rely on the outdated gethostbyname. It does not, however, take into account timestamp values or provide a cpu-scalable message dispatching, and it may not be suitable for use inside a realtime thread as it allocates memory when building or reading messages.

Note: You may have to make some changes to the UDP file to be able to use it with MinGW on Windows. Using line numbers from (as of Dec. 2011), add “#define _WIN32_WINNT 0x501” before line 26 and comment out lines 243-249, 254, 306-308, 310, and the last three error checks in lines 250-251. The modified file is also attached (change extension to .hh).

Implementation Details

Platform(s): Windows, Linux, Macintosh

Features: Packet Parsing, Packet Construction, Bundle Support, Wildcard Matching Support, High Speed

Supported OSC types: i: int32, b: blob, s: string, f: float32, h: int64, d: float64, T: true, F: false

Bundle support: Reads Bundles, Creates Bundles

Transport support: UDP

Submitted to by Legacy at 2/24/21 12:32

This page of OpenSoundControl website updated Tue Aug 16 13:15:20 PDT 2022 by matt (license: CC BY).