Skip to content
Java wrapper for the Carabiner bridge to Ableton Link
Java
Branch: master
Clone or download

Latest commit

Fetching latest commit…
Cannot retrieve the latest commit at this time.

Files

Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.github
doc/assets
src/main
.gitignore
CHANGELOG.md
LICENSE.md
README.md
gpl-2.0.md
pom.xml

README.md

lib-carabiner

Java wrapper for the Carabiner bridge to Ableton Link.

Licenses

lib-carabiner allows you to embed Carabiner inside a Java project, and automatically run it when needed, as long as you are running on a supported operating system and processor architecture. The combinations currently supported are:

  • Linux Intel 64 bit
  • macOS Intel 64 bit
  • Raspberry Pi (Linux ARM 32 bit)
  • Windows Intel 64 bit

Installing

lib-carabiner is available through Maven Central, so to use it in your Maven project, all you need is to include the appropriate dependency.

Maven Central

Click the maven central badge above to view the repository entry for lib-carabiner. The proper format for including the latest release as a dependency in a variety of tools, including Leiningen if you are using lib-carabiner from Clojure, can be found in the Dependency Information section.

lib-carabiner uses slf4j to allow you to integrate it with whatever Java logging framework your project is using, so you will need to include the appropriate slf4j binding on your class path.

It also uses edn-java to parse and build the Extensible Data Notation format messages used by Carabiner.

Usage

See the API Documentation for full details, but here is a nutshell guide:

The package org.deepsymmetry.libcarabiner offers a Runner singleton that manages an embedded native instance of Carabiner for you. Call getInstance() to get that singleton, and then you can call canRunCarabiner() to determine whether a native build of Carabiner is offered for the current operating system and processor architecture. If so, you can call start() to extract and run it, and stop() when you want to terminate it.

It also offers a Message class that you can construct using the response lines that Carabiner sends you, and it will parse their edn structure for you, giving you a convenient Java String and Map to work with instead.

Licenses

Deep Symmetry

Copyright © 2020 Deep Symmetry, LLC

Distributed under the Eclipse Public License 2.0. By using this software in any fashion, you are agreeing to be bound by the terms of this license. You must not remove this notice, or any other, from this software. A copy of the license can be found in LICENSE.md within this project.

The included copies of Carabiner are distributed under the GNU General Public License, version 2. A copy of the license can be found in gpl-2.0.md within this project.

You can’t perform that action at this time.