Hi there! We're delighted that you'd like to contribute to this project. It has been generous collaboration from many people all over the world that has made it possible so far, and your help is key to keeping it great.
Contributions to this project are released to the public under the project's open source license.
This project adheres to the Contributor Covenant Code of Conduct. By participating, you are expected to uphold this code.
Before you can start contributing to Beat Link Trigger, you'll need to set up your environment. Fork and clone the repo and install Clojure (for compiling and running the code) and Leiningen (to manage the project dependencies and builds). Both of these rely on having a working Java runtime; if the mechanism you used to install them did not automatically include one, I recommend installing a current long-term-support version of the OpenJDK which as of this writing is OpenJDK 11. Most Beat Link Trigger development uses Amazon Corretto 11, although the building of notarized macOS disk images relies on OpenJDK 14.
Starting with version 0.5.3, you also need to have Antora installed because it is used to build the embedded copy of the User Guide when building and running from source. It uses
npm
to install and run itself, so you will need to have a recentnode
version installed, and runnpm install
within this directory to get that set up.If you are impatient to get started without doing that, you can temporarily comment out the section of
project.clj
that needs it. Add a semicolon to the:prep-tasks
line so that it looks like this:
:prep-tasks [ ; ["shell" "npm" "run" "local-docs"]
But keep in mind that if you do this, the built-in user guide will not work, and you will not be able to create a release-worthy build until you install Antora and restore the line to its un-commented state.
Once you have those in place, you can run BLT from source by opening a
terminal window inside your clone of the project, and typing lein repl
. You will see a bunch of output as the embedded copy of the User
Guide is generated by Antora and the images are copied in, and then
Clojure will start, with output similar to this:
REPL-y 0.4.3, nREPL 0.6.0
Clojure 1.10.1
OpenJDK 64-Bit Server VM 11.0.5+10-LTS
beat-link-trigger loaded.
beat-link-trigger.core=>
At that point you can type (start)
to launch the BLT user interface
and go online, or, if you want to start out offline because you are
working without any Pioneer gear on the network, (start true)
. In
either case, type Return or Enter to complete the command. Once the UI
is up, the REPL prompt will return, and you can poke around at viewing
and redefining functions and variable bindings.
Of course to do any serious work, you will want some sort of editor with embedded REPL support, and ideally structural editing support for Lisp s-expressions. We find GNU Emacs with CIDER to be an incredibly productive environment for Clojure work, but some of our colleagues swear by IntelliJ IDEA (even the free Community Edition) with Cursive, so use whatever IDE or editor works best for you.
For testing you are going to want some Pro DJ Link hardware on your network, and a wired network is necessary for realistic performance. If you will be trying to analyze the protocols, you will probably want to invest in an inexpensive managed switch, to let you span (mirror) ports, so you can listen in on the traffic players and mixers send between themselves. The Netgear GS105Ev2 has worked great for us.
Once you have something working you’d like to share, you can open a pull request.
Or if you simply have an idea, or something that you wish worked differently, feel free to open an issue if it seems like nobody already has.
Beat Link Trigger is primarily maintained by @brunchboy.
Copyright © 2016–2024 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.