• Stars
    star
    185
  • Rank 208,271 (Top 5 %)
  • Language
    C
  • License
    GNU Lesser Genera...
  • Created over 12 years ago
  • Updated 10 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

liblo is an implementation of the Open Sound Control protocol for POSIX systems

liblo

liblo is a lightweight library that provides an easy to use implementation of the OSC protocol. For more information about the OSC protocol, please see:

The official liblo homepage is here:

liblo is portable to most UNIX systems (including OS X) and Windows. It is released under the GNU Lesser General Public Licence (LGPL) v2.1 or later. See COPYING for details.

Building

To build and install liblo, read INSTALL in the main liblo directory. liblo is configured as a dynamically-linked library. To use liblo in a new application, after

configure

you should install liblo with

make install

so that the liblo library can be located by your application.

To build with MS Visual Studio on Windows, please use CMake as described next. See build/README.md for more details.

Building with CMake

If you prefer the CMake build system, support has been added. Instead of the configure step listed in the previous section, create a build directory and initialize CMake:

mkdir ~/build/liblo
cmake ~/source/liblo/cmake <more options..>
make

Examples

See examples for example source code for a simple client and two servers:

  • example_server.c uses lo_server_thread_start() to create a liblo server in an separate thread.

  • nonblocking_server_example.c uses select() to wait for either console input or OSC messages, all in a single thread.

  • example_client.c uses liblo to send OSC messages to a server.

These examples will work without installing liblo. This is accomplished by a shell script. For example, examples/client_example is a shell script that runs the "real" program examples/.libs/example_client. Because of this indirection, you cannot run example_client with a debugger.

Debugging

To debug applications using liblo, one option is to include all the liblo source code in the application rather than linking with the liblo library. For more information about this, please see the (libtool manual)1

To compile liblo with debugging flags, use,

./configure --enable-debug

IPv6 NOTICE

liblo was written to support both IPv4 and IPv6, however it has caused various problems along the way because most of the currently available OSC applications like Pd and SuperCollider don't listen on IPv6 sockets. IPv6 is currently disabled by default, but you can enable it using

./configure --enable-ipv6

More Repositories

1

LoopDub

A cross-platform audio application for live loop manipulation.
C++
24
star
2

FOAW

Implementation of several velocity estimators, including First-Order Adaptive Windowing (FOAW), least squares fit using FIR filter coefficients, Levant's 2-sliding observer, and a 3rd-order Kalman filter.
C++
16
star
3

dimple

This project is an implementation of a physical dynamics environment which can be controlled via OSC, so that audio projects such as PureData can create physical objects in a virtual space, and then let them interact with each other, colliding and otherwise moving around. Data about objects' position and acceleration, for example, can be retrieved and then used to affect some sort of audio synthesis. This repository is a mirror of the main DIMPLE git repository hosted on idmil.org.
Max
15
star
4

stk-piano

Piano program derived from SynthBuilder implemented using STK
C++
9
star
5

mapperRec

Recording device for libmapper.
C
8
star
6

cxxviz

Tools for analysis and visualization of C++ code
Python
7
star
7

influence

A libmapper program providing a shader-driven "influence field" that external agents can connect to, move around in, and observe.
C
6
star
8

chai3d

CHAI 3D is an open source, freely available set of C++ libraries for computer haptics, visualization and interactive real-time simulation. This is not the project's official development repository, but is a personal area to stage proposed patches and to maintain the version of CHAI3D used in DIMPLE.
C++
5
star
9

emergeData

Data analysis for the emerge project.
JavaScript
3
star
10

plhm

A library and command-line front-end for acquiring data from Polhemus motion tracking devices.
C
3
star
11

expr

The expression evaluator from libmapper made available as a standalone function.
C
3
star
12

rustaudio

Just testing some audio generation code in Rust. This is not a serious project, but just a simple wrapper for RtAudio so that I can run some DSP routines and hear the output.
C++
2
star
13

libmapper-contrib

Utilities and extra programs contributed by libmapper developers and users.
Python
2
star
14

mouthmachine

Mouth Machine: Just playing around with attack detection and recognition for beat boxing.
Python
2
star
15

relocate_libs

Tool to call "install_name_tool -change" on a list of libraries or executables, replacing a matching substring.
Python
1
star
16

broadcastTest

Testing some low-level socket communications.
C
1
star
17

cvpca

A program that collects phone accelerometer data over a websocket and calculates PCA of the Log-FFT of a sliding window.
C++
1
star