Skip to content

Latest commit

 

History

History
100 lines (78 loc) · 4.19 KB

CONTRIBUTING.md

File metadata and controls

100 lines (78 loc) · 4.19 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 Open Beat Control, 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.

If you want to be able to preview changes to the User Guide, you also need to have Antora installed.

Once you have those in place, you can run OBC 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.5.3
Clojure 1.9.0
Java HotSpot(TM) 64-Bit Server VM 1.8.0_181-b13
open-beat-control loaded.
open-beat-control.core=>

At that point you can type (-main) to start the OSC server and tell Beat Link to go online. Type Return or Enter to complete the command. Once the background processes have started, 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

Open Beat Control is primarily maintained by @brunchboy.

License

Deep Symmetry

Copyright © 2019–2022 Deep Symmetry, LLC

Distributed under the Eclipse Public License either version 2.0 or (at your option) any later version. 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.