[skip-ci] Reviewed-on: #63 Co-authored-by: Renovate[BOT] <renovate-bot@auengun.net> Co-committed-by: Renovate[BOT] <renovate-bot@auengun.net> |
||
|---|---|---|
| .forgejo/workflows | ||
| assets | ||
| cmd/automidically | ||
| internal | ||
| .gitignore | ||
| .renovaterc.json5 | ||
| .version | ||
| .versionrc | ||
| CHANGELOG.md | ||
| example_config.yml | ||
| flake.lock | ||
| flake.nix | ||
| go.mod | ||
| go.sum | ||
| LICENSE.md | ||
| Makefile | ||
| README.md | ||
AutoMIDIcally
AutoMIDIcally takes MIDI inputs and converts them into pulse-audio volume controls and shell scripts. The major feature is being able to control the volumes for applications independently by mapping real faders to the same applications you'd see in the Volume Mixer. There is also some small integrations with shell actions based on button inputs, so if you can control it from the command line you should be able to control it through your MIDI device.
The reason I made this is because I was frustrated with "Power Mixer" disconnecting from my MIDI device and just generally misbehaving and being way more than I really wanted to have for simply mapping a fader to an application. It also didn't allow the flexibility that I really wanted to have with easily mapping multiple applications to a mixer without multiple menus and duplicating GUI settings, it wasn't as quick as open text file, edit, save.
Usage
Take a look at the example config to see the configuration parameters. The will search for MIDI devices with a particular name and then take a mapping of application names (or shell actions) that will control when a signal is received.
Command Line Parameters
config - Specify a filepath for the config.yml to be read from. Defaults to config.yml in the working directory.
log_level - Specify the minimum log level required for entries to appear in the log file. Default info.
log_path - Location to store the logging information. Defaults to automidically.log in the working directory.
profile_cpu - A filepath to log the cpu.pprof information from Golang. Default is empty, which disables this from happening.
profile_memory - A filepath to log the memory.pprof information from Golang. Default is empty, which disables this from happening.
