Crates.io | midiboard |
lib.rs | midiboard |
version | 0.3.3 |
source | src |
created_at | 2022-10-26 13:29:02.094865 |
updated_at | 2022-11-05 04:48:02.828319 |
description | CLI tool to trigger arbitrary commands using any MIDI 1.0 compatible device. |
homepage | https://github.com/aordano/midiboard |
repository | https://github.com/aordano/midiboard |
max_upload_size | |
id | 697821 |
size | 147,304 |
CLI tool to trigger arbitrary commands using any MIDI 1.0 compatible device.
This tool lets the user associate any executable commands to actions in one or more MIDI devices, like changing volume, altering backlight level, changing a song, starting/stopping a service, or launching any script/executable, on the press of a button or turn of a knob.
To use this software you need to install it, define a configuration, and then either run at-will or daemonize the process. The most cumbersome part, of course is writing the configuration file.
For details check the docs.
cargo install midiboard
Clone
git clone https://github.com/aordano/midiboard.git
Build
cd midiboard
cargo build --release
Copy binary
sudo cp ./target/release/midiboard /usr/bin/midiboard
For details on the configuration file check the config docs page.
For help using the CLI, there is integrated help via the --help
flag.
This will create it at $HOME/midiboard.json
. Optionally add a --path
flag to change the output location:
midiboard config --generate
Get the name of your device and put it in the device
field in the config:
midiboard devices --list
Listen to the input to know what Is the numerical key value of your chosen knob/button/key:
midiboard devices --input [DEVICE_NAME]
With that value you can fill the corresponding entry on the config file.
By default it will expect a config file at $HOME/midiboard.json
.Optionally add a --path
flag to change the output location:
midiboard run
Get the service file
wget -O midiboard.service https://raw.githubusercontent.com/aordano/midiboard/master/schema/midiboard.service
Patch and move the service file
sed -i "s/@USER@/$(whoami)/g" midiboard.service
sudo mv midiboard.service /etc/systemd/system/midiboard.service
The file uses the default config location. Modify the service file if you have an alternate path for the config file (add the --path
flag).
Enable the service
sudo systemctl daemon-reload
sudo systemctl enable --now midiboard