Version 0.9, March 04, 2017

Albert Gräf <aggraef@gmail.com>


Copyright (c) 2009 by Albert Graef.

pure-liblo is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

pure-liblo is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public License along with this program. If not, see <http://www.gnu.org/licenses/>.


This is a quick and dirty Pure wrapper for the liblo library by Steve Harris and others, which implements Berkeley’s Open Sound Control (OSC) protocol.

OSC is a protocol for exchanging data between multimedia devices and software across the network (TCP, UDP and UNIX domain sockets are supported as the transport layer). It is also useful as a general communication mechanism for both hard- and software. In difference to the plain socket interface (on which it builds), OSC provides you with an efficient means to send around binary data packets along with the corresponding type and timing information, which makes it well-suited for both realtime and non-realtime applications.

The OSC protocol is standardized and is supported by an abundance of different implementations, which includes controller hardware of all sorts and computer music software like CSound, Pd and SuperCollider. Lots of implementations exist for different programming languages. liblo aims to provide a lightweight and ubiquitous OSC implementation for the C programming language.

The lo.pure module provides a fairly straight wrapper of the C library. A more high-level and Purified interface is available in osc.pure. Most of the time, you’ll want to use the latter for convenience, but if you need utmost flexibility then it is worth having a look at lo.pure, too.

  • Get the latest source from https://bitbucket.org/purelang/pure-lang/downloads/pure-liblo-0.9.tar.gz.
  • To install, run make and sudo make install. This will try to guess your Pure installation directory; if it guesses wrong, you can set the prefix variable accordingly, see the Makefile for details.
  • You can also regenerate the wrapper by running make generate; this requires the pure-gen utility and the liblo headers. The present version was generated from liblo 0.26. If your liblo version differs from that then it’s always a good idea to run make generate.
  • Have a look at lo.pure and osc.pure for a description of the API provided to Pure programmers.
  • The examples folder contains some Pure code which illustrates how to use these modules.

Table Of Contents

Previous topic


Next topic

pure-lilv: Pure Lilv Interface

This Page