Skip to content

A utility to control the volume of PulseAudio streams / sinks / sources with a midi device

License

Notifications You must be signed in to change notification settings

solarnz/pamidicontrol

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

pamidicontrol

A utility to control the volume of PulseAudio streams / sinks / sources with a midi device

This has been tested with a KORG nanoKontrol2 on ArchLinux. The nanoKontrol2 is an in-expensive USB midi device with 8 sliders, 8 knobs and 24 buttons, which is great for having more fine-grained control over your audio setup!

Installation

You will need the portmidi library installed. In Arch, install this with pacman -S portmidi under Debian Based systems, you will need to install libportmidi-dev

go get github.com/solarnz/pamidicontrol

Configuration

pamidicontrol requires the use of a configuration file. Place the config file under $HOME/.config/pamidicontrol/config.yaml. You can checkout the example configuration file to see how to configure pamidicontrol. You must set a bare-minimum the Input and Output midi device names.

pamidicontrol will print to stderr all of the midi control messages it gets, so you can easily build up your configuration file iteratively.

Troubleshooting

panic: runtime error: invalid memory address or nil pointer dereference on startup

Make sure that the names you have configured for InputMidiName / OutputMidiName actually exist.

/usr/run/XXX/pulse/dbox-socket not found

On some distributions, PulseAudio is configured without D-Bus control by default. To enable D-Bus control for PulseAudio, add load-module module-dbus-protocol to your PulseAudio configuration file located at /etc/pulse/default.pa.

About

A utility to control the volume of PulseAudio streams / sinks / sources with a midi device

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages