As described on the main organization page, here are other projects which feed into the primary ones mentioned above, but are designed to be usable on their own as well:
-
carabiner is a small C++ program that can be used as a loose bridge to Ableton Link for people who want to be able to synchronize with performances over that protocol.
-
lib-carabiner is a Java library which allows Carabiner to be embedded in a Java program, extracting and running the appropriate executable for the processor architecture and operating system that is detected.
-
beat-carabiner is a Clojure library that beat-link-trigger uses to synchronize the Pro DJ Link player timeline (managed by beat-link) with other instruments and software using Ableton Link (managed by lib-carabiner).
-
beat-carabiner-java is a more recent port of beat-carabiner from Clojure to Java, to make that kind of timeline synchronization more easily accessible to developers who are not working in Clojure.
-
crate-digger is a Java library for fetching and parsing rekordbox database exports and track analysis files hosted on Pioneer DJ modular music performance gear. It is used by beat-link to obtain this information more reliably than was previously possible.
-
electro is a Java library for working with musical time. It is a port of some Clojure code in afterglow to give the same capabilities to beat-link and beat-carabiner-java without requiring them to embed the Clojure runtime.
-
wayang is a Java library used by afterglow to display a user interface on the graphical display of the Ableton Push 2, and can be used by any other Java project that wants to do something similar.
-
ola-clojure is a Clojure library making it easier to communicate with the Open Lighting Architecture. It is how afterglow communicates with stage lighting.
-
bytefield-svg is a JavaScript node module that provides a Clojure-based domain-specific language for creating byte field diagrams. It is used (through asciidoctor-bytefield, described next) extensively in creating dysentery's reverse-engineering analysis of the Pro DJ Link protocol.
-
asciidoctor-bytefield is a Javascript extension to Asciidoctor.js, used to invoke bytefield-svg to create the byte field diagrams in the dysentery protocol analysis document (it is used as an extension while building the Antora site that presents the documentation.
-
graphterglow is a small Clojure project that is used to build graphs in the afterglow documentation showing how beat-related functions vary over time.
There are also a handful of other minor projects which are not libraries but which you might find useful.
-
open-beat-control provides access to a subset of features of beat-link-trigger, including tempo bridging between Pro DJ Link networks and Ableton Link, using Open Sound Control as a limited API. without the requirement of a GUI environment. It can be handy if you are already working in an environment (like PureData, Max, or TouchDesigner). But there are better approaches than OSC if you are not using such an environment, like:
-
java-beat-control-example is a starter framework for building a Java program that uses beat-carabiner-java to interact with both Pro DJ Link networks and Ableton Link networks. It provides much of the basic capabilities of open-beat-control, and is ready for you to add your own unique features using the full power of Deep Symmetry's Java APIs.
-
afterglow-max hosts afterglow inside of Max using their Java extension mechanism. Recent releases of Max have switch to JavaScript, however, and so are not suitable for such an integration.