#link #ableton #api-bindings

ableton-link

Rust bindings for Ableton Link

1 unstable release

0.1.0 Apr 30, 2019

#5 in #ableton

22 downloads per month

Custom license

3MB
52K SLoC

C++ 46K SLoC // 0.1% comments XSL 2K SLoC // 0.0% comments Automake 1K SLoC Perl 1K SLoC // 0.1% comments QML 298 SLoC // 0.1% comments Python 259 SLoC // 0.0% comments Rust 201 SLoC // 0.2% comments Shell 34 SLoC // 0.3% comments

Contains (obscure autoconf code, 10KB) configure.ac

Build Status

ableton-link-rs

A wrapper for the Ableton Link library, a technology that synchronizes musical beat, tempo, and phase across multiple applications running on one or more devices. Applications on devices connected to a local network discover each other automatically and form a musical session in which each participant can perform independently: anyone can start or stop while still staying in time. Anyone can change the tempo, the others will follow. Anyone can join or leave without disrupting the session.

For further details, see Ableton Link.

Remarks

This is my first shot at wrapping a C++ library for Rust. Also, I'm pretty much a C/C++ noob. So expect some rough edges.

I'm not totally sure about the all the design choices, especially the with_app/audio_session_state- methods. If you see a better way, PR's are welcome.

This has only been tested on macOS and seems to compile on Linux as well. Don't know about Windows or others...

No runtime deps