Control cmus with Media Keys ⏪
The project outlines as described in my blog post about Open Source Software Collaboration.
- The main purpose of this software is to provide support for cmus under macOS. Cmus can be controlled by the Media Keys of your Apple Keyboard.
- The feature set is restricted because this software already provides the intended features. But still, feel free to request features.
- At least macOS 10.8.
cmake
to build it.- Since Cmus Control doesn't have the behavior of changing any foreign processes it's highly recommended to deactivate the Remote Control Daemon.
- cmus installed. ;)
You can either install Cmus Control via Homebrew or manually. The preferred method of installation is via Homebrew.
-
Add the
thefox/brewery
tap to brew.$ brew tap thefox/brewery
-
Actual installation
$ brew install cmus-control
-
After a successful installation follow the Caveats output, start the service:
$ brew services start thefox/brewery/cmus-control
Or, if you don't want/need a background service you can just run
$ cmuscontrold
- You need to install cmake:
brew install cmake
- Run
./bin/install.sh
to compile Cmus Control Daemon and installcmuscontrold
under/usr/local/bin
path. A launchd.plist file namedat.fox21.cmuscontrold.plist
will be created under~/Library/LaunchAgents
to start Cmus Control Daemon automatically on login.
If you just want to compile Cmus Control Daemon without installing run ./bin/build_release.sh
. The binary will be created at build/release/bin/cmuscontrold
.
For a debugging version you can run ./bin/build_debug.sh
. The binary will be created at build/debug/bin/cmuscontrold
.
Just run ./bin/uninstall.sh
. Doing so
cmuscontrold
will be unloaded vialaunchctl
;~/Library/LaunchAgents/at.fox21.cmuscontrold.plist
will be removed;/usr/local/bin/cmuscontrold
will be removed.
After a successful manual installation the cmuscontrold
is loaded/started automatically with launchctl
. You can unload the daemon manually:
$ ./bin/lctl_unload.sh
Or load it manually:
$ ./bin/lctl_load.sh
After changing the source code you might want to re-build the binary and re-install it.
./bin/lctl_unload.sh
./bin/cleanup.sh
./bin/install.sh
./bin/lctl_load.sh