Added README
Signed-off-by: Louis Vallat <louis@louis-vallat.xyz>
This commit is contained in:
parent
efcb93250a
commit
85da87c3d9
51
README.md
Normal file
51
README.md
Normal file
@ -0,0 +1,51 @@
|
|||||||
|
# Gitlab CI Launchpad Mini Controller
|
||||||
|
|
||||||
|
> And it's in Rust 🦀!
|
||||||
|
|
||||||
|
![Launchpad Mini](https://imgur.com/sdLy3XK.png)
|
||||||
|
|
||||||
|
## Aim
|
||||||
|
|
||||||
|
I wanted to use my Launchpad Mini in a way that was original and useful to me,
|
||||||
|
as I don't produce music. The Launchpad is a glorified MIDI pad with some LEDs,
|
||||||
|
and as a MIDI device, it can be interfaced with to do pretty much anything with
|
||||||
|
it.
|
||||||
|
|
||||||
|
I used mainly two libraries for this project:
|
||||||
|
|
||||||
|
- [gitlab](https://crates.io/crates/gitlab) to interact with the Gitlab API
|
||||||
|
- [launchy](https://crates.io/crates/launchy) to interact with the Launchpad
|
||||||
|
|
||||||
|
These two libraries are maintained at the moment this README is being written.
|
||||||
|
|
||||||
|
## Building
|
||||||
|
|
||||||
|
As any other `cargo` project, it can be built with a simple command:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
cargo build --release
|
||||||
|
```
|
||||||
|
|
||||||
|
## Configuring
|
||||||
|
|
||||||
|
The configuration is done through a JSON file, named `config.json` and located
|
||||||
|
in the current working directory. An example configuration file is provided,
|
||||||
|
`config.json.example`.
|
||||||
|
|
||||||
|
The abs\_x and abs\_y coordinate are defined using the top-left grid tile as
|
||||||
|
the origin.
|
||||||
|
|
||||||
|
Clicking on a tile opens the corresponding web page for the project linked to
|
||||||
|
this tile. Clicking on the `A` button will light it up, it is the restart button.
|
||||||
|
If you click on a tile with the `A` button lit up, it will retry or create a
|
||||||
|
new pipeline for this project and for this ref. You can disengage the restart
|
||||||
|
mode by pressing again the `A` button.
|
||||||
|
|
||||||
|
## Limitations
|
||||||
|
|
||||||
|
This project has some limitations right now, and some of them will be fixed:
|
||||||
|
|
||||||
|
- the program is able to talk to one and only one gitlab API right now
|
||||||
|
- the configuration file has to be in the current working directory
|
||||||
|
- only one page is allowed, but 8 could be leveraged later using the 8 selectors
|
||||||
|
|
Loading…
Reference in New Issue
Block a user