Home

Awesome

Minimal Android app with Ableton Link

This app is just meant to show how to hook the Ableton Link library to an Android app. It's not intended to show some best practice code (I'm just starting with Android development), but rather to document how I was able to achieve it, in case it helps others.

What the app does

That's all. No audio.

Building the app

  1. Make sure your setup can build for NDK with Android Studio.
  2. Clone the Link repo with submodules somewhere on your machine.
git clone --recurse-submodules https://github.com/Ableton/link.git
  1. In the app project folder, edit the app/CMakeLists.txt file and replace
set (LINK_DIR /Users/bloit/LIBS/link)

with the path to your local Link repo. 4. Open this app project in Android Studio (tested on v3.0.1) 5. Sync project with gradle files 6. Build...

If importing Link to your own app

Be sure to add this permission to the manifest, or link will silently fail.

<uses-permission android:name="android.permission.INTERNET"/>

Test

The LinkHut command line app is the most straightforward way of testing. Just follow the build instructions to install it on your machine. I usually test by first launching the LinkHut app, and then launch the Android app.

When launching the command line LinkHut, you should see something like the following (assuming there is no other Link peer on your wifi):

peers: 0 | quantum: 4 | start stop sync: off | tempo: 120 | beats: 10.245176 | XXXO

Then once you launch the app, the output should update the peers field:

peers: 1 | quantum: 4 | start stop sync: off | tempo: 120 | beats: 16.005898 | XOOO

Now try increasing or decreasing the tempo in LinkHut (w / e keys), and hit the capture button on the app. You should see the tempo field in the app updating to the same value.

peers: 1 | quantum: 4 | start stop sync: off | tempo: 134 | beats: 65.568589 | XXOO