Want to control Roon from your keyboard on linux? You can run Roon on Wine which allows you to select albums to play or whatever, but this does not hook up to the standard media controller buttons (PLAY, PAUSE, NEXT, PREV) used on Ubuntu, MPRIS.
This little script aims to provide a way to have MPRIS (i.e. your linux box) control Roon's basic functions, like Play, Pause, Next and Previous. That's all it does.
- Install this software
npm install -g github:brucejcooper/roon-mpris
- run the script from any directory
Note that this will create a configuration file in
roon-mpris
${HOME}/.config/roon-mpris
. - In your existing Roon application (phone or desktop) Go to
Roon
->Settings
->Extensions
. You should see the "MPRIS adapter" under my name. Enable the Extension - The button will change name to "Settings". Click on it, and select the zone you wish to control from your computer.
- Use your keyboard to control playback. Supported keys are PLAY/PAUSE, STOP (which appears to just pause), NEXT and PREV
the Roon API uses UDP multicast packets to discover Roon cores on the same subnetwork. Some laptops (like my work one) block these packets, requiring you to connect directly to the host running the core. Run roon-mpris --help
to see the options that allow you to do this.
You can also specify a log level (try all
) that the API uses to report what is going on. That might help
I had a couple of situations where I thought it was broken, but it turned out I just hadn't enabled and configured my plugin in roon. Make sure you do that.
I based this work off the following packages
- Roon's API
- mpris-service
- roon-extension-linuxkeyboardremote - I used this as a starting point, then added the MPRIS support
- Make this start on system login, possibly with a little icon thingy..
- Volume Support - Ubuntu uses the volume keys to control its own system volume. I don't want to subvert that, but it would also be nice to have them control roon volume... not sure what to do here.
- Remote control support. This might be more of something for RoPieee XL, to allow a BLE remote control to control stuff.