aboutsummaryrefslogtreecommitdiffstats
path: root/readme.md
blob: be2269b1a6cd8b3ec56e8ad312951a109f63e511 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
# Solo Tool

This tool is designed to facilitate learning songs, and solos in particular, by slowing down playback and automatically jumping to predefined points in the song.

## Dependencies

Python dependencies are listed in the pyproject.toml files of the different projects and should be automatically installed by `pip`.

Non-Python dependencies are listed in pacman.txt and should be manually installed before running `make`.

## Usage

To set up the environment and run the tests, run `make`:

```
make
```

The web GUI can also be run with `make`:

```
make gui
```

Alternatively, the tool can be executed in headless mode. In this case all it does is load the provided session and connect to the MIDI controller:

```
./venv/bin/solo_tool_cli
```

## MIDI

It is currently possible to control the tool with MIDI. With the device plugged in, a connection is automatically established by the CLI. Currently the only device supported is the Novation Launchpad Mini Mk II.

The MIDI device button mapping is documented in `doc/diagram.drawio`.

## Tests

For the automated tests, run:

```
make test
```

or just

```
make
```

## Architecture

More details on the architecture are available in `doc/diagram.drawio`.