CLI tool to trigger arbitrary commands using any MIDI 1.0 compatible device.
-
- 4.1. Create a skeleton
- 4.2. Define your device
- 4.3. Define each command
-
- 5.1. Manually
- 5.2. Daemonized
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