automidically/README.md
GregoryDosh a9f79bdbff
All checks were successful
Update Version / Update Version (push) Successful in 2s
docs: trivial change for ci test
2024-11-24 18:29:28 -06:00

17 lines
No EOL
1.9 KiB
Markdown

# AutoMIDIcally
![nanoKONTROL2](/assets/nanoKONTROL2%20Example.png "Example of a nanoKONTROL2 with faders labeled with icons.")
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](example_config.yml) 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.