A simple webui to control PulseAudio (or Pipewire) and any mediaplayer with MPRIS on linux. This project was just created since all software I found in this direction was deprecated or not working, so I created my own.
We rewrite it in rust.
Status: 07.26.2024: Its Rewritten! But we still fix bugs and add more features.
- Dashboard
- Controls
- Music
- Mixer
- Settings
- auto update
- A PC running linux
- A recent JRE / JDK version, minimum is Java 18
- An audio server compatible with pactl (tested on Pipewire)
- Maven for building the project
- Change the allowed hosts like you need them in
src/main/java/me/theredstonedevde/pawebctl/WebServer.java
(line 18-23)
...
public class WebServer {
private static final String[] APPROVED_IP_ADDRESSES = {
"192.168.21.117", //host pc
"192.168.21.118", //controlpanel or client for the web interface
"127.0.0.1" //localhost
};
...
- Configure the MPRIS interface (optional if you use the plasma-browser-extension) in
src/main/java/me/theredstonedevde/mprisctl/MPRISctl.java
(line 13-18)
...
PlasmaBrowserExtension pbe;
DBusConnection dbusconnection;
String MPRIS_BUSNAME = "org.mpris.MediaPlayer2.plasma-browser-integration"; // <--- change busname
String MPRIS_OBJECTPATH = "/org/mpris/MediaPlayer2"; // <--- change objectpath (only required in some cases)
public void init() {
try {
...
You can get these values by using the program d-feet. You just open the program switch to "Session Bus", filter for mpris and grab the player you want to control.
Now you are ready to compile the code!
-
Go to the repository root and execute
mvn install dependency:copy-dependencies
. The process should complete with "BUILD SUCCSESSFUL" if not you're always welcome to create an issue! -
Run the program! Run the program with
java -cp target/dependency/*:target/PaMprisController-1.0-SNAPSHOT.jar me.theredstonedevde.pawebctl.WebServer
-
Open the webui! The webui runs under http://127.0.0.1:8193/ or http://<your pc's IP here>:8193/