Skip to content

Commit

Permalink
Enable running from jar
Browse files Browse the repository at this point in the history
  • Loading branch information
plexus committed Nov 19, 2023
1 parent 4e9117c commit 47eee34
Show file tree
Hide file tree
Showing 4 changed files with 177 additions and 133 deletions.
54 changes: 42 additions & 12 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,19 +7,49 @@ Digital clone of an analog synthesizer using Overtone and Quil

## Prerequisites

Install the [Clojure CLI tools](https://clojure.org/guides/install_clojure)
- You need a reasonably recent Java installation, MiniBeast has been tested with OpenJDK 17 (Termurin)
- On some platforms you will have to [install SuperCollider](https://supercollider.github.io/downloads.html). We generally recommend you do this if you have any trouble running MiniBeast. Overtone/MiniBeast can run with its own embedded SuperCollider, but it frequently causes issues.
- To run from source you need the Clojure CLI tools

## Running
## Running from JAR

Download the latest `.jar` file from the Github [Releases](https://github.com/overtone/mini-beast/releases) page.

Invocations:

```shell
java -jar minibeast-<version>.jar
java -jar minibeast-<version>.jar --help
java -jar minibeast-<version>.jar --sc-boot-external

scsynth -u 12345
java -jar minibeast-<version>.jar --sc-udp-port 12345
```

Help:

```
-·~=:#{[ ···Overtone···MINIBEAST··· ]}#:=~·-
minibeast [options] [patch-a] [patch-b]
-x, --sc-boot-external Boot a separate SuperCollider server process, instead of starting an embedded server.
-u, --sc-udp-port PORT Connect to an external SuperCollider server over UDP at the given port, instead of starting an embedded server.
-v, --verbose 0 Verbosity level
-h, --help
```

## Running from source

You need the [Clojure CLI tools](https://clojure.org/guides/install_clojure) for this. You may also have to.

```
git clone https://github.com/overtone/mini-beast.git
cd mini-beast
clojure -M -m minibeast.core
```

This will try to use the Overtone internal (embedded) SuperCollider. There are
several scenarios in which this may not work (Mac M1/M2, Windows 64 bit, Linux
with Pipewire). Check the [[Troubleshooting]] section below for how to fix that.
The above advice about running an external SuperCollider still applies, you can use the same CLI flags (`--sc-boot-external`, `--sc-udp-port`).

## Tips

Expand All @@ -30,6 +60,12 @@ with Pipewire). Check the [[Troubleshooting]] section below for how to fix that.

## Troubleshooting

### It runs but there's no sound

Check that your outputs are connected. On Linux this is done by connecting
Overtone to your audio interface through Jack or PipeWire. Programs that can do
this are `qjackctl` (Jack or Pipewire) or `qpwgraph` (Pipewire only).

### Can't start SuperCollider

If the embedded SuperCollider doesn't work for some reason, then [install
Expand All @@ -52,15 +88,9 @@ of the `pipewire-jack` package.

```
scsynth -u 12345
pw-jack clojure -M -m minibeast-core --sc-udp-port 12345
pw-jack java -jar minibeast.jar --sc-udp-port 12345
```

### It runs but there's no sound

Check that your outputs are connected. On Linux this is done by connecting
Overtone to your audio interface through Jack or PipeWire. Programs that can do
this are `qjackctl` (Jack or Pipewire) or `qpwgraph` (Pipewire only).

## A call for patches

MiniBeast loads a default patch, but we need your help! There is a world of
Expand Down
9 changes: 8 additions & 1 deletion deps.edn
Original file line number Diff line number Diff line change
Expand Up @@ -7,4 +7,11 @@
#_#_:local/root "../overtone"}
quil/quil {:mvn/version "4.3.1323"}
commons-collections/commons-collections {:mvn/version "20040616"}
org.clojure/tools.cli {:mvn/version "1.0.219"}}}
org.clojure/tools.cli {:mvn/version "1.0.219"}}

:aliases
{:uberjar {:replace-deps {com.github.seancorfield/depstar {:mvn/version "2.1.303"}}
:exec-fn hf.depstar/uberjar
:exec-args {:aot false
:main-class minibeast.main
:compile-ns [minibeast.main]}}}}
Loading

0 comments on commit 47eee34

Please sign in to comment.