Skip to content

Latest commit

 

History

History
113 lines (91 loc) · 4.83 KB

CONTRIBUTING.md

File metadata and controls

113 lines (91 loc) · 4.83 KB

Contributing

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.

Getting started

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 version of the OpenJDK.

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. If you are impatient to get started without doing that, you can temporarily comment out the section of project.clj that does this. Add a semicolon to the :prep-tasks line so that it looks like this:

:prep-tasks [ ; ["shell" "antora" "doc/embedded.yml"]

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 AsciiDoctorJ and the images are copied in, and then Clojure will start, with output similar to this:

REPL-y 0.4.3, nREPL 0.5.3
Clojure 1.9.0
Java HotSpot(TM) 64-Bit Server VM 1.8.0_181-b13
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.

Giving back

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.

Maintainers

Beat Link Trigger is primarily maintained by @brunchboy.

License

Deep Symmetry

Copyright © 2016–2018 Deep Symmetry, LLC

Distributed under the Eclipse Public License 1.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.